<?xml version="1.0"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>CKAN: Ticket Query</title>
    <link>http://localhost/query?status=!closed&amp;repo=ckan&amp;desc=1&amp;order=status</link>
    <description>The open source data portal software</description>
    <language>en-US</language>
    <image>
      <title>CKAN</title>
      <url>http://assets.okfn.org/p/ckan/img/ckan_logo_shortname.png</url>
      <link>http://localhost/query?status=!closed&amp;repo=ckan&amp;desc=1&amp;order=status</link>
    </image>
    <generator>Trac 0.12.3</generator>
    <item>
        <link>http://localhost/ticket/350</link>
        <guid isPermaLink="false">http://localhost/ticket/350</guid>
        <title>#350: Search engine optimisation</title>
        <pubDate>Tue, 15 Jun 2010 09:35:41 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
Need to research what can easily be done to improve CKAN packages in the search rankings.
&lt;/p&gt;
&lt;p&gt;
Comments from Glen Barnes:
&lt;/p&gt;
&lt;p&gt;
We've been pretty successful at SEO without even really trying (see &lt;a class="ext-link" href="http://www.google.co.nz/search?client=safari&amp;amp;rls=en&amp;amp;q=auckland+google+transit+feed&amp;amp;ie=UTF-8&amp;amp;oe=UTF-8&amp;amp;redir_esc=&amp;amp;ei=dsYSTOzJLs2eceuZiI8I"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://www.google.co.nz/search?client=safari&amp;amp;rls=en&amp;amp;q=auckland+google+transit+feed&amp;amp;ie=UTF-8&amp;amp;oe=UTF-8&amp;amp;redir_esc=&amp;amp;ei=dsYSTOzJLs2eceuZiI8I&lt;/a&gt; as an example). This to me is key. If we are to make data available it has to be findable which is the main reason for a catalogue. There are probably things we should be doing on CKAN like using slugged urls (&lt;a class="ext-link" href="http://www.ckan.net/package/ascoe"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://www.ckan.net/package/ascoe&lt;/a&gt; -&amp;gt; &lt;a class="ext-link" href="http://www.ckan.net/package/ascoe/atmospheric-chemistry-studies-in-the-oceanic-environment"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://www.ckan.net/package/ascoe/atmospheric-chemistry-studies-in-the-oceanic-environment&lt;/a&gt;), setting the H1 tag correctly ("Atmospheric Chemistry Studies in the Oceanic Environment"  on the example above). Some basic SEO 101 on page optimisations.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/350#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1341</link>
        <guid isPermaLink="false">http://localhost/ticket/1341</guid>
        <title>#1341: Delete spam users from ckan</title>
        <pubDate>Wed, 14 Sep 2011 10:10:34 GMT</pubDate>
        
        <dc:creator>kindly</dc:creator>

        <description>&lt;p&gt;
Spam users where added to thedatahub and we need to clean them.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1341#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2202</link>
        <guid isPermaLink="false">http://localhost/ticket/2202</guid>
        <title>#2202: Display page view count on dataset and resource pages</title>
        <pubDate>Sat, 03 Mar 2012 09:04:15 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
Just like we display download counts we should display view counts.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2202#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2243</link>
        <guid isPermaLink="false">http://localhost/ticket/2243</guid>
        <title>#2243: Fix ckanext-example</title>
        <pubDate>Mon, 19 Mar 2012 15:58:30 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description></description>
        <category>Results</category>
        <comments>http://localhost/ticket/2243#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2331</link>
        <guid isPermaLink="false">http://localhost/ticket/2331</guid>
        <title>#2331: Search should AND terms not OR terms</title>
        <pubDate>Sat, 28 Apr 2012 18:24:45 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
Appears current default search in CKAN ORs terms rather than ANDing them (i.e. adding more terms increasing number of items found rather than reducing it).
&lt;/p&gt;
&lt;p&gt;
Not sure when this crept in or if it has been there for a long time.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2331#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/331</link>
        <guid isPermaLink="false">http://localhost/ticket/331</guid>
        <title>#331: Timezone of CKAN timestamps should be configurable</title>
        <pubDate>Mon, 31 May 2010 10:40:40 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
Revisions are timestamped using the server's clock, which may not relate to the expected timezone for the site. e.g. the Norway site has a server on GMT. No timezone info is displayed either.
&lt;/p&gt;
&lt;p&gt;
Would like to set timezone for a CKAN instance to use in rendering revision timestamps. For example, use CET or EST timezone.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/331#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/351</link>
        <guid isPermaLink="false">http://localhost/ticket/351</guid>
        <title>#351: Homepage: list new, updated and 'hot' packages</title>
        <pubDate>Tue, 15 Jun 2010 09:56:56 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
Have a simpler list of exciting data, as opposed to the big revision list.
&lt;/p&gt;
&lt;p&gt;
For example:
&lt;/p&gt;
&lt;pre class="wiki"&gt;Hot data
===========
New packages: package1, package2, package3
Updated resources: package1, package2, package3
Popular packages:
&lt;/pre&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/351#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/369</link>
        <guid isPermaLink="false">http://localhost/ticket/369</guid>
        <title>#369: "Package Listing Key" should appear on Tag results</title>
        <pubDate>Thu, 22 Jul 2010 18:00:34 GMT</pubDate>
        
        <dc:creator>shudson@…</dc:creator>

        <description>&lt;p&gt;
Currently there's a nice legend titled "Package Listing Key" that appears in right side of "Browse Packages" results. The same key should show on other search results like when searching for a tag.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/369#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/370</link>
        <guid isPermaLink="false">http://localhost/ticket/370</guid>
        <title>#370: Use better email encryption for author_email and maintainer_email</title>
        <pubDate>Thu, 22 Jul 2010 18:03:39 GMT</pubDate>
        
        <dc:creator>shudson@…</dc:creator>

        <description>&lt;p&gt;
The &lt;a class="missing wiki"&gt;JavaScript?&lt;/a&gt; email encryption used is not very reassuring. Google's &lt;a class="missing wiki"&gt;MailHide?&lt;/a&gt; is a much better solution that is easily implemented.
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://www.google.com/recaptcha/mailhide/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://www.google.com/recaptcha/mailhide/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Check on the Mailhide API where there are even some Python libraries already built.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/370#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/653</link>
        <guid isPermaLink="false">http://localhost/ticket/653</guid>
        <title>#653: Trackback links for packages</title>
        <pubDate>Tue, 21 Sep 2010 09:40:25 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
When people link to a package, a track-back link is auto-created. (Similar system as for blogs).
&lt;/p&gt;
&lt;p&gt;
As suggested by Tim Davies:
&lt;/p&gt;
&lt;p&gt;
Allowing some form of ‘track back’ against datasets
When a non-technical user comes to look at a dataset it would be really useful for them to be able to see if anyone has created an interface interpretation of it already.
&lt;/p&gt;
&lt;p&gt;
I found quite a few cases in research of end-users struggling to make sense of a dataset when good interfaces to that data had already been built and blogged about, but without there being any link from the dataset listing to those data uses.
Accepting track backs could also make it easier for technical users to find blog posts / shared code etc. relating to a given dataset.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/653#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/737</link>
        <guid isPermaLink="false">http://localhost/ticket/737</guid>
        <title>#737: Markdown syntax summary page</title>
        <pubDate>Fri, 22 Oct 2010 16:59:09 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
I suggest we produce a quick Markdown cheat-sheet page, showing the key runes: e.g. create a title and quote some text. This page can link to the full Markdown docs for advanced users.
&lt;/p&gt;
&lt;p&gt;
A user going to the Markdown docs that we link will have to read a couple of pages of the raison-d'etre of Markdown before he gets to the syntax. And it's not very easy to read, and being white on black it looks like proper geek stuff.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/737#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/811</link>
        <guid isPermaLink="false">http://localhost/ticket/811</guid>
        <title>#811: Extra field editing form layout breaks when there are long field names</title>
        <pubDate>Wed, 17 Nov 2010 11:53:32 GMT</pubDate>
        
        <dc:creator>cygri</dc:creator>

        <description>&lt;p&gt;
The layout of the editing section for extra fields breaks when a field name is slightly too long. Field names jump over to the right. See &lt;a class="ext-link" href="http://ckan.net/package/edit/dbpedia"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://ckan.net/package/edit/dbpedia&lt;/a&gt; for examples.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/811#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/812</link>
        <guid isPermaLink="false">http://localhost/ticket/812</guid>
        <title>#812: Package edit form only allows three extra fields</title>
        <pubDate>Wed, 17 Nov 2010 11:56:50 GMT</pubDate>
        
        <dc:creator>cygri</dc:creator>

        <description>&lt;h1 id="Rationale"&gt;Rationale&lt;/h1&gt;
&lt;p&gt;
The package edit form is restricted to three extra fields. To enter more than three fields, one has to save the package and hit edit again (or hit preview).
&lt;/p&gt;
&lt;h1 id="Implementation"&gt;Implementation&lt;/h1&gt;
&lt;p&gt;
A mechanism similar to the one for resources (where you can add lines as you go) would solve this. So, have a button that adds more extra field rows via JS. (Extra fields don't need up/down buttons that the Resource table has)
&lt;/p&gt;
&lt;p&gt;
Nice to have: a blank field is added when you tab from the last filled-in field in the table.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/812#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/818</link>
        <guid isPermaLink="false">http://localhost/ticket/818</guid>
        <title>#818: Rethinking the author and maintainer fields</title>
        <pubDate>Wed, 17 Nov 2010 14:18:44 GMT</pubDate>
        
        <dc:creator>cygri</dc:creator>

        <description>&lt;p&gt;
The semantics of the Author and Maintainer fields are really unclear at the moment. This leads to very inconsistent usage. Also, perhaps Name and Email are not the only fields that are needed for a contact.
&lt;/p&gt;
&lt;p&gt;
Here is a table that shows the current usage of these fields in CKAN:
&lt;a class="ext-link" href="http://richard.cyganiak.de/2010/ckan/ckan-ppl.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://richard.cyganiak.de/2010/ckan/ckan-ppl.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
We note several problems:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Author and Maintainer are often the same
&lt;/li&gt;&lt;li&gt;Author and Maintainer are often used interchangeably
&lt;/li&gt;&lt;li&gt;People really want to specify URLs for the contacts and stick them into random places because there is no field for it
&lt;/li&gt;&lt;li&gt;Multiple comma-separated names in a single field
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
I'm not sure what to do about this, but a redesign is necessary in my opinion.
&lt;/p&gt;
&lt;p&gt;
Some ideas:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Remove the maintainer field?
&lt;/li&gt;&lt;li&gt;Make really clear that Author doesn't refer to the metadata on CKAN, but to the original data
&lt;/li&gt;&lt;li&gt;Add an “author URL” field?
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/818#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/837</link>
        <guid isPermaLink="false">http://localhost/ticket/837</guid>
        <title>#837: CKAN integration with freebase gridworks / google refine</title>
        <pubDate>Tue, 30 Nov 2010 18:10:09 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
Thread: &lt;a class="ext-link" href="http://lists.okfn.org/pipermail/ckan-discuss/2010-November/000718.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://lists.okfn.org/pipermail/ckan-discuss/2010-November/000718.html&lt;/a&gt;
&lt;/p&gt;
&lt;h3 id="Scenario1"&gt;Scenario 1&lt;/h3&gt;
&lt;ol&gt;&lt;li&gt;User installs Refine and CKAN extension for refine
&lt;/li&gt;&lt;li&gt;On booting refine and asked to load data they can choose from any data package on CKAN.net (or any other CKAN instance)
&lt;/li&gt;&lt;li&gt;They edit the dataset on Refine
&lt;/li&gt;&lt;li&gt;On save (or perhaps as a separate option) they are prompted as to whether they wish  to sync the dataset back to CKAN (either as a new package or as a new resource on the existing package)
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
NB: for the dataset sync back some form of "CKAN" storage would be
required (we already have storage.ckan.net running but a closer
integration would be required)
&lt;/p&gt;
&lt;h3 id="Scenario2"&gt;Scenario 2&lt;/h3&gt;
&lt;ol&gt;&lt;li&gt;User visits a package on CKAN.net (or another CKAN instance)
&lt;/li&gt;&lt;li&gt;There is a button on the page "View and edit this dataset in Google Refine"
&lt;/li&gt;&lt;li&gt;Click button -- ask them if they have Google refine installed
&lt;ul&gt;&lt;li&gt;Yes: instructions for loading dataset into refine
&lt;/li&gt;&lt;li&gt;No: load dataset in hosted version of google refine (we could run this)
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;User edits dataset and hits save. As in previous scenario they are prompted to sync the dataset.
&lt;/li&gt;&lt;/ol&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/837#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/895</link>
        <guid isPermaLink="false">http://localhost/ticket/895</guid>
        <title>#895: Add version number (or simular) to css/js includes query string</title>
        <pubDate>Thu, 06 Jan 2011 19:49:42 GMT</pubDate>
        
        <dc:creator>memespring</dc:creator>

        <description>&lt;p&gt;
Updates to css after a new deploy don't come through without a hard refresh. Adding the version number to the include urls will solve this e.g.
&lt;/p&gt;
&lt;p&gt;
mycssfile.css?v=12345678
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/895#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/924</link>
        <guid isPermaLink="false">http://localhost/ticket/924</guid>
        <title>#924: Search box has no search button</title>
        <pubDate>Mon, 24 Jan 2011 11:12:13 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
The search box at the top-right of CKAN's page doesn't have a 'go' button. I feel that a larger percentage of users expect a 'go' or 'search' button on the right-hand side of the box to press to start searching. Techies tend to know the keyboard shortcut of pressing 'carriage-return' but it might be better to follow standard practise on this.
&lt;/p&gt;
&lt;p&gt;
Examples with 'search' button: Internet Explorer, Firefox, Google, Amazon, trac
Examples without: ?
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/924#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/989</link>
        <guid isPermaLink="false">http://localhost/ticket/989</guid>
        <title>#989: Extending the model from plugins</title>
        <pubDate>Mon, 14 Feb 2011 13:22:04 GMT</pubDate>
        
        <dc:creator>pudo</dc:creator>

        <description>&lt;p&gt;
We need to support extending the model from plugins. This could involve:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Adding a plugin hook to extend the mapper
&lt;/li&gt;&lt;li&gt;Adding an upgrade hook for plugin schema migrations
&lt;/li&gt;&lt;li&gt;Documenting how this is to be done
&lt;/li&gt;&lt;li&gt;Find a way to avoid conflicts
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/989#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1009</link>
        <guid isPermaLink="false">http://localhost/ticket/1009</guid>
        <title>#1009: Improvements to user accounts sytem</title>
        <pubDate>Fri, 25 Feb 2011 12:13:11 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;ul&gt;&lt;li&gt;Forgot password (email a new password)
&lt;/li&gt;&lt;li&gt;Confirm email
&lt;/li&gt;&lt;li&gt;Do not show register page if you are logged in (redirect to home page)
&lt;/li&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/1010" title="enhancement: List CKAN users in WUI (closed: fixed)"&gt;ticket:1010&lt;/a&gt; - listing of users.
&lt;ul&gt;&lt;li&gt;Do not use /user for general user account home page (either user normal user page /user/{id} or /user/myaccount)
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1009#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1077</link>
        <guid isPermaLink="false">http://localhost/ticket/1077</guid>
        <title>#1077: Move to simpler vdm system</title>
        <pubDate>Fri, 08 Apr 2011 23:14:24 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;h2 id="Option1:ChangesetModel"&gt;Option 1: 'Changeset' Model&lt;/h2&gt;
&lt;p&gt;
See &lt;a class="assigned ticket" href="http://localhost/ticket/1135" title="enhancement: Changeset model for vdm (assigned)"&gt;ticket:1135&lt;/a&gt; for vdm ticket. This would involve a) moving to changeset in vdm b) doing the migration in ckan to support this.
&lt;/p&gt;
&lt;p&gt;
Have developed a new "changeset" based model for revisioning in vdm.
&lt;/p&gt;
&lt;h3 id="Implementation"&gt;Implementation&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;The main challenge with this change is schema and data migration
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Every revisioned object has a revision_id and revision attribute.
&lt;/p&gt;
&lt;p&gt;
Approximate algorithm:
&lt;/p&gt;
&lt;pre class="wiki"&gt;Revision -&amp;gt; Changeset
for revtype in [PackageRevision, ...]:
    for pkgrev in package_revision:
        changeset = lookupchangeset(package_revision)
        ChangeObject(cset, (table, id), dictize(pkgrev))
&lt;/pre&gt;&lt;p&gt;
Question:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;does pkg include tags attributes or not? or we have to dictize, pkgrev, pkg2tagrev, and tag. Probably the latter.
&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="Option2:SimplifyRevisionObjectModel"&gt;Option 2: Simplify Revision Object Model&lt;/h2&gt;
&lt;p&gt;
Just use a simpler vdm, see &lt;a class="assigned ticket" href="http://localhost/ticket/1136" title="enhancement: Move to SessionExtension in vdm (assigned)"&gt;ticket:1136&lt;/a&gt; (move to SessionExtension) and &lt;a class="assigned ticket" href="http://localhost/ticket/1137" title="enhancement: Remove need for statefulness in vdm (assigned)"&gt;ticket:1137&lt;/a&gt; (remove need for statefulness in vdm).
&lt;/p&gt;
&lt;h2 id="Discussion"&gt;Discussion&lt;/h2&gt;
&lt;p&gt;
Advantage of Option 1 versus 2:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Easier support for pending state and similar behaviour
&lt;/li&gt;&lt;li&gt;No need to introduce new tables (and hence migrations) when making something revisioned (or not).
&lt;/li&gt;&lt;/ul&gt;&lt;h3 id="Disadvantages"&gt;Disadvantages&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Migration is required
&lt;/li&gt;&lt;li&gt;More difficult to query revision history.
&lt;ul&gt;&lt;li&gt;Could be addressed by having ChangeObject have separate cols for table name and id but would likely be more difficult.
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Performance (?)
&lt;ul&gt;&lt;li&gt;Have one big ChangeObject table to query when looking at changed objects rather than many revision tables.
&lt;ul&gt;&lt;li&gt;Not sure this is a biggie as even with Revision model biggest revision object tables are probably on the order of the ChangeObject table
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="Conclusion"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;
Implement Option 2 and leave Option 1 for present.
&lt;/p&gt;
&lt;p&gt;
Option 1 includes Option 2 so it seems that that is required in either case (so we may as well with Option 2).
&lt;/p&gt;
&lt;p&gt;
Option 1 requires significant effort (esp migration) so leave for present and then review the situation at some later date.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1077#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1096</link>
        <guid isPermaLink="false">http://localhost/ticket/1096</guid>
        <title>#1096: [super] CKAN Hosted</title>
        <pubDate>Tue, 19 Apr 2011 17:44:22 GMT</pubDate>
        
        <dc:creator>pudo</dc:creator>

        <description>&lt;p&gt;
Many users of CKAN want to have their own instance without much effort. Setting these up in separate places is a maintenance nightmare, we should much rather have some tenant separation in core CKAN. Some ideas:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;introduce model.Site and c.site
&lt;ul&gt;&lt;li&gt;site has: custom CSS, extra_template_path, title, languages list, package_form, group_form (all configured via web UI)
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Subdomain detector to activate sites.
&lt;/li&gt;&lt;li&gt;use site in Authorizer instead of System, have a &lt;a class="missing wiki"&gt;NullSite?&lt;/a&gt; for global things
&lt;/li&gt;&lt;li&gt;allow cross-site search
&lt;/li&gt;&lt;li&gt;packages are in a list of sites, m:n rather than 1:n
&lt;ul&gt;&lt;li&gt;list of sites is string-based, can contain sites not in site table to express harvested external material which is not editable locally.
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1096#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1120</link>
        <guid isPermaLink="false">http://localhost/ticket/1120</guid>
        <title>#1120: Atom feeds of each tag</title>
        <pubDate>Mon, 02 May 2011 04:08:05 GMT</pubDate>
        
        <dc:creator>tsm</dc:creator>

        <description>&lt;p&gt;
Tags could/should have an Atom feed. This would mean that every edit to relevant packages could be easily monitored. See &lt;a class="missing changeset" title="No default repository defined"&gt;[1]&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;a class="missing changeset" title="No default repository defined"&gt;[1]&lt;/a&gt; &lt;a class="ext-link" href="http://lists.okfn.org/pipermail/ckan-discuss/2011-May/001162.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://lists.okfn.org/pipermail/ckan-discuss/2011-May/001162.html&lt;/a&gt;
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1120#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1144</link>
        <guid isPermaLink="false">http://localhost/ticket/1144</guid>
        <title>#1144: Support DSPL</title>
        <pubDate>Thu, 19 May 2011 00:06:49 GMT</pubDate>
        
        <dc:creator>timmcnamara</dc:creator>

        <description>&lt;p&gt;
DSPL, the Dataset Publishing Language, is being promoted by Google for its "Google Public Data Explorer" system. It is an XML format with metadata.
&lt;/p&gt;
&lt;p&gt;
The format is described on the &lt;a class="ext-link" href="http://code.google.com/apis/publicdata/docs/developer_guide.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;developer docs ofthe Google Code site&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Google provides a &lt;a class="ext-link" href="http://code.google.com/apis/publicdata/docs/dsplgen.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;Python script which reads CSV data and generates DSPL&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Sample from &lt;a class="ext-link" href="http://code.google.com/apis/publicdata/docs/dspl_sample.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://code.google.com/apis/publicdata/docs/dspl_sample.html&lt;/a&gt;:
&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre&gt;
&lt;span class="cp"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;dspl&lt;/span&gt; &lt;span class="na"&gt;xmlns=&lt;/span&gt;&lt;span class="s"&gt;"http://schemas.google.com/dspl/2010"&lt;/span&gt;
    &lt;span class="na"&gt;xmlns:geo=&lt;/span&gt;&lt;span class="s"&gt;"http://www.google.com/publicdata/dataset/google/geo"&lt;/span&gt;
    &lt;span class="na"&gt;xmlns:geo_usa=&lt;/span&gt;&lt;span class="s"&gt;"http://www.google.com/publicdata/dataset/google/geo/us"&lt;/span&gt;
    &lt;span class="na"&gt;xmlns:time=&lt;/span&gt;&lt;span class="s"&gt;"http://www.google.com/publicdata/dataset/google/time"&lt;/span&gt;
    &lt;span class="na"&gt;xmlns:quantity=&lt;/span&gt;&lt;span class="s"&gt;"http://www.google.com/publicdata/dataset/google/quantity"&lt;/span&gt;
    &lt;span class="na"&gt;xmlns:entity=&lt;/span&gt;&lt;span class="s"&gt;"http://www.google.com/publicdata/dataset/google/entity"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;import&lt;/span&gt; &lt;span class="na"&gt;namespace=&lt;/span&gt;&lt;span class="s"&gt;"http://www.google.com/publicdata/dataset/google/time"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;import&lt;/span&gt; &lt;span class="na"&gt;namespace=&lt;/span&gt;&lt;span class="s"&gt;"http://www.google.com/publicdata/dataset/google/quantity"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;import&lt;/span&gt; &lt;span class="na"&gt;namespace=&lt;/span&gt;&lt;span class="s"&gt;"http://www.google.com/publicdata/dataset/google/entity"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;import&lt;/span&gt; &lt;span class="na"&gt;namespace=&lt;/span&gt;&lt;span class="s"&gt;"http://www.google.com/publicdata/dataset/google/geo"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;info&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;My statistics&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;Some very interesting statistics about countries&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;url&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;http://www.stats-bureau.com/mystats/info.html&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/url&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/info&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;provider&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;Bureau of Statistics&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;url&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;http://www.stats-bureau.com&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/url&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/provider&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;topics&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;topic&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"geography"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;info&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&amp;lt;value&amp;gt;&lt;/span&gt;Geography&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/info&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/topic&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;topic&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"social_indicators"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;info&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&amp;lt;value&amp;gt;&lt;/span&gt;Social indicators&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/info&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;topic&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"population_indicators"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;info&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&amp;lt;value&amp;gt;&lt;/span&gt;Population indicators&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/info&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/topic&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;topic&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"poverty_and_income"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;info&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&amp;lt;value&amp;gt;&lt;/span&gt;Poverty &lt;span class="err"&gt;&amp;amp;&lt;/span&gt; income&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/info&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/topic&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;topic&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"health"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;info&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&amp;lt;value&amp;gt;&lt;/span&gt;Health&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/info&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/topic&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/topic&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/topics&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;concepts&amp;gt;&lt;/span&gt;
    &lt;span class="c"&gt;&amp;lt;!-- As noted in the tutorial, this concept should extend quantity:amount.--&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;concept&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"population"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;info&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;Population&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;Size of the resident population.&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/info&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;topic&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"population_indicators"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;type&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"integer"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/concept&amp;gt;&lt;/span&gt;
    &lt;span class="c"&gt;&amp;lt;!-- This country concept is defined for educational purposes only. A country
    concept exists in the Google geo dataset. See:
    http://code.google.com/apis/publicdata/docs/canonical/geo.html --&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;concept&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"country"&lt;/span&gt; &lt;span class="na"&gt;extends=&lt;/span&gt;&lt;span class="s"&gt;"geo:location"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;info&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;Country&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;My list of countries&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/info&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;type&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;property&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;info&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&amp;lt;value&lt;/span&gt; &lt;span class="na"&gt;xml:lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Country name&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;value&lt;/span&gt; &lt;span class="na"&gt;xml:lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;The official name of the country&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/info&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;type&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;table&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"countries_table"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/concept&amp;gt;&lt;/span&gt;
    &lt;span class="c"&gt;&amp;lt;!-- This US state concept is defined for educational purposes only. A US state
      concept exists in the Google geo US dataset. See:
      http://code.google.com/apis/publicdata/docs/canonical/geo.us.html --&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;concept&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"state"&lt;/span&gt; &lt;span class="na"&gt;extends=&lt;/span&gt;&lt;span class="s"&gt;"geo:location"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;info&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;State&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;US states&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/info&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;type&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;property&lt;/span&gt; &lt;span class="na"&gt;concept=&lt;/span&gt;&lt;span class="s"&gt;"country"&lt;/span&gt; &lt;span class="na"&gt;isParent=&lt;/span&gt;&lt;span class="s"&gt;"true"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;table&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"states_table"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/concept&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;concept&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"gender"&lt;/span&gt; &lt;span class="na"&gt;extends=&lt;/span&gt;&lt;span class="s"&gt;"entity:entity"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;info&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;Gender&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;Gender, Male or Female&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;pluralName&amp;gt;&amp;lt;value&amp;gt;&lt;/span&gt;Genders&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&amp;lt;/pluralName&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;totalName&amp;gt;&amp;lt;value&amp;gt;&lt;/span&gt;Both genders&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&amp;lt;/totalName&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/info&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;type&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;table&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"genders_table"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/concept&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;concept&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"unemployment_rate"&lt;/span&gt; &lt;span class="na"&gt;extends=&lt;/span&gt;&lt;span class="s"&gt;"quantity:rate"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;info&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;unemployment rate&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;
          &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;The percent of the labor force that is unemployed, not seasonally
            adjusted.&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;url&amp;gt;&amp;lt;value&amp;gt;&lt;/span&gt;http://www.bls.gov/cps/cps_htgm.htm&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&amp;lt;/url&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/info&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;topic&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"social_indicators"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;type&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"float"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;attribute&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"is_percentage"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;type&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"boolean"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;true&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/attribute&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/concept&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/concepts&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;slices&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;slice&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"countries_slice"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;dimension&lt;/span&gt; &lt;span class="na"&gt;concept=&lt;/span&gt;&lt;span class="s"&gt;"country"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;dimension&lt;/span&gt; &lt;span class="na"&gt;concept=&lt;/span&gt;&lt;span class="s"&gt;"time:year"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;metric&lt;/span&gt; &lt;span class="na"&gt;concept=&lt;/span&gt;&lt;span class="s"&gt;"population"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;table&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"countries_slice_table"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/slice&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;slice&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"states_slice"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;dimension&lt;/span&gt; &lt;span class="na"&gt;concept=&lt;/span&gt;&lt;span class="s"&gt;"state"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;dimension&lt;/span&gt; &lt;span class="na"&gt;concept=&lt;/span&gt;&lt;span class="s"&gt;"time:year"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;metric&lt;/span&gt; &lt;span class="na"&gt;concept=&lt;/span&gt;&lt;span class="s"&gt;"population"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;metric&lt;/span&gt; &lt;span class="na"&gt;concept=&lt;/span&gt;&lt;span class="s"&gt;"unemployment_rate"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;table&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"states_slice_table"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/slice&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;slice&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"countries_gender_slice"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;dimension&lt;/span&gt; &lt;span class="na"&gt;concept=&lt;/span&gt;&lt;span class="s"&gt;"country"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;dimension&lt;/span&gt; &lt;span class="na"&gt;concept=&lt;/span&gt;&lt;span class="s"&gt;"gender"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;dimension&lt;/span&gt; &lt;span class="na"&gt;concept=&lt;/span&gt;&lt;span class="s"&gt;"time:year"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;metric&lt;/span&gt; &lt;span class="na"&gt;concept=&lt;/span&gt;&lt;span class="s"&gt;"population"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;table&lt;/span&gt; &lt;span class="na"&gt;ref=&lt;/span&gt;&lt;span class="s"&gt;"countries_gender_slice_table"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/slice&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/slices&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;tables&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;table&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"countries_table"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"country"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"latitude"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"float"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"longitude"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"float"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;data&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;file&lt;/span&gt; &lt;span class="na"&gt;format=&lt;/span&gt;&lt;span class="s"&gt;"csv"&lt;/span&gt; &lt;span class="na"&gt;encoding=&lt;/span&gt;&lt;span class="s"&gt;"utf-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;countries.csv&lt;span class="nt"&gt;&amp;lt;/file&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/data&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;table&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"countries_slice_table"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"country"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"year"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"date"&lt;/span&gt; &lt;span class="na"&gt;format=&lt;/span&gt;&lt;span class="s"&gt;"yyyy"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"population"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"integer"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;data&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;file&lt;/span&gt; &lt;span class="na"&gt;format=&lt;/span&gt;&lt;span class="s"&gt;"csv"&lt;/span&gt; &lt;span class="na"&gt;encoding=&lt;/span&gt;&lt;span class="s"&gt;"utf-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;country_slice.csv&lt;span class="nt"&gt;&amp;lt;/file&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/data&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;table&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"states_table"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"state"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"country"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;US&lt;span class="nt"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/column&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"latitude"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"float"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"longitude"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"float"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;data&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;file&lt;/span&gt; &lt;span class="na"&gt;format=&lt;/span&gt;&lt;span class="s"&gt;"csv"&lt;/span&gt; &lt;span class="na"&gt;encoding=&lt;/span&gt;&lt;span class="s"&gt;"utf-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;states.csv&lt;span class="nt"&gt;&amp;lt;/file&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/data&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;table&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"states_slice_table"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"state"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"year"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"date"&lt;/span&gt; &lt;span class="na"&gt;format=&lt;/span&gt;&lt;span class="s"&gt;"yyyy"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"population"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"integer"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"unemployment_rate"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"float"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;data&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;file&lt;/span&gt; &lt;span class="na"&gt;format=&lt;/span&gt;&lt;span class="s"&gt;"csv"&lt;/span&gt; &lt;span class="na"&gt;encoding=&lt;/span&gt;&lt;span class="s"&gt;"utf-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;state_slice.csv&lt;span class="nt"&gt;&amp;lt;/file&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/data&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;table&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"genders_table"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"gender"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;data&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;file&lt;/span&gt; &lt;span class="na"&gt;format=&lt;/span&gt;&lt;span class="s"&gt;"csv"&lt;/span&gt; &lt;span class="na"&gt;encoding=&lt;/span&gt;&lt;span class="s"&gt;"utf-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;genders.csv&lt;span class="nt"&gt;&amp;lt;/file&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/data&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;table&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"countries_gender_slice_table"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"country"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"gender"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"year"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"date"&lt;/span&gt; &lt;span class="na"&gt;format=&lt;/span&gt;&lt;span class="s"&gt;"yyyy"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;column&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"population"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"integer"&lt;/span&gt;&lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;data&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;file&lt;/span&gt; &lt;span class="na"&gt;format=&lt;/span&gt;&lt;span class="s"&gt;"csv"&lt;/span&gt; &lt;span class="na"&gt;encoding=&lt;/span&gt;&lt;span class="s"&gt;"utf-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;gender_country_slice.csv&lt;span class="nt"&gt;&amp;lt;/file&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/data&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/tables&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/dspl&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1144#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1145</link>
        <guid isPermaLink="false">http://localhost/ticket/1145</guid>
        <title>#1145: Support the Handle System</title>
        <pubDate>Thu, 19 May 2011 00:26:15 GMT</pubDate>
        
        <dc:creator>timmcnamara</dc:creator>

        <description>&lt;p&gt;
The Handle System is an initiative to provide persistent references for resources. That is, it's basically a proxy system for preventing link rot.
&lt;/p&gt;
&lt;p&gt;
Its documentation is here: &lt;a class="ext-link" href="http://www.handle.net/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://www.handle.net/&lt;/a&gt;. Servers running CKAN could host a "Local Handle Service", which redirects a hash of a resource to an actual URL.
&lt;/p&gt;
&lt;p&gt;
Some suggested use cases:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Researcher would like to cite where data came from
&lt;/li&gt;&lt;li&gt;Agencies would like to have a way to prevent vendor
lock-in from CKAN if they decide to move to another
platform
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1145#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1165</link>
        <guid isPermaLink="false">http://localhost/ticket/1165</guid>
        <title>#1165: Add multi-site support to ckan</title>
        <pubDate>Thu, 26 May 2011 12:41:07 GMT</pubDate>
        
        <dc:creator>nils.toedtmann</dc:creator>

        <description>&lt;p&gt;
Currently, each ckan site needs its own ckan wsgi process. That eats a lot of resources where many ckan sites are served from one machine (e.g. eu3).
&lt;/p&gt;
&lt;p&gt;
That would dramatically change if a ckan process could behave like multiple ckans (e.g. like Apache's "&amp;lt;&lt;a class="missing wiki"&gt;VirtualHost?&lt;/a&gt;&amp;gt;", or tracd). Depending on the "Host:" header in the HTTP1.1 request, it would choose which local ckan ini file to obey.
&lt;/p&gt;
&lt;p&gt;
I see two ways to constitute the map hostname-to-ini-file map:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;ckan reads a set of ini files, and each ini file declares which servers names it is responsible for
&lt;/li&gt;&lt;li&gt;In a global ini file, there are directives mapping servernames to ini files.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
In either case there should be a global ckan ini having the default settings for all local ckan sites. Each site ini could be very short then, just having e.g. title, name, database credentials, active plugins etc.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1165#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1179</link>
        <guid isPermaLink="false">http://localhost/ticket/1179</guid>
        <title>#1179: Support tag aliases</title>
        <pubDate>Tue, 07 Jun 2011 06:47:01 GMT</pubDate>
        
        <dc:creator>timmcnamara</dc:creator>

        <description>&lt;p&gt;
A small number of tags are near-duplicates of each other.
&lt;/p&gt;
&lt;p&gt;
Perhaps we could support word stemming from NLTK and/or manual tag aliases:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
statistics
statistik
...
survey
surveying
surveys
&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1179#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1182</link>
        <guid isPermaLink="false">http://localhost/ticket/1182</guid>
        <title>#1182: Comments from deleted packages appear in "Recent Comments" feed</title>
        <pubDate>Thu, 09 Jun 2011 22:24:11 GMT</pubDate>
        
        <dc:creator>timmcnamara</dc:creator>

        <description>&lt;p&gt;
When a package has been deleted, say for spam moderation, comments still appear in the recent comments section.
&lt;/p&gt;
&lt;p&gt;
This is a problem because non-admin users will be shown a warning that they're not authorised to view the package if they click on the link.
&lt;/p&gt;
&lt;p&gt;
At CKAN.net currently, this affects the most recent comment.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1182#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1184</link>
        <guid isPermaLink="false">http://localhost/ticket/1184</guid>
        <title>#1184: Support Wuala as CKAN storage option</title>
        <pubDate>Tue, 14 Jun 2011 06:59:11 GMT</pubDate>
        
        <dc:creator>timmcnamara</dc:creator>

        <description>&lt;p&gt;
Most of CKANs storage options are tied to the USA. This brings concerns of data security for some organisations who may wish to adopt the system. &lt;a class="ext-link" href="http://wua.la"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;Wuala&lt;/a&gt; is a distributed file system that stores data in a peer-to-peer manner. The company behind it, &lt;a class="missing wiki"&gt;LaCie?&lt;/a&gt; sells storage for a fee. However, they also enable clients to have 'free' storage space when machines act as a storage node.
&lt;/p&gt;
&lt;p&gt;
In order to be a storage node, a machine needs to be online for more than 14% of the time - roughly 4h per day. Most CKAN servers are likely to have a far greater uptime than this.
&lt;/p&gt;
&lt;p&gt;
Supporting Wuala would go some way to enabling CKAN to be used in a secure manner. That is, CKAN could be promoted for organisational use where there is lots of data to be stored and large geographic distances to be managed. There is a &lt;a class="ext-link" href="http://www.wuala.com/Wuala%20API/Sample%20Clients/Python/wualaAPI/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;Python client available&lt;/a&gt; and a fairly &lt;a class="ext-link" href="http://www.youtube.com/watch?v=3xKZ4KGkQY8"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;long Google Tech Talk&lt;/a&gt; that overviews the system.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1184#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1185</link>
        <guid isPermaLink="false">http://localhost/ticket/1185</guid>
        <title>#1185: Administrators can't delete packages from web UI</title>
        <pubDate>Wed, 15 Jun 2011 04:23:38 GMT</pubDate>
        
        <dc:creator>timmcnamara</dc:creator>

        <description>&lt;p&gt;
Administrators have "View", "Edit" and "History" tabs. However, I can't see a way to delete a package from the web UI.
&lt;/p&gt;
&lt;p&gt;
Version: CKAN.net as of today
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1185#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1188</link>
        <guid isPermaLink="false">http://localhost/ticket/1188</guid>
        <title>#1188: Allow diffing against initial (blank) package version</title>
        <pubDate>Wed, 15 Jun 2011 15:52:40 GMT</pubDate>
        
        <dc:creator>nickstenning</dc:creator>

        <description>&lt;p&gt;
Currently the history page only allows diffing between different versions of a package, but there doesn't appear to be any easy way to see the changes introduced by the first version of a package.
&lt;/p&gt;
&lt;p&gt;
I'm requesting the ability to diff against a "blank slate" initial state of a project, so I can see the content of the first project commit.
&lt;/p&gt;
&lt;p&gt;
Not sure if this is a vdm feature, so I'm putting this ticket in against ckan.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1188#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1198</link>
        <guid isPermaLink="false">http://localhost/ticket/1198</guid>
        <title>#1198: Publisher hierarchy</title>
        <pubDate>Thu, 23 Jun 2011 09:16:32 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
'Publisher' entities in the model. They are hierarchical.
&lt;/p&gt;
&lt;p&gt;
'User-Publisher' connections with one or more roles (e.g. drafter, moderator).
&lt;/p&gt;
&lt;p&gt;
Authorization settings can control who can set what values in a 'published by' type field.
&lt;/p&gt;
&lt;p&gt;
Publishers and User-Publishers available to read in the API.
&lt;/p&gt;
&lt;p&gt;
Future tickets will provide:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;API to write Publishers and User-Publishers
&lt;/li&gt;&lt;li&gt;UI to edit Publishers and User-Publishers
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
(This feature deprecates authorization groups)
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1198#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1201</link>
        <guid isPermaLink="false">http://localhost/ticket/1201</guid>
        <title>#1201: seperate out logic in atom feeds to logic layer.</title>
        <pubDate>Fri, 24 Jun 2011 15:21:32 GMT</pubDate>
        
        <dc:creator>kindly</dc:creator>

        <description>&lt;p&gt;
Simplify the logic in the atom feed an make all feeds use logic layer to return lists.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1201#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1227</link>
        <guid isPermaLink="false">http://localhost/ticket/1227</guid>
        <title>#1227: Display packages' tags in search results</title>
        <pubDate>Tue, 19 Jul 2011 00:11:02 GMT</pubDate>
        
        <dc:creator>timmcnamara</dc:creator>

        <description>&lt;p&gt;
In when displaying search results, it would be useful to also display the tags of a package. Sometimes it's difficult to infer the scope of what the package does from the title and the first sentence of the description. Tags are quite concise way to display rich information.
&lt;/p&gt;
&lt;p&gt;
ENV=datacatalos.org, with CKAN 1.4.2a
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1227#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1232</link>
        <guid isPermaLink="false">http://localhost/ticket/1232</guid>
        <title>#1232: [super] Interface improvements</title>
        <pubDate>Wed, 20 Jul 2011 16:11:36 GMT</pubDate>
        
        <dc:creator>thejimmyg</dc:creator>

        <description>&lt;p&gt;
Child tickets:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/1194" title="defect: &amp;#34;Welcome back&amp;#34; message for newly registered user (closed: fixed)"&gt;#1194&lt;/a&gt; "Welcome back" message for newly registered user
&lt;/li&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/1202" title="enhancement: Links to datapkg utility don't lead to info about it (closed: invalid)"&gt;#1202&lt;/a&gt; Links to datapkg utility don't lead to info about it
&lt;/li&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/925" title="defect: Change the search box icon to remove the down arrow (closed: fixed)"&gt;#925&lt;/a&gt; Change the search box icon to remove the down arrow
&lt;/li&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/923" title="defect: Search box doesn't work in leaderboard page (closed: worksforme)"&gt;#923&lt;/a&gt; Search box doesn't work in leaderboard page in stats extension
&lt;/li&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/1034" title="defect: Flash message cached (closed: duplicate)"&gt;#1034&lt;/a&gt; Flash message cached
&lt;/li&gt;&lt;li&gt;&lt;a class="new ticket" href="http://localhost/ticket/737" title="enhancement: Markdown syntax summary page (new)"&gt;#737&lt;/a&gt; Markdown syntax summary page
&lt;/li&gt;&lt;li&gt;&lt;a class="new ticket" href="http://localhost/ticket/811" title="defect: Extra field editing form layout breaks when there are long field names (new)"&gt;#811&lt;/a&gt; Extra field editing form layout breaks when there are long field names
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1232#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1233</link>
        <guid isPermaLink="false">http://localhost/ticket/1233</guid>
        <title>#1233: [super] Improve wiki-style functionality for history</title>
        <pubDate>Wed, 20 Jul 2011 16:29:52 GMT</pubDate>
        
        <dc:creator>thejimmyg</dc:creator>

        <description>&lt;p&gt;
At the moment we have a good revisioning system but a poor history interface. We need to improve this in a number of areas:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/191" title="enhancement: Searching by modification date (closed: fixed)"&gt;#191&lt;/a&gt; Searching by modification date
&lt;/li&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/193" title="enhancement: Searching by time-related field (closed: wontfix)"&gt;#193&lt;/a&gt; Searching by time-related field
&lt;/li&gt;&lt;li&gt;&lt;a class="assigned ticket" href="http://localhost/ticket/301" title="enhancement: Package discussion pages (assigned)"&gt;#301&lt;/a&gt; Package discussion pages
&lt;/li&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/1236" title="enhancement: View a package at a given revision (closed: fixed)"&gt;#1236&lt;/a&gt; Package history page should provide links to pages at particular revisions, similar to the wikipedia pages
&lt;/li&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/1236" title="enhancement: View a package at a given revision (closed: fixed)"&gt;#1236&lt;/a&gt; Viewing old revisions or unmoderated changes should have a message at the top of the package page
&lt;/li&gt;&lt;li&gt;Other improvements as per my word doc.
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1233#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1235</link>
        <guid isPermaLink="false">http://localhost/ticket/1235</guid>
        <title>#1235: [super] Search Improvements</title>
        <pubDate>Wed, 20 Jul 2011 17:24:01 GMT</pubDate>
        
        <dc:creator>thejimmyg</dc:creator>

        <description>&lt;p&gt;
Child tickets:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/234" title="enhancement: UI Review - Autocomplete package names &amp;amp; tags in search (closed: wontfix)"&gt;#234&lt;/a&gt; UI Review - Autocomplete package names &amp;amp; tags in search
&lt;/li&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/193" title="enhancement: Searching by time-related field (closed: wontfix)"&gt;#193&lt;/a&gt;        Searching by time-related field
&lt;/li&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/191" title="enhancement: Searching by modification date (closed: fixed)"&gt;#191&lt;/a&gt;        Searching by modification date
&lt;/li&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/905" title="defect: Unable to search with accented characters in package names (closed: worksforme)"&gt;#905&lt;/a&gt; Unable to search with accented characters in package names
&lt;/li&gt;&lt;li&gt;&lt;a class="closed ticket" href="http://localhost/ticket/906" title="enhancement: Ability to search without accents for accented words (closed: fixed)"&gt;#906&lt;/a&gt; Ability to search without accents for accented words
&lt;/li&gt;&lt;li&gt;&lt;a class="new ticket" href="http://localhost/ticket/924" title="enhancement: Search box has no search button (new)"&gt;#924&lt;/a&gt; Search box has no search button
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Broadly speaking though we need to choose PostgreSQL, Solr or something else. We don't want to invest our time maintaining two search backends with a limited abstraction layer between the two.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1235#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1257</link>
        <guid isPermaLink="false">http://localhost/ticket/1257</guid>
        <title>#1257: Anti-Spam tools</title>
        <pubDate>Tue, 02 Aug 2011 11:12:45 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
We are getting more and more spam on ckan.net and we need to improve our strategy of combating it. It is bad because google ranks who we link to (which we do want for legitimate links), and our front page contains the latest package edits, so spam is immediately very visible.
&lt;/p&gt;
&lt;p&gt;
Spam:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Package creation
&lt;/li&gt;&lt;li&gt;Package edit
&lt;/li&gt;&lt;li&gt;User creation
&lt;/li&gt;&lt;li&gt;Group creation
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Systems to consider:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Automatic
&lt;ul&gt;&lt;li&gt;captcha
&lt;/li&gt;&lt;li&gt;bayesian scoring
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Sysadmin
&lt;ul&gt;&lt;li&gt;a tool to quickly analyse and remove packages, edits and users
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Helpful users
&lt;ul&gt;&lt;li&gt;button to click indicating spam, leading to any/all of:
&lt;ul&gt;&lt;li&gt;add TODO item (which emails package admin and sysadmins)
&lt;/li&gt;&lt;li&gt;quarantine the package/user so it doesn't show up on the front page and a warning is shown when you view it
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
General thoughts:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;We should learn from the wikipedia tools, as they are the experts
&lt;/li&gt;&lt;li&gt;This is a serious problem that is only going to get worse and is a threat to the whole site.
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1257#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1259</link>
        <guid isPermaLink="false">http://localhost/ticket/1259</guid>
        <title>#1259: "Add a row" for Extras on Package form</title>
        <pubDate>Tue, 02 Aug 2011 16:31:33 GMT</pubDate>
        
        <dc:creator>pudo</dc:creator>

        <description>&lt;p&gt;
The default package form offers 4 empty extras fields. Like the resource section, it should have an "add more" button to add another row.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1259#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1260</link>
        <guid isPermaLink="false">http://localhost/ticket/1260</guid>
        <title>#1260: Remove duplicate functions from _util.html</title>
        <pubDate>Wed, 03 Aug 2011 10:17:32 GMT</pubDate>
        
        <dc:creator>pudo</dc:creator>

        <description>&lt;p&gt;
There seems to be both a list view for dictized and non dictized data structures for all entities in _util.html at the moment. Probably in the back of someone's mind already, but cleanup here would be nice.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1260#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1262</link>
        <guid isPermaLink="false">http://localhost/ticket/1262</guid>
        <title>#1262: Enforce "create-user" permission</title>
        <pubDate>Wed, 03 Aug 2011 12:41:36 GMT</pubDate>
        
        <dc:creator>pudo</dc:creator>

        <description>&lt;p&gt;
This does not seem to have any implications at the moment, it should lock down registration and remove all related links.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1262#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1273</link>
        <guid isPermaLink="false">http://localhost/ticket/1273</guid>
        <title>#1273: Create docs for API v3</title>
        <pubDate>Mon, 15 Aug 2011 12:41:23 GMT</pubDate>
        
        <dc:creator>amercader</dc:creator>

        <description></description>
        <category>Results</category>
        <comments>http://localhost/ticket/1273#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1278</link>
        <guid isPermaLink="false">http://localhost/ticket/1278</guid>
        <title>#1278: Refactor authorized_query calls</title>
        <pubDate>Mon, 15 Aug 2011 13:32:57 GMT</pubDate>
        
        <dc:creator>amercader</dc:creator>

        <description>&lt;p&gt;
There are some functions that still use the Auhtorizer().authorized_query method:
&lt;/p&gt;
&lt;pre class="wiki"&gt;./ckan/controllers/authorization_group.py:24:        query = ckan.authz.Authorizer().authorized_query(c.user, model.AuthorizationGroup)
./ckan/lib/base.py:237:        groups = ckan.authz.Authorizer.authorized_query(c.user, model.Group,
./ckan/lib/search/sql.py:55:        q = authz.Authorizer().authorized_query(username, model.Group)
./ckan/lib/search/sql.py:118:        q = authz.Authorizer().authorized_query(self.options.get('username'), model.Package)
./ckan/logic/action/get.py:154:    query = Authorizer().authorized_query(user, model.Group, model.Action.EDIT)
./ckan/tests/test_authz.py:158:        q = self.authorizer.authorized_query(self.notadmin.name, model.Package)
./ckan/tests/test_authz.py:353:        q = self.authorizer.authorized_query(self.notmember.name, model.Package)
./ckan/tests/test_authz.py:357:        q = self.authorizer.authorized_query(self.member.name, model.Package)
./ckan/tests/functional/test_authorization_group.py:44:        group_count = Authorizer.authorized_query(u'russianfan', model.AuthorizationGroup).count()
&lt;/pre&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1278#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1286</link>
        <guid isPermaLink="false">http://localhost/ticket/1286</guid>
        <title>#1286: Remove remaining formalchemy stuff</title>
        <pubDate>Tue, 23 Aug 2011 16:29:56 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
Stuff I've spotted:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;forms/*
&lt;/li&gt;&lt;li&gt;template/group/edit_form.html
&lt;/li&gt;&lt;li&gt;template/package/edit_form.html
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
This can go once new DGU form is in.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1286#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1288</link>
        <guid isPermaLink="false">http://localhost/ticket/1288</guid>
        <title>#1288: Package edit/creation can't include 'relationships' field</title>
        <pubDate>Wed, 24 Aug 2011 16:34:55 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
When you create or edit a package (via the API), you aren't able to specify the relationships it has. (If you do you get 409 &lt;tt&gt; {"__junk": ["The input field __junk was not expected."]} &lt;/tt&gt;)
&lt;/p&gt;
&lt;p&gt;
The normal way to create relationships is via /api/rest/relationships/ and this works. But when you GET a package, the dictionary lists all relationship details. So this bug creates a problem for editing a package that has relationships - you want to GET it, make any edits and then PUT it back. The work-around is to delete the 'relationships' key from the dict before you PUT it back.
&lt;/p&gt;
&lt;h2 id="Options"&gt;Options&lt;/h2&gt;
&lt;p&gt;
Ideally, CKAN would read the 'relationships' key and make the necessary changes. This is a chunk of work.
&lt;/p&gt;
&lt;p&gt;
Another good option is to allow an unchanged 'relationships' value, but barf it is edited. This is also a chunk of work.
&lt;/p&gt;
&lt;p&gt;
A bad option would be to just ignore the 'relationships' value, since users will get frustrated changing this value and wonder why it never saves, not understanding it is different to all the rest, without error message.
&lt;/p&gt;
&lt;p&gt;
A final option is to get rid of relationships altogether.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1288#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1311</link>
        <guid isPermaLink="false">http://localhost/ticket/1311</guid>
        <title>#1311: Modal user register and login form</title>
        <pubDate>Tue, 06 Sep 2011 08:20:27 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
Subticket of: &lt;a class="closed ticket" href="http://localhost/ticket/1294" title="enhancement: [super] Package creation and editing UX improvements (closed: fixed)"&gt;#1294&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Rather than having to visit a dedicated page it would be good if registration and login could be done from a modal form (separate or combined ...).
&lt;/p&gt;
&lt;h2 id="Why"&gt;Why&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;It could be used from dataset creation page in situations where user needs to be registered / logged in to create a dataset (so we could allow someone to start creating a dataset and only get them to login at the end ...)
&lt;/li&gt;&lt;li&gt;It allows for quicker and easier logging in
&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="Implementation"&gt;Implementation&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;See Friedrich's work on the datahub
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1311#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1326</link>
        <guid isPermaLink="false">http://localhost/ticket/1326</guid>
        <title>#1326: Write a set of auth plugin functions to integrate with Druapl</title>
        <pubDate>Mon, 12 Sep 2011 09:51:24 GMT</pubDate>
        
        <dc:creator>thejimmyg</dc:creator>

        <description>&lt;p&gt;
Ticket &lt;a class="closed ticket" href="http://localhost/ticket/787" title="task: Auth API (closed: fixed)"&gt;#787&lt;/a&gt; described join auth between CKAN and Drupal. The authentication part is live and implemented. This ticket is a placeholder for work that will be needed in the new auth system to link authorization functions to Drupal. It is dependent on the groups refactor.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1326#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1336</link>
        <guid isPermaLink="false">http://localhost/ticket/1336</guid>
        <title>#1336: License fudge</title>
        <pubDate>Tue, 13 Sep 2011 11:07:37 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
cset:4b59ab34137d ckan/logic/action/get.py:
&lt;/p&gt;
&lt;pre class="wiki"&gt;-            isopen = model.Package.get_license_register()[license_id].isopen()
-            result_dict['isopen'] = isopen
+            try:
+                isopen = model.Package.get_license_register()[license_id].isopen()
+                result_dict['isopen'] = isopen
+            except KeyError:
+                # TODO: create a log message this error?
+                result_dict['isopen'] = False
&lt;/pre&gt;&lt;p&gt;
This change hides problems with the license server and returns potentially incorrect values for openness.
&lt;/p&gt;
&lt;p&gt;
This has been noted as 'temporary fix' but seems to be forgotten about, since it has been merged to default and gone into release 1.4.3.
&lt;/p&gt;
&lt;p&gt;
I suggest the licenses are cached (I thought this was already the case when CKAN first requests them after start-up?). I suggest failure would return 503.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1336#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1343</link>
        <guid isPermaLink="false">http://localhost/ticket/1343</guid>
        <title>#1343: [super] User related improvements (login, user pages etc)</title>
        <pubDate>Wed, 14 Sep 2011 16:18:18 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;ul&gt;&lt;li&gt;Disallow account creation via openid - &lt;a class="closed ticket" href="http://localhost/ticket/1386" title="enhancement: Disallow account creation via openid (closed: fixed)"&gt;#1386&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;Require email field - &lt;a class="closed ticket" href="http://localhost/ticket/1319" title="enhancement: Require an email address on User registration (closed: fixed)"&gt;#1319&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;Require email confirmation to be activated (?)
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Improvements to user page (e.g. show activity and more info about user) - &lt;a class="closed ticket" href="http://localhost/ticket/1396" title="enhancement: Improvements to user page UX - 1d (closed: fixed)"&gt;#1396&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;Modal user login - &lt;a class="new ticket" href="http://localhost/ticket/1311" title="enhancement: Modal user register and login form (new)"&gt;#1311&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1343#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1352</link>
        <guid isPermaLink="false">http://localhost/ticket/1352</guid>
        <title>#1352: Use logic functions instead of as_dict when indexing entities</title>
        <pubDate>Wed, 21 Sep 2011 14:29:57 GMT</pubDate>
        
        <dc:creator>amercader</dc:creator>

        <description>&lt;p&gt;
The current search implementation uses the output of the the as_dict method of the domain Package object to update the index
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="https://bitbucket.org/okfn/ckan/src/56c79e3fc44c/ckan/lib/search/index.py#cl-48"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://bitbucket.org/okfn/ckan/src/56c79e3fc44c/ckan/lib/search/index.py#cl-48&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
It also uses package_to_api1 in the &lt;a class="missing wiki"&gt;SynchronousSearch?&lt;/a&gt; plugin:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="https://bitbucket.org/okfn/ckan/src/f9dfb0506594/ckan/lib/search/__init__.py#cl-93"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://bitbucket.org/okfn/ckan/src/f9dfb0506594/ckan/lib/search/__init__.py#cl-93&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
This prevents extensions from being able to index custom properties (e.g. faceting by custom extras not included in the model).
&lt;/p&gt;
&lt;p&gt;
The search should use the logic function to get the package properties:
&lt;/p&gt;
&lt;pre class="wiki"&gt;get_action('package_show')(context,data_dict)
&lt;/pre&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1352#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1355</link>
        <guid isPermaLink="false">http://localhost/ticket/1355</guid>
        <title>#1355: Package extras property does not include the newly created ones</title>
        <pubDate>Mon, 26 Sep 2011 10:48:46 GMT</pubDate>
        
        <dc:creator>amercader</dc:creator>

        <description>&lt;p&gt;
The extras in the package object sent to the extensions after editing (&lt;a class="ext-link" href="https://bitbucket.org/okfn/ckan/src/01efd5649c10/ckan/logic/action/update.py#cl-226"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://bitbucket.org/okfn/ckan/src/01efd5649c10/ckan/logic/action/update.py#cl-226&lt;/a&gt;) do not include the newly added.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1355#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1382</link>
        <guid isPermaLink="false">http://localhost/ticket/1382</guid>
        <title>#1382: Deleted resources are present for harvested package</title>
        <pubDate>Tue, 11 Oct 2011 12:58:09 GMT</pubDate>
        
        <dc:creator>thejimmyg</dc:creator>

        <description>&lt;p&gt;
Perhaps the importer deletes them before re-importing. We shouldn't have deleted resources, so let's investigate.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1382#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1384</link>
        <guid isPermaLink="false">http://localhost/ticket/1384</guid>
        <title>#1384: CKAN wiki needs updating to refer to thedatahub.org instead of ckan.net and datasets instead of packages</title>
        <pubDate>Wed, 12 Oct 2011 10:07:57 GMT</pubDate>
        
        <dc:creator>shevski</dc:creator>

        <description>&lt;p&gt;
Most articles still refer and link to ckan.net, wiki.ckan.net and to packages
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1384#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1403</link>
        <guid isPermaLink="false">http://localhost/ticket/1403</guid>
        <title>#1403: Refactor groups index page</title>
        <pubDate>Mon, 17 Oct 2011 10:31:52 GMT</pubDate>
        
        <dc:creator>zephod</dc:creator>

        <description>&lt;p&gt;
Groups are listed alphabetically with paging - not an ideal user experience. We would like to list groups in order of 'popularity': The number of datasets they contain.
&lt;/p&gt;
&lt;p&gt;
Following this chain of thought, then, it would be nice to rearrange the groups table by clicking on column headers and having it sort by that column.
&lt;/p&gt;
&lt;p&gt;
Furthermore, then, we'd like to implement a full-fledged groups search feature (if this is at all feasible).
&lt;/p&gt;
&lt;p&gt;
The forthcoming groups refactor will probably have some bearing on this task.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1403#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1406</link>
        <guid isPermaLink="false">http://localhost/ticket/1406</guid>
        <title>#1406: Re-enable RSS subscriptions</title>
        <pubDate>Mon, 17 Oct 2011 14:22:07 GMT</pubDate>
        
        <dc:creator>zephod</dc:creator>

        <description>&lt;p&gt;
RSS 'subscribe' buttons appeared in many places on the site but were not very helpful. They took (confused) users pointed to the raw feed code, and Google Reader could not understand the feed. Safari, however, could interpret it correctly.
&lt;/p&gt;
&lt;p&gt;
Their presentation needs to be clear and consistent; the RSS feed really needs testing in a variety of readers; and we need to decide exactly which items should get a feed. (Package updates? Groups?)
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1406#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1411</link>
        <guid isPermaLink="false">http://localhost/ticket/1411</guid>
        <title>#1411: Force resource format to be lower case (also mimetype)</title>
        <pubDate>Sat, 22 Oct 2011 21:40:04 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
Format should be lowercase. Automatically lower case (for extra points have a bit of javascript to force lower case when entering).
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Even more points: do a update on thedatahub repo to make all format lower case (or script this as an update?)
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1411#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1414</link>
        <guid isPermaLink="false">http://localhost/ticket/1414</guid>
        <title>#1414: track user log-ins on thedatahub.org</title>
        <pubDate>Mon, 24 Oct 2011 11:13:02 GMT</pubDate>
        
        <dc:creator>shevski</dc:creator>

        <description>&lt;p&gt;
Set up tracking for user logins so that we have stats about how many active users of thedatahub exist
want to be able to see who logged in the the last x months
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1414#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1423</link>
        <guid isPermaLink="false">http://localhost/ticket/1423</guid>
        <title>#1423: Edit resources suggestions</title>
        <pubDate>Wed, 26 Oct 2011 15:11:46 GMT</pubDate>
        
        <dc:creator>markbrough</dc:creator>

        <description>&lt;ul&gt;&lt;li&gt;Description vs Name - Edit Resources view is showing the name of the package rather than the description, and a lot (all?) of the packages before the upgrade don't have names, so might be good to swap this round again, e.g.: &lt;a class="ext-link" href="http://thedatahub.org/dataset/edit/iati-registry"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://thedatahub.org/dataset/edit/iati-registry&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;Moving resources - Moving them up or down the list used to be quite useful if you had a lot of resources that you might want to leave on the resources page, but only one or two that were actually current and that you wanted to draw attention to. This doesn't exist any more on CKAN but I think it would be good to add it back in.
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1423#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1424</link>
        <guid isPermaLink="false">http://localhost/ticket/1424</guid>
        <title>#1424: Openness notice should be clearer</title>
        <pubDate>Wed, 26 Oct 2011 16:54:49 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
ckan-discuss discussion suggests changes to the 'openness' indicator
( &lt;a class="ext-link" href="http://lists.okfn.org/pipermail/ckan-discuss/2011-October/001786.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://lists.okfn.org/pipermail/ckan-discuss/2011-October/001786.html&lt;/a&gt; )
&lt;/p&gt;
&lt;p&gt;
Dataset view page:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;If there is an explicit but non-OKD compliant license, such as CC-BY-NC, then this should be stated explicitly, perhaps: “This dataset is Not Open. License: Creative Commons Attribution Noncommerical. This is not an open license as it does not meet the Open Knowledge Definition.”
&lt;/li&gt;&lt;li&gt;If the license is marked as “Other::License Not Specified”, then this should be stated explicitly, perhaps:
“This dataset is Not Open. It is published without an explicit license, the publisher reserves all rights to the dataset.”
&lt;/li&gt;&lt;li&gt;3. If the license field was left empty by the contributor of the Data Hub record, then again this should be stated explicitly, perhaps: “This dataset is Not Open. The license of this dataset is unknown or unspecified. Start an enquiry on &lt;a class="missing wiki"&gt;IsItOpenData?&lt;/a&gt; »
&lt;/li&gt;&lt;li&gt;There is a bug so that non-open licenses doesn't have an openness notice.
&lt;/li&gt;&lt;li&gt;If downloadable resources are not available, this should not affect 'openness' - check this has been removed.
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1424#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1429</link>
        <guid isPermaLink="false">http://localhost/ticket/1429</guid>
        <title>#1429: Provide DOIs for datasets in a CKAN instance</title>
        <pubDate>Sun, 30 Oct 2011 12:21:45 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
DOI = digital object identifier = &lt;a class="ext-link" href="http://www.doi.org/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://www.doi.org/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
As a Publisher I want a DOI for my dataset so that it can be cited by and linked to by others in a standard and easy way.
&lt;/p&gt;
&lt;h2 id="Details"&gt;Details&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Probably implement as extension rather than core
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1429#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1432</link>
        <guid isPermaLink="false">http://localhost/ticket/1432</guid>
        <title>#1432: [super] Data processing system for CKAN and Webstore</title>
        <pubDate>Tue, 01 Nov 2011 10:19:07 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
Super ticket: &lt;a class="closed ticket" href="http://localhost/ticket/1190" title="enhancement: [super] CREP 0004 Data API and Data Processing System (closed: fixed)"&gt;#1190&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
A data processing system which utilizes the  Webstore. One could
get a long way with simple javascript running in the browser for development with this javascript then run offline using something like nodejs. Alternatively one could allow one to specify a url to e.g. a python file which would then be run in a sandbox (with access to some specified set of python modules)
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1432#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1438</link>
        <guid isPermaLink="false">http://localhost/ticket/1438</guid>
        <title>#1438: Action API - parameter discovery/checking</title>
        <pubDate>Tue, 01 Nov 2011 15:38:10 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
Many actions in the Action API require parameters. What params are needed should be listed and checked. Because currently, if you get them wrong you simply get a useless 500 error.
&lt;/p&gt;
&lt;p&gt;
Currently they are listed in the docs, extracted from the code manually.
&lt;/p&gt;
&lt;p&gt;
So you could GET /action/api/package_list to receive not only the help text, but a list of arguments.
&lt;/p&gt;
&lt;p&gt;
And if you send an extra or missing argument then an intelligent error message can be returned.
&lt;/p&gt;
&lt;h1 id="implementation"&gt;implementation&lt;/h1&gt;
&lt;p&gt;
How about some sort of decorator on the action function:
&lt;/p&gt;
&lt;pre class="wiki"&gt;@logic_params(id, offset, limit)
def get_package_list(context, data_dict):
    ...
&lt;/pre&gt;&lt;p&gt;
This would do the param checking, and is there a way to extract these params from the function? Or do a registration of the logic function?
&lt;/p&gt;
&lt;p&gt;
I'd certainly like to keep the list of the list of params for the function with the function, for ease of reading the code.
&lt;/p&gt;
&lt;p&gt;
Another good thing would be to pass in the params named as themselves, rather than having them contained in the data_dict.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1438#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1439</link>
        <guid isPermaLink="false">http://localhost/ticket/1439</guid>
        <title>#1439: Action API discoverablility</title>
        <pubDate>Tue, 01 Nov 2011 15:39:30 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
A good service API needs to be discoverable, so you are not always having to refer to the documentation html.
&lt;/p&gt;
&lt;p&gt;
Maybe /api/action should return a list of actions available? (Currently this returns a 404.)
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;It would be nice to sort these into get/create/update/delete.
&lt;/li&gt;&lt;li&gt;&lt;a class="new ticket" href="http://localhost/ticket/1438" title="enhancement: Action API - parameter discovery/checking (new)"&gt;#1438&lt;/a&gt; Parameters for each of the actions must be discoverable too
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
/api/action/{action_name} should also return the help text / parameters allowable. (Currently this returns 400 error)
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1439#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1457</link>
        <guid isPermaLink="false">http://localhost/ticket/1457</guid>
        <title>#1457: Bug with DataNL instance</title>
        <pubDate>Thu, 10 Nov 2011 11:37:21 GMT</pubDate>
        
        <dc:creator>jilly.mathews</dc:creator>

        <description>&lt;blockquote&gt;
&lt;p&gt;
"when logging into &lt;a class="ext-link" href="http://register.data.overheid.nl/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://register.data.overheid.nl/&lt;/a&gt; with OpenID, the /user/me page gives a 404. CKAN version 1.3.4."
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
n the manual it says an API key kan be created via &lt;a class="ext-link" href="http://test.ckan.net/user/me"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://test.ckan.net/user/me&lt;/a&gt; /. However, when I try the corresponding  &lt;a class="ext-link" href="http://register.data.overheid.nl/user/me"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://register.data.overheid.nl/user/me&lt;/a&gt;, I get a 404 error (not found).
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1457#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1459</link>
        <guid isPermaLink="false">http://localhost/ticket/1459</guid>
        <title>#1459: Featured Dataset feature</title>
        <pubDate>Sat, 12 Nov 2011 15:50:12 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
Provide way to mark a dataset as featured. Featured database show up on the front page.
&lt;/p&gt;
&lt;p&gt;
TODO: detail this more.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1459#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1466</link>
        <guid isPermaLink="false">http://localhost/ticket/1466</guid>
        <title>#1466: Need to support https login for multiple instances as part of the CKAN package install</title>
        <pubDate>Tue, 15 Nov 2011 16:52:58 GMT</pubDate>
        
        <dc:creator>thejimmyg</dc:creator>

        <description></description>
        <category>Results</category>
        <comments>http://localhost/ticket/1466#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1534</link>
        <guid isPermaLink="false">http://localhost/ticket/1534</guid>
        <title>#1534: Change revisions to record userid rather than username</title>
        <pubDate>Wed, 07 Dec 2011 17:26:30 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
The use of username is problematic because username's can change.
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Change all revision creation code to use user id (simplest is to change c.author field in lib/base.py (?))
&lt;ul&gt;&lt;li&gt;(?) Add a field ipaddr for ip address of anonymous users? (or just keep putting this in author field on Revision and then acception that those won't match when we do a look up against user table)
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Change user view page to look up against user id rather than name
&lt;/li&gt;&lt;li&gt;Perform migration on existing Revision objects
&lt;ul&gt;&lt;li&gt;Match should probably be against both openid and username when searching Revisions' author field (especially true on CKAN where some people have already changed their username from being their openid)
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1534#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1535</link>
        <guid isPermaLink="false">http://localhost/ticket/1535</guid>
        <title>#1535: Plump for auth header of: X-CKAN-API-KEY</title>
        <pubDate>Wed, 07 Dec 2011 17:31:22 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
When using the API, the apikey needs to be supplied in a header called 'Authorization'. Because some proxys / deployments use this header for other things, a configurable header was provided as an alternative, with default "X-CKAN-API-KEY".
&lt;/p&gt;
&lt;p&gt;
Rufus suggests having *one* way for this.
a) making this not configurable any more
b) making X-CKAN-API-KEY the default
&lt;/p&gt;
&lt;p&gt;
(keep Authorization allowed, but not documented, for backwards compatibility)
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1535#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1542</link>
        <guid isPermaLink="false">http://localhost/ticket/1542</guid>
        <title>#1542: Buttons to purge spam datasets and groups</title>
        <pubDate>Thu, 08 Dec 2011 17:22:10 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
A sysadmin should be able to easily examine a suspect group or package, determine if it was created by a spammer (as opposed to being a legitimate object that has been graffitied by a spammer) and purge it.
&lt;/p&gt;
&lt;p&gt;
The existing two-stage revision delete is currently unreliable and perhaps too laborious.
&lt;/p&gt;
&lt;p&gt;
Olav and Richard have needs along this line.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1542#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1544</link>
        <guid isPermaLink="false">http://localhost/ticket/1544</guid>
        <title>#1544: delete old git branches</title>
        <pubDate>Mon, 12 Dec 2011 15:10:10 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
We have 150 odd branches (&lt;tt&gt;git branch -a&lt;/tt&gt;) - most of them old - we should prune them. At very least, branches that have been merged in should be deleted. Look at old branches that haven't been merged in and wonder why.
&lt;/p&gt;
&lt;p&gt;
May be of some use:
&lt;/p&gt;
&lt;pre class="wiki"&gt;git branch --merged
git branch --no-merged
&lt;/pre&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1544#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1557</link>
        <guid isPermaLink="false">http://localhost/ticket/1557</guid>
        <title>#1557: Complete Webstore Preview Extension</title>
        <pubDate>Mon, 19 Dec 2011 10:40:53 GMT</pubDate>
        
        <dc:creator>jilly mathews</dc:creator>

        <description>&lt;p&gt;
Finish any work out standing on web store preview extension to be able to package and release.
&lt;/p&gt;
&lt;p&gt;
Ref James and I going through existing features and trying to mention any polishing that needed doing to get exiting features ready for release with projects such as CKAN hosted.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1557#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1558</link>
        <guid isPermaLink="false">http://localhost/ticket/1558</guid>
        <title>#1558: Publisher Tools</title>
        <pubDate>Mon, 19 Dec 2011 10:46:13 GMT</pubDate>
        
        <dc:creator>jilly mathews</dc:creator>

        <description>&lt;p&gt;
Summarise final set of requirements for this and finish development and test. Estimated 10 working days.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1558#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1560</link>
        <guid isPermaLink="false">http://localhost/ticket/1560</guid>
        <title>#1560: Follow extension</title>
        <pubDate>Mon, 19 Dec 2011 10:51:19 GMT</pubDate>
        
        <dc:creator>jilly mathews</dc:creator>

        <description>&lt;p&gt;
Estimate 2 days to finish dev and test.
&lt;/p&gt;
&lt;p&gt;
David can you add any info needed here?
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1560#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1561</link>
        <guid isPermaLink="false">http://localhost/ticket/1561</guid>
        <title>#1561: To do extension</title>
        <pubDate>Mon, 19 Dec 2011 10:52:52 GMT</pubDate>
        
        <dc:creator>jilly mathews</dc:creator>

        <description>&lt;p&gt;
Can we finish this ready for release on data hub and CKAN Hosted.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1561#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1562</link>
        <guid isPermaLink="false">http://localhost/ticket/1562</guid>
        <title>#1562: Finish Geo Spatial</title>
        <pubDate>Mon, 19 Dec 2011 10:56:33 GMT</pubDate>
        
        <dc:creator>jilly mathews</dc:creator>

        <description>&lt;p&gt;
Estimated 4 weeks of Adria's time. I guess this will need to be broken down into more tickets. This feature is being requested by a number of potential customers and we have some ideas of requirements between Rufus and Jilly for this. This is the most popular new feature we talk about to new clients.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1562#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1564</link>
        <guid isPermaLink="false">http://localhost/ticket/1564</guid>
        <title>#1564: Structured Data (Data API)</title>
        <pubDate>Mon, 19 Dec 2011 11:07:14 GMT</pubDate>
        
        <dc:creator>jilly mathews</dc:creator>

        <description>&lt;p&gt;
Basic websotre exists but this may be not what is described yet.
&lt;/p&gt;
&lt;p&gt;
CKAN provides a rich API for the data itself, allowing users to query retrieve and use data instantly from datasets in CKAN without needing to download or process it first.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1564#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1565</link>
        <guid isPermaLink="false">http://localhost/ticket/1565</guid>
        <title>#1565: Admin dashboard finished?</title>
        <pubDate>Mon, 19 Dec 2011 11:11:32 GMT</pubDate>
        
        <dc:creator>jilly mathews</dc:creator>

        <description>&lt;p&gt;
Is testing complete and ready for release?
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1565#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1567</link>
        <guid isPermaLink="false">http://localhost/ticket/1567</guid>
        <title>#1567: Finish QA extension</title>
        <pubDate>Mon, 19 Dec 2011 11:19:59 GMT</pubDate>
        
        <dc:creator>jilly mathews</dc:creator>

        <description>&lt;p&gt;
Requires change to celeryd. Estimated 4 weeks.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1567#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1569</link>
        <guid isPermaLink="false">http://localhost/ticket/1569</guid>
        <title>#1569: Wordpressser</title>
        <pubDate>Mon, 19 Dec 2011 11:27:36 GMT</pubDate>
        
        <dc:creator>jilly mathews</dc:creator>

        <description>&lt;p&gt;
How much effort will this be to be ready to use?
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1569#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1572</link>
        <guid isPermaLink="false">http://localhost/ticket/1572</guid>
        <title>#1572: Meta data Harvester</title>
        <pubDate>Mon, 19 Dec 2011 11:35:09 GMT</pubDate>
        
        <dc:creator>jilly mathews</dc:creator>

        <description>&lt;p&gt;
Need to write custom harvesters for each client. Is it worth having one for data hub?
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1572#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1573</link>
        <guid isPermaLink="false">http://localhost/ticket/1573</guid>
        <title>#1573: Apps and Ideas</title>
        <pubDate>Mon, 19 Dec 2011 11:36:33 GMT</pubDate>
        
        <dc:creator>jilly mathews</dc:creator>

        <description>&lt;p&gt;
Estimate 2 weeks for someone to finish and test.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1573#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1577</link>
        <guid isPermaLink="false">http://localhost/ticket/1577</guid>
        <title>#1577: Can't upload file with foreign chars in filename</title>
        <pubDate>Mon, 19 Dec 2011 18:00:59 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
Looks like uploading a file with foreign characters fails due to encoding reasons.
&lt;/p&gt;
&lt;pre class="wiki"&gt;URL: http://thedatahub.org/api/storage/auth/form/2011-12-19T124447/Ministerstvo-financ%C3%AD-%C4%8Cesk%C3%A9-republiky-_-P%C5%99%C3%ADprava-rozpo%C4%8Dtu.pdf
Module weberror.errormiddleware:162 in __call__
&amp;lt;&amp;lt;              __traceback_supplement__ = Supplement, self, environ
                   sr_checker = ResponseStartChecker(start_response)
                   app_iter = self.application(environ, sr_checker)
                   return self.make_catching_iter(app_iter, environ, sr_checker)
               except:
&amp;gt;&amp;gt;  app_iter = self.application(environ, sr_checker)
Module beaker.middleware:73 in __call__
&amp;lt;&amp;lt;                                                     self.cache_manager)
               environ[self.environ_key] = self.cache_manager
               return self.app(environ, start_response)
&amp;gt;&amp;gt;  return self.app(environ, start_response)
Module beaker.middleware:152 in __call__
&amp;lt;&amp;lt;                          headers.append(('Set-cookie', cookie))
                   return start_response(status, headers, exc_info)
               return self.wrap_app(environ, session_start_response)
           def _get_session(self):
&amp;gt;&amp;gt;  return self.wrap_app(environ, session_start_response)
Module routes.middleware:130 in __call__
&amp;lt;&amp;lt;                  environ['SCRIPT_NAME'] = environ['SCRIPT_NAME'][:-1]
               response = self.app(environ, start_response)
               # Wrapped in try as in rare cases the attribute will be gone already
&amp;gt;&amp;gt;  response = self.app(environ, start_response)
Module pylons.wsgiapp:125 in __call__
&amp;lt;&amp;lt;
               controller = self.resolve(environ, start_response)
               response = self.dispatch(controller, environ, start_response)
               if 'paste.testing_variables' in environ and hasattr(response,
&amp;gt;&amp;gt;  response = self.dispatch(controller, environ, start_response)
Module pylons.wsgiapp:324 in dispatch
&amp;lt;&amp;lt;          if log_debug:
                   log.debug("Calling controller class with WSGI interface")
               return controller(environ, start_response)
           def load_test_env(self, environ):
&amp;gt;&amp;gt;  return controller(environ, start_response)
Module ckan.lib.base:123 in __call__
&amp;lt;&amp;lt;          # available in environ['pylons.routes_dict']
               try:
                   return WSGIController.__call__(self, environ, start_response)
               finally:
                   model.Session.remove()
&amp;gt;&amp;gt;  return WSGIController.__call__(self, environ, start_response)
Module pylons.controllers.core:221 in __call__
&amp;lt;&amp;lt;                  return response(environ, self.start_response)
               response = self._dispatch_call()
               if not start_response_called:
                   self.start_response = start_response
&amp;gt;&amp;gt;  response = self._dispatch_call()
Module pylons.controllers.core:172 in _dispatch_call
&amp;lt;&amp;lt;              req.environ['pylons.action_method'] = func
                   response = self._inspect_call(func)
               else:
                   if log_debug:
&amp;gt;&amp;gt;  response = self._inspect_call(func)
Module pylons.controllers.core:107 in _inspect_call
&amp;lt;&amp;lt;                        func.__name__, args)
               try:
                   result = self._perform_call(func, args)
               except HTTPException, httpe:
                   if log_debug:
&amp;gt;&amp;gt;  result = self._perform_call(func, args)
Module pylons.controllers.core:60 in _perform_call
&amp;lt;&amp;lt;          """Hide the traceback for everything above this method"""
               __traceback_hide__ = 'before_and_this'
               return func(**args)
           def _inspect_call(self, func):
&amp;gt;&amp;gt;  return func(**args)
Module ckanext.storage.controller:2 in auth_form
Module ckan.lib.jsonp:26 in jsonpify
&amp;lt;&amp;lt;      Very much modelled after pylons.decorators.jsonify .
           """
           data = func(*args, **kwargs)
           return to_jsonp(data)
&amp;gt;&amp;gt;  data = func(*args, **kwargs)
Module ckanext.storage.controller:301 in auth_form
&amp;lt;&amp;lt;          method = 'POST'
               authorize(method, bucket, label, c.userobj, self.ofs)
               data = self._get_form_data(label)
               return data
&amp;gt;&amp;gt;  authorize(method, bucket, label, c.userobj, self.ofs)
Module ckanext.storage.controller:79 in authorize
&amp;lt;&amp;lt;      if method != 'GET':
               # do not allow overwriting
               if ofs.exists(bucket, key):
                   abort(409)
               # now check user stuff
&amp;gt;&amp;gt;  if ofs.exists(bucket, key):
Module ofs.remote.botostore:53 in exists
&amp;lt;&amp;lt;          if bucket is None:
                   return False
               return (label is None) or (label in bucket)
           def claim_bucket(self, bucket):
&amp;gt;&amp;gt;  return (label is None) or (label in bucket)
Module boto.s3.bucket:87 in __contains__
&amp;lt;&amp;lt;      def __contains__(self, key_name):
              return not (self.get_key(key_name) is None)
           def startElement(self, name, attrs, connection):
&amp;gt;&amp;gt;  return not (self.get_key(key_name) is None)
Module boto.s3.bucket:144 in get_key
&amp;lt;&amp;lt;          response = self.connection.make_request('HEAD', self.name, key_name,
                                                       headers=headers,
                                                       query_args=query_args)
               # Allow any success status (2xx) - for example this lets us
               # support Range gets, which return status 206:
&amp;gt;&amp;gt;  query_args=query_args)
Module boto.s3.connection:388 in make_request
&amp;lt;&amp;lt;          if isinstance(key, Key):
                   key = key.name
               path = self.calling_format.build_path_base(bucket, key)
               boto.log.debug('path=%s' % path)
               auth_path = self.calling_format.build_auth_path(bucket, key)
&amp;gt;&amp;gt;  path = self.calling_format.build_path_base(bucket, key)
Module boto.s3.connection:88 in build_path_base
&amp;lt;&amp;lt;      def build_path_base(self, bucket, key=''):
               return '/%s' % urllib.quote(key)
       class SubdomainCallingFormat(_CallingFormat):
&amp;gt;&amp;gt;  return '/%s' % urllib.quote(key)
Module urllib:1222 in quote
&amp;lt;&amp;lt;              safe_map[c] = (c in safe) and c or ('%%%02X' % i)
               _safemaps[cachekey] = safe_map
           res = map(safe_map.__getitem__, s)
           return ''.join(res)
&amp;gt;&amp;gt;  res = map(safe_map.__getitem__, s)
KeyError: u'\xed'
CGI Variables
AUTH_TYPE	'cookie'
CONTENT_TYPE	'; charset=utf-8'
DOCUMENT_ROOT	'/htdocs'
GATEWAY_INTERFACE	'CGI/1.1'
HTTP_ACCEPT	'*/*'
HTTP_ACCEPT_CHARSET	'ISO-8859-1,utf-8;q=0.7,*;q=0.3'
HTTP_ACCEPT_ENCODING	'gzip,deflate,sdch'
HTTP_ACCEPT_LANGUAGE	'en-US,en;q=0.8'
HTTP_CACHE_CONTROL	'max-age=259200'
HTTP_CONNECTION	'keep-alive'
HTTP_COOKIE	'thedatahub_net=27a7f095fcca1ea6b36df996d595e3278b16f4538862bf7f88d49e2000b9246547c8fd0e; auth_tkt="f9c6ab2b0d9fcd71c4c2408bc12fab544eef1c45elenaibp!userid_type:unicode"; auth_tkt="f9c6ab2b0d9fcd71c4c2408bc12fab544eef1c45elenaibp!userid_type:unicode"; ckan_user=elenaibp; ckan_display_name="Elena Mondo"; ckan_apikey=decd48b1-49ee-4250-bff4-98ccca9c02a5; hide_welcome_message=1; __utma=119670349.1809834699.1323782464.1324293066.1324298316.4; __utmb=119670349.3.10.1324298316; __utmc=119670349; __utmz=119670349.1323782464.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)'
HTTP_HOST	'thedatahub.org'
HTTP_REFERER	'http://thedatahub.org/dataset/edit/budget-library-czeck-republic'
HTTP_USER_AGENT	'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7'
HTTP_VIA	'1.1 localhost (squid/3.0.STABLE19)'
HTTP_X_FORWARDED_FOR	'87.114.74.190'
HTTP_X_REQUESTED_WITH	'XMLHttpRequest'
PATH	'/usr/local/bin:/usr/bin:/bin'
PATH_INFO	'/api/storage/auth/form/2011-12-19T124447/Ministerstvo-financ\xc3\xad-\xc4\x8cesk\xc3\xa9-republiky-_-P\xc5\x99\xc3\xadprava-rozpo\xc4\x8dtu.pdf'
PATH_TRANSLATED	'/home/okfn/var/srvc/ckan.net/pyenv/bin/ckan.net.py/api/storage/auth/form/2011-12-19T124447/Ministerstvo-financ\xc3\xad-\xc4\x8cesk\xc3\xa9-republiky-_-P\xc5\x99\xc3\xadprava-rozpo\xc4\x8dtu.pdf'
REMOTE_ADDR	'193.34.146.142'
REMOTE_PORT	'55419'
REMOTE_USER	u'elenaibp'
REMOTE_USER_DATA	'userid_type:unicode'
REMOTE_USER_TOKENS	['']
REQUEST_METHOD	'GET'
REQUEST_URI	'/api/storage/auth/form/2011-12-19T124447/Ministerstvo-financ%C3%AD-%C4%8Cesk%C3%A9-republiky-_-P%C5%99%C3%ADprava-rozpo%C4%8Dtu.pdf'
SCRIPT_FILENAME	'/home/okfn/var/srvc/ckan.net/pyenv/bin/ckan.net.py'
SCRIPT_URI	'http://thedatahub.org/api/storage/auth/form/2011-12-19T124447/Ministerstvo-financ\xc3\xad-\xc4\x8cesk\xc3\xa9-republiky-_-P\xc5\x99\xc3\xadprava-rozpo\xc4\x8dtu.pdf'
SCRIPT_URL	'/api/storage/auth/form/2011-12-19T124447/Ministerstvo-financ\xc3\xad-\xc4\x8cesk\xc3\xa9-republiky-_-P\xc5\x99\xc3\xadprava-rozpo\xc4\x8dtu.pdf'
SERVER_ADDR	'193.34.146.146'
SERVER_ADMIN	'[no address given]'
SERVER_NAME	'thedatahub.org'
SERVER_PORT	'80'
SERVER_PROTOCOL	'HTTP/1.0'
SERVER_SIGNATURE	'&amp;lt;address&amp;gt;Apache/2.2.14 (Ubuntu) Server at thedatahub.org Port 80&amp;lt;/address&amp;gt;\n'
SERVER_SOFTWARE	'Apache/2.2.14 (Ubuntu)'
WSGI Variables
application	&amp;lt;beaker.middleware.CacheMiddleware object at 0x7f22601c7dd0&amp;gt;
beaker.cache	&amp;lt;beaker.cache.CacheManager object at 0x7f22601c7b50&amp;gt;
beaker.get_session	&amp;lt;bound method SessionMiddleware._get_session of &amp;lt;beaker.middleware.SessionMiddleware object at 0x7f22601c7a90&amp;gt;&amp;gt;
beaker.session	{'_accessed_time': 1324298703.071357, '_creation_time': 1324293077.4139669}
mod_wsgi.application_group	'ckan.net|'
mod_wsgi.callable_object	'application'
mod_wsgi.listener_host	''
mod_wsgi.listener_port	'80'
mod_wsgi.process_group	'ckan.net'
mod_wsgi.reload_mechanism	'1'
mod_wsgi.script_reloading	'1'
mod_wsgi.version	(2, 8)
paste.cookies	(&amp;lt;SimpleCookie: __utma='119670349.1809834699.1323782464.1324293066.1324298316.4' __utmb='119670349.3.10.1324298316' __utmc='119670349' __utmz='119670349.1323782464.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)' auth_tkt='f9c6ab2b0d9fcd71c4c2408bc12fab544eef1c45elenaibp!userid_type:unicode' ckan_apikey='decd48b1-49ee-4250-bff4-98ccca9c02a5' ckan_display_name='Elena Mondo' ckan_user='elenaibp' hide_welcome_message='1' thedatahub_net='27a7f095fcca1ea6b36df996d595e3278b16f4538862bf7f88d49e2000b9246547c8fd0e'&amp;gt;, 'thedatahub_net=27a7f095fcca1ea6b36df996d595e3278b16f4538862bf7f88d49e2000b9246547c8fd0e; auth_tkt="f9c6ab2b0d9fcd71c4c2408bc12fab544eef1c45elenaibp!userid_type:unicode"; auth_tkt="f9c6ab2b0d9fcd71c4c2408bc12fab544eef1c45elenaibp!userid_type:unicode"; ckan_user=elenaibp; ckan_display_name="Elena Mondo"; ckan_apikey=decd48b1-49ee-4250-bff4-98ccca9c02a5; hide_welcome_message=1; _ _utma=119670349.1809834699.1323782464.1324293066.1324298316.4; __utmb=119670349.3.10...)|utmcmd=(none)')
paste.registry	&amp;lt;paste.registry.Registry object at 0x7f226194df50&amp;gt;
paste.throw_errors	True
pylons.action_method	&amp;lt;bound method StorageAPIController.auth_form of &amp;lt;ckanext.storage.controller.StorageAPIController object at 0x7f2261dad990&amp;gt;&amp;gt;
pylons.controller	&amp;lt;ckanext.storage.controller.StorageAPIController object at 0x7f2261dad990&amp;gt;
pylons.environ_config	{'session': 'beaker.session', 'cache': 'beaker.cache'}
pylons.pylons	&amp;lt;pylons.util.PylonsContext object at 0x7f2261daddd0&amp;gt;
pylons.routes_dict	{'action': u'auth_form', 'controller': u'ckanext.storage.controller:StorageAPIController', 'label': u'2011-12-19T124447/Ministerstvo-financ\xed-\u010cesk\xe9-republiky-_-P\u0159\xedprava-rozpo\u010dtu.pdf'}
repoze.who.identity	&amp;lt;repoze.who identity (hidden, dict-like) at 139785645747120&amp;gt;
repoze.who.logger	&amp;lt;logging.Logger instance at 0x7f225e23c098&amp;gt;
repoze.who.plugins	{'openid': &amp;lt;OpenIdIdentificationPlugin 139785625065680&amp;gt;, 'friendlyform': &amp;lt;FriendlyFormPlugin 139785618095248&amp;gt;, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': &amp;lt;ckan.lib.authenticator.UsernamePasswordAuthenticator object at 0x7f2260874c10&amp;gt;, 'auth_tkt': &amp;lt;AuthTktCookiePlugin 139785625065808&amp;gt;, 'ckan.lib.authenticator:OpenIDAuthenticator': &amp;lt;ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f2260874c90&amp;gt;}
routes.route	&amp;lt;routes.route.Route object at 0x7f22601a1090&amp;gt;
routes.url	&amp;lt;routes.util.URLGenerator object at 0x7f2261dadf50&amp;gt;
webob._parsed_query_vars	(GET([]), '')
webob.adhoc_attrs	{'language': 'en-us'}
wsgi process	'Multiprocess'
wsgi.file_wrapper	&amp;lt;built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f2261da9af8&amp;gt;
wsgiorg.routing_args	(&amp;lt;routes.util.URLGenerator object at 0x7f2261dadf50&amp;gt;, {'action': u'auth_form', 'controller': u'ckanext.storage.controller:StorageAPIController', 'label': u'2011-12-19T124447/Ministerstvo-financ\xed-\u010cesk\xe9-republiky-_-P\u0159\xedprava-rozpo\u010dtu.pdf'})
&lt;/pre&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1577#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1578</link>
        <guid isPermaLink="false">http://localhost/ticket/1578</guid>
        <title>#1578: [super] Re-enable and refactor ratings</title>
        <pubDate>Mon, 19 Dec 2011 19:20:43 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description></description>
        <category>Results</category>
        <comments>http://localhost/ticket/1578#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1581</link>
        <guid isPermaLink="false">http://localhost/ticket/1581</guid>
        <title>#1581: Blog post about Google Analytics extension for CKAN</title>
        <pubDate>Tue, 20 Dec 2011 17:40:00 GMT</pubDate>
        
        <dc:creator>johnglover</dc:creator>

        <description>&lt;p&gt;
The CKAN Google Analytics extension has been updated to work with the latest version of CKAN, could make for a nice blog post.
&lt;/p&gt;
&lt;p&gt;
Can ping John Glover in January for any details required.
&lt;/p&gt;
&lt;p&gt;
Key link is: &lt;a class="ext-link" href="http://thedatahub.org/analytics/dataset/top"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://thedatahub.org/analytics/dataset/top&lt;/a&gt; though this should probably move to be under stats (e.g. &lt;a class="ext-link" href="http://thedatahub.org/stats/usage"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://thedatahub.org/stats/usage&lt;/a&gt;)
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1581#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1584</link>
        <guid isPermaLink="false">http://localhost/ticket/1584</guid>
        <title>#1584: QA report improvements - 2.5d</title>
        <pubDate>Wed, 21 Dec 2011 09:23:53 GMT</pubDate>
        
        <dc:creator>johnglover</dc:creator>

        <description>&lt;p&gt;
Super: &lt;a class="closed ticket" href="http://localhost/ticket/1594" title="enhancement: [super] QA Improvements (closed: wontfix)"&gt;#1594&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;qa/{username}
&lt;/li&gt;&lt;li&gt;qa/{groupname}
&lt;/li&gt;&lt;li&gt;paginate QA results
&lt;/li&gt;&lt;li&gt;search / filter QA results
&lt;/li&gt;&lt;li&gt;&lt;del&gt;list organisation report by default, but can disable via config option&lt;/del&gt; (done)
&lt;/li&gt;&lt;li&gt;UX tidy up of report pages - hide border if no sidebar, etc
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1584#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1588</link>
        <guid isPermaLink="false">http://localhost/ticket/1588</guid>
        <title>#1588: QA - Give SPARQL endpoints a 4 star rating</title>
        <pubDate>Wed, 21 Dec 2011 15:13:25 GMT</pubDate>
        
        <dc:creator>johnglover</dc:creator>

        <description>&lt;p&gt;
Super: &lt;a class="closed ticket" href="http://localhost/ticket/1594" title="enhancement: [super] QA Improvements (closed: wontfix)"&gt;#1594&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
From Richard Cyganiak on the CKAN Discuss list:
&lt;/p&gt;
&lt;p&gt;
Besides considering the media type of resources, it would also make sense to check for the presence of a SPARQL endpoint. SPARQL endpoints are recorded for more than 300 datasets on the Data Hub using the pseudo-type "api/sparql". A few more are recorded with the format "SPARQL". I suggest that datasets with such resources should also be considered for the fourth star.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1588#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1589</link>
        <guid isPermaLink="false">http://localhost/ticket/1589</guid>
        <title>#1589: QA - Give 5 star rating to datasets with link metadata</title>
        <pubDate>Wed, 21 Dec 2011 15:16:40 GMT</pubDate>
        
        <dc:creator>johnglover</dc:creator>

        <description>&lt;p&gt;
Super: &lt;a class="closed ticket" href="http://localhost/ticket/1594" title="enhancement: [super] QA Improvements (closed: wontfix)"&gt;#1594&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
From Richard Cyganiak on the CKAN Discuss list:
&lt;/p&gt;
&lt;p&gt;
Regarding the fifth star (is the dataset linked to others?). This cannot be automatically determined just by looking at the format. It either requires inspection of the actual data, or information about links in the metadata. As you're probably aware, we've established conventions for recording information on data links in CKAN &lt;a class="missing changeset" title="No default repository defined"&gt;[1]&lt;/a&gt;, as part of the work of the lodcloud group on the Data Hub. Link information is captured for hundreds of datasets. I would claim that we have the majority of four-star datasets covered there, and hence you can determine if they should get the fifth star by checking for the presence of a links:xxx field.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1589#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1596</link>
        <guid isPermaLink="false">http://localhost/ticket/1596</guid>
        <title>#1596: Refactor authz roles</title>
        <pubDate>Thu, 22 Dec 2011 10:31:28 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
Suggestions from rgrp:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Get rid of Roles, and replace them with direct assignment of actions, even though there are many actions, and extensions can add arbitrary ones.
&lt;/li&gt;&lt;li&gt;Debatable whether we should cut the number of actions to correspond to the three roles defined by the base system.
&lt;/li&gt;&lt;li&gt;Have a method of finding roles (or, in future, actions) relevant to a given protection object (e.g. FILE-UPLOAD(ER) not relevant to Packages)
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
(This ticket is split off from &lt;a class="closed ticket" href="http://localhost/ticket/1065" title="enhancement: [super] Change Authorization System (closed: fixed)"&gt;#1065&lt;/a&gt;)
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1596#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1598</link>
        <guid isPermaLink="false">http://localhost/ticket/1598</guid>
        <title>#1598: Reinstate Ratings</title>
        <pubDate>Thu, 29 Dec 2011 16:52:04 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
Ratings were disabled approximately a year ago because:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Unclear purpose and UX. What did ratings tell you? How useful were they?
&lt;/li&gt;&lt;li&gt;Spamming (esp by bots: you could submit an anonymous rating via a GET request which caused problems)
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Both problems are solvable and it would be nice to have this feature reinstated.
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Purpose: can make this more purposable by limiting to logged in users (or at least distinguishing logged in from non-logged in users)
&lt;ul&gt;&lt;li&gt;Even better we could allow ratings to be made public (I'm interested in what someone else I respect finds important)
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Spamming: limit to logged in users and / or use AJAX over an API to submit ...
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1598#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1604</link>
        <guid isPermaLink="false">http://localhost/ticket/1604</guid>
        <title>#1604: Get ckanext-moderatededits working with CKAN 1.5+ templates</title>
        <pubDate>Sat, 31 Dec 2011 17:27:09 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
ckanext-moderatededits requires an old and possibly development version of CKAN. It would be good to update it for later CKAN versions.
&lt;/p&gt;
&lt;p&gt;
According to the README, you need CKAN from branch feature-1141-moderated-edits-ajax but the changelog suggests this branch went into version 1.4.2. So it possibly works with 1.4.2 and 1.4.3(.1). But CKAN 1.5 has revamped templates, so the genshi stream filters definitely don't work.
&lt;/p&gt;
&lt;p&gt;
BTW history_ajax/read_ajax calls have been deprecated in CKAN since 1.5.2a and will need fixing up to use the Action API too as part of this.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1604#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1606</link>
        <guid isPermaLink="false">http://localhost/ticket/1606</guid>
        <title>#1606: metadata license config option</title>
        <pubDate>Mon, 02 Jan 2012 10:45:30 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
Add a config option to choose the metadata licence. Set default to Open Database License.
&lt;/p&gt;
&lt;p&gt;
Currently the dataset edit form says "Important: By submitting content, you agree to release your contributions under the Open Database License." This is hard-coded, but not suitable for when DGU uses the CKAN form - they use the OGL.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1606#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1635</link>
        <guid isPermaLink="false">http://localhost/ticket/1635</guid>
        <title>#1635: Email notifications (e.g. for activity streams)</title>
        <pubDate>Wed, 11 Jan 2012 17:56:27 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
CKAN should be able to send email notifications to users.
&lt;/p&gt;
&lt;p&gt;
Maybe have a notifications table in the db, and a server-side job that runs periodically and consumes rows from this table, mailing them to the users.
&lt;/p&gt;
&lt;p&gt;
One thing that we may want to send users notifications of is activity stream events. So the activity streams code would have to add rows to the notifications table for the mailer job to consume. But remember that email notifications feature is separate from activity streams - we may want to send notifications of other things as well.
&lt;/p&gt;
&lt;p&gt;
Need to implement (at least some of) &lt;a class="closed ticket" href="http://localhost/ticket/1634" title="enhancement: Allow users to follow/unfollow activity streams of other users, datasets ... (closed: duplicate)"&gt;#1634&lt;/a&gt; before this can be implemented, in order to have something to send notifications about.
&lt;/p&gt;
&lt;p&gt;
Analysis here: &lt;a class="ext-link" href="http://ckan.okfnpad.org/27"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://ckan.okfnpad.org/27&lt;/a&gt;
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1635#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1642</link>
        <guid isPermaLink="false">http://localhost/ticket/1642</guid>
        <title>#1642: Extra link generators generate garbled HTML</title>
        <pubDate>Thu, 12 Jan 2012 15:29:31 GMT</pubDate>
        
        <dc:creator>pudo</dc:creator>

        <description>&lt;p&gt;
I had a package descriptions with URLs that contain "group:foo". This produces garbled output as the system tries to generate two sets of links: the outer link and an inner link.
&lt;/p&gt;
&lt;p&gt;
Need to fix the parser.
&lt;/p&gt;
&lt;p&gt;
Text:
&lt;/p&gt;
&lt;p&gt;
Webdienst basierende Bereitstellung von Geobasisdaten der Freien und Hansestadt Hamburg. Folgende Geobasisdaten werden als &lt;a class="missing wiki"&gt;WebMapTileService?&lt;/a&gt; (WMT-S) für die Dauer des Wettbewerbs netzbasiert unter der Creative Commons Lizenz zur Verfügung gestellt: Digitale Orthophotos 40 cm Auflösung (Layer: apps4d_DOP40), Digitale Stadtkarte (Layer: apps4d_DISK), Digitale Regionalkarte (Layer: apps4d_DIRK), Digitale Karte 1:5000 (Layer: apps4d_DK5).
&lt;/p&gt;
&lt;p&gt;
Metadateneinträge zu den Daten im PortalU:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;[apps4d_DOP40](&lt;a class="ext-link" href="http://www.portalu.de/trefferanzeige?docuuid=D6082285-6CAC-49C5-B7ED-B5A72BC17DEC&amp;amp;plugid=/kug-group:kug-iplug-udk-db_hh"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://www.portalu.de/trefferanzeige?docuuid=D6082285-6CAC-49C5-B7ED-B5A72BC17DEC&amp;amp;plugid=/kug-group:kug-iplug-udk-db_hh&lt;/a&gt;)
&lt;/li&gt;&lt;li&gt;[apps4d_DISK](&lt;a class="ext-link" href="http://www.portalu.de/trefferanzeige?docuuid=D2DA3359-3DC9-4CA4-AE9B-7C63D53B220F&amp;amp;plugid=/kug-group:kug-iplug-udk-db_hh"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://www.portalu.de/trefferanzeige?docuuid=D2DA3359-3DC9-4CA4-AE9B-7C63D53B220F&amp;amp;plugid=/kug-group:kug-iplug-udk-db_hh&lt;/a&gt;)
&lt;/li&gt;&lt;li&gt;[apps4d_DIRK](&lt;a class="ext-link" href="http://www.portalu.de/trefferanzeige?docuuid=B7DDD599-F677-4C80-BED5-F11D82D5D1DD&amp;amp;plugid=/kug-group:kug-iplug-udk-db_hh"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://www.portalu.de/trefferanzeige?docuuid=B7DDD599-F677-4C80-BED5-F11D82D5D1DD&amp;amp;plugid=/kug-group:kug-iplug-udk-db_hh&lt;/a&gt;)
&lt;/li&gt;&lt;li&gt;[apps4d_DK5](&lt;a class="ext-link" href="http://www.portalu.de/trefferanzeige?docuuid=2AE6D23E-48A5-4D85-BC0A-160737E0C8D2&amp;amp;plugid=/kug-group:kug-iplug-udk-db_hh"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://www.portalu.de/trefferanzeige?docuuid=2AE6D23E-48A5-4D85-BC0A-160737E0C8D2&amp;amp;plugid=/kug-group:kug-iplug-udk-db_hh&lt;/a&gt;)
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
One fix is quoting the URLs
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1642#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1643</link>
        <guid isPermaLink="false">http://localhost/ticket/1643</guid>
        <title>#1643: Add fixed tags to thedatahub for better browsing</title>
        <pubDate>Thu, 12 Jan 2012 18:34:53 GMT</pubDate>
        
        <dc:creator>shevski</dc:creator>

        <description>&lt;p&gt;
Similar to publicdata.eu, want to have themed areas such as finance, environment, census, etc and country tags
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1643#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1644</link>
        <guid isPermaLink="false">http://localhost/ticket/1644</guid>
        <title>#1644: Order default dataset page by most downloaded resources on thedatahub</title>
        <pubDate>Thu, 12 Jan 2012 18:39:02 GMT</pubDate>
        
        <dc:creator>shevski</dc:creator>

        <description>&lt;p&gt;
Instead of alphabetically as we do currently, alternatively by most viewed datasets
&lt;/p&gt;
&lt;p&gt;
for &lt;a class="ext-link" href="http://thedatahub.org/dataset"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://thedatahub.org/dataset&lt;/a&gt;
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1644#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1647</link>
        <guid isPermaLink="false">http://localhost/ticket/1647</guid>
        <title>#1647: add links to ckan discuss &amp; dev to thedatahub</title>
        <pubDate>Mon, 16 Jan 2012 00:30:52 GMT</pubDate>
        
        <dc:creator>shevski</dc:creator>

        <description>&lt;p&gt;
In the footer as well as more clearly &amp;amp; directly on the About page
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1647#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1667</link>
        <guid isPermaLink="false">http://localhost/ticket/1667</guid>
        <title>#1667: Add an extension point for rendering activity streams</title>
        <pubDate>Tue, 17 Jan 2012 10:29:11 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
Currently rendering of activity stream events to HTML works by looking up a rendering function in a dictionary that maps activity types ('new package', 'changed group', etc.) to rendering functions that take an activity stream event and return the rendered HTML.
&lt;/p&gt;
&lt;p&gt;
There needs to be an extension point where extensions can register their own rendering functions for particular activity types.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1667#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1668</link>
        <guid isPermaLink="false">http://localhost/ticket/1668</guid>
        <title>#1668: repoze version discrepency</title>
        <pubDate>Tue, 17 Jan 2012 12:02:26 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
There's a discrepency in repoze.who versions between the source and package installs:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;repoze.who - package 1.0.18 vs source 1.0.19
&lt;/li&gt;&lt;li&gt;repoze.who-friendlyform - package 1.0b3 vs source 1.0.8
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
We get a test failure &lt;a class="missing changeset" title="No default repository defined"&gt;[1]&lt;/a&gt; with the 1.0b3 version (from the ubuntu 10.04 python-repoze.who-plugins package). But we've not noticed any problems on s057 instances (br, no, ie etc) which have the package versions of repoze.who.
&lt;/p&gt;
&lt;p&gt;
The reason the package install uses the earlier packaged versions rather than the ones we'd like is that repoze uses all sorts of horrendous import hacks, making it too difficult to put into our 'ckan-conflict' source package.
&lt;/p&gt;
&lt;p&gt;
James suggests we 'do something horrible like dynamically patch repoze on CKAN import'.
&lt;/p&gt;
&lt;p&gt;
&lt;a class="missing changeset" title="No default repository defined"&gt;[1]&lt;/a&gt; &lt;a class="ext-link" href="http://buildbot.okfn.org/builders/builder-ckan/builds/1371/steps/shell/logs/stdio"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://buildbot.okfn.org/builders/builder-ckan/builds/1371/steps/shell/logs/stdio&lt;/a&gt;
ERROR: ckan.tests.functional.test_user.&lt;a class="missing wiki"&gt;TestUserController?&lt;/a&gt;.test_user_create_unicode
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1668#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1679</link>
        <guid isPermaLink="false">http://localhost/ticket/1679</guid>
        <title>#1679: Default roles problem</title>
        <pubDate>Tue, 17 Jan 2012 17:57:22 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
The 'editor', 'anon_editor' and 'reader' roles are intended to have immutable actions. This was designed to prevent their names being subverted - e.g. an editor should always be able to edit! It also meant that when we add Actions (e.g. DELETE-PACKAGE) then it can be added sensibly to these roles in an upgrade just by changing the defaults table (ckan/model/authz.py).
&lt;/p&gt;
&lt;p&gt;
The problem is that this immutability is only enforced on 'db upgrade'. So you can happily change the editor role using the paster command and it works, right up until you do an upgrade and realise permissions are different.
&lt;/p&gt;
&lt;p&gt;
We should stop the paster commands being able to edit these roles. Or get rid of the immutability completely. Views?
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1679#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1697</link>
        <guid isPermaLink="false">http://localhost/ticket/1697</guid>
        <title>#1697: A Configurable list of states for a Dataset</title>
        <pubDate>Tue, 24 Jan 2012 10:23:50 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
Currently have 'active' and 'deleted' suggest also:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;'draft'
&lt;/li&gt;&lt;li&gt;'hidden'
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
(Do we need both). Also write out workflows related to these.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1697#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1717</link>
        <guid isPermaLink="false">http://localhost/ticket/1717</guid>
        <title>#1717: [super] Search UX improvements</title>
        <pubDate>Thu, 26 Jan 2012 18:53:01 GMT</pubDate>
        
        <dc:creator>shevski</dc:creator>

        <description>&lt;ol&gt;&lt;li&gt;Make it possible to search by tag (e.g. by typing tag:csv into the search bar and clicking enter, it should add the 'csv' tag facet to the search)
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="2"&gt;&lt;li&gt;Rename and standardise the list of format tags, on search page this should also be called 'Format' instead of 'res_format' (in the right hand side bar on search page).
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="3"&gt;&lt;li&gt;Make it possible to view full list of tags, formats and groups by clicking on the name. From here you should be table to click on a classification and go back to a search page faceted by that classification. E.g. from search page, click on 'tags', on tag page click on 'london' or whatever, and be navigated back to search page with search within 'london' tag only.  Or y'know, a better way of doing it.
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="4"&gt;&lt;li&gt;More standard classifications, such as 'Location' and 'Theme' - like on publicdata.eu
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="5"&gt;&lt;li&gt;Blue search button should be displayed in line with the search bar, not underneath
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="6"&gt;&lt;li&gt;Datasets should be displayed in order of most viewed or downloaded instead of alphabetically. For alphabetic search we could consider adding a way to facet by first letter of dataset name
&lt;/li&gt;&lt;/ol&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1717#changelog</comments>
    </item>
 </channel>
</rss>