<?xml version="1.0"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>CKAN: {9} Agile Backlog</title>
    <link>http://localhost/report/9</link>
    <description>Trac Report - Tickets showing cost and value estimates, and ordered by their ratio.</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/report/9</link>
    </image>
    <generator>Trac v0.12.3</generator>
      <item>
                  <title>#2412: More than one resource invalidatiing breaks dataset edit form</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 22 May 2012 20:05:48 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:07:14 GMT</pubDate>
                  <description>&lt;p&gt;
When attempting to add more than one resource at once, if more than one resource invalidates, this results in a js error, leaving the form in an inconsistent state.
&lt;/p&gt;
&lt;p&gt;
Repro:
&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Go to /dataset/new
&lt;/li&gt;&lt;li&gt;Add a new resource.  Fill in one of the fields with an invalid value. eg - last_modified, or size...
&lt;/li&gt;&lt;li&gt;Add another resource, doing the same thing: make one of the fields invalid.
&lt;/li&gt;&lt;li&gt;Try to save the dataset.
&lt;/li&gt;&lt;li&gt;The entered resource information will be lost, and a js error "Uncaught Error: Can't add the same model to a set twice,: backbone.js:586" will be thrown.
&lt;/li&gt;&lt;/ol&gt;</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2412</link>
        <guid isPermaLink="false">http://localhost/ticket/2412</guid>
        <category>Report</category>
      </item><item>
                  <title>#277: Set some config options / settings in WUI (extension)</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 22 Mar 2010 16:21:01 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 10 Oct 2011 11:45:21 GMT</pubDate>
                  <description>&lt;h2 id="Usecase"&gt;Use case&lt;/h2&gt;
&lt;p&gt;
As a ckan administrator I want to easily change options about the CKAN install.
&lt;/p&gt;
&lt;h2 id="Implementation"&gt;Implementation&lt;/h2&gt;
&lt;h3 id="SettingstobeinDB"&gt;Settings to be in DB&lt;/h3&gt;
&lt;p&gt;
Suggested:
&lt;/p&gt;
&lt;pre class="wiki"&gt;## Title of site (using in several places including templates and &amp;lt;title&amp;gt; tag
ckan.site_title = CKAN
## Logo image to use (replaces site_title string on front page if defined)
ckan.site_logo = http://assets.okfn.org/p/ckan/img/ckan_logo_box.png
## Site tagline / description (used on front page)
ckan.site_description =
## Used in creating some absolute urls (such as rss feeds, css files) and
## dump filenames
ckan.site_url =
## Favicon (default is the CKAN software favicon)
ckan.favicon = http://assets.okfn.org/p/ckan/img/ckan.ico
## An 'id' for the site (using, for example, when creating entries in a common search index)
## If not specified derived from the site_url
# ckan.site_id = ckan.net
## API url to use (e.g. in AJAX callbacks)
## Enable if the API is at a different domain
# ckan.api_url = http://www.ckan.net
## html content to be inserted just before &amp;lt;/body&amp;gt; tag (e.g. google analytics code)
## NB: can use html e.g. &amp;lt;strong&amp;gt;blah&amp;lt;/strong&amp;gt;
## NB: can have multiline strings just indent following lines
# ckan.template_footer_end =
&lt;/pre&gt;&lt;p&gt;
NB: these will still need to be stored somewhere for loading on initialization. do this in db init function ...
&lt;/p&gt;
&lt;h3 id="SettingsOptionsKeyValuesTable"&gt;Settings / Options / &lt;a class="missing wiki"&gt;KeyValues?&lt;/a&gt; Table&lt;/h3&gt;
&lt;p&gt;
Columns:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;[namespace]: ? only if &lt;a class="missing wiki"&gt;KeyValues?&lt;/a&gt; (for settings this would then always be settings)
&lt;/li&gt;&lt;li&gt;key
&lt;/li&gt;&lt;li&gt;label
&lt;/li&gt;&lt;li&gt;value (json)
&lt;/li&gt;&lt;li&gt;type (e.g. date and to specify in advance what type should be)
&lt;/li&gt;&lt;li&gt;description
&lt;/li&gt;&lt;li&gt;tags: ?? (for grouping ...)
&lt;/li&gt;&lt;/ul&gt;&lt;h3 id="LoadingsettingsfromDB"&gt;Loading settings from DB&lt;/h3&gt;
&lt;p&gt;
Do this in ckan/config/environment.py
&lt;/p&gt;
&lt;h3 id="WUI"&gt;WUI&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;/ckan-admin/settings
&lt;/li&gt;&lt;li&gt;Show label, plus description plus text field
&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="Depends"&gt;Depends&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Would be part of ckan-admin section and hence build on &lt;a class="closed ticket" href="http://localhost/ticket/833" title="enhancement: [super] Administrative dashboard extension (closed: fixed)"&gt;ticket:833&lt;/a&gt; (Administrative dashboard)
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/277</link>
        <guid isPermaLink="false">http://localhost/ticket/277</guid>
        <category>Report</category>
      </item><item>
                  <title>#1358: Generate configuration documentation automatically from the deployment_ini_tmpl file</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 26 Sep 2011 22:32:30 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 10 Oct 2011 14:43:43 GMT</pubDate>
                  <description>&lt;p&gt;
At the moment documentation of config options is duplicated between source (deployment_ini_tmpl in ckan/config which is used to generate user ini file) and the docs.
&lt;/p&gt;
&lt;p&gt;
Suggest we write a script that automatedly generates reference documentation for the config from the source.
&lt;/p&gt;
&lt;p&gt;
May be obsoleted by &lt;a class="assigned ticket" href="http://localhost/ticket/277" title="enhancement: Set some config options / settings in WUI (extension) (assigned)"&gt;#277&lt;/a&gt; (some config in db)
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1358</link>
        <guid isPermaLink="false">http://localhost/ticket/1358</guid>
        <category>Report</category>
      </item><item>
                  <title>#1403: Refactor groups index page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 17 Oct 2011 10:31:52 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 17 Oct 2011 10:32:46 GMT</pubDate>
                  <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>
                  
        <dc:creator>zephod</dc:creator>

        <link>http://localhost/ticket/1403</link>
        <guid isPermaLink="false">http://localhost/ticket/1403</guid>
        <category>Report</category>
      </item><item>
                  <title>#1411: Force resource format to be lower case (also mimetype)</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 22 Oct 2011 21:40:04 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 22 Oct 2011 21:40:04 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1411</link>
        <guid isPermaLink="false">http://localhost/ticket/1411</guid>
        <category>Report</category>
      </item><item>
                  <title>#1507: Minor fixes to dataset add on Group edit form - 0.5d</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 05 Dec 2011 12:33:49 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:40:20 GMT</pubDate>
                  <description>&lt;p&gt;
Group edit dataset add form needs some work
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Dataset name is not cleared when you add
&lt;/li&gt;&lt;li&gt;No way to remove item from list of datasets to be added if I make a mistake
&lt;/li&gt;&lt;li&gt;(2nd Apr 2012) It now seems that option to add multiple datasets at once has disappeared (perhaps during the CSS/HTML refactor ...)
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1507</link>
        <guid isPermaLink="false">http://localhost/ticket/1507</guid>
        <category>Report</category>
      </item><item>
                  <title>#1782: Improvements to datasets page UX (Feb 2012)</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 07 Feb 2012 10:10:41 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:40:32 GMT</pubDate>
                  <description>&lt;ul&gt;&lt;li&gt;Relationships in sidebar [WONTFIX yet without some link to documentation or datastructure, something for me to render?]
&lt;/li&gt;&lt;li&gt;&lt;del&gt;Icons for *types* of resources in resource list&lt;/del&gt;
&lt;/li&gt;&lt;li&gt;List of 'Owners' (administrators) at top right of sidebar (a la group page)
&lt;ul&gt;&lt;li&gt;Much prefer owner to administrator ...
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1782</link>
        <guid isPermaLink="false">http://localhost/ticket/1782</guid>
        <category>Report</category>
      </item><item>
                  <title>#2751: check translations for full demo site</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 25 Jul 2012 11:40:43 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 06 Aug 2012 08:50:46 GMT</pubDate>
                  <description>&lt;p&gt;
need to check everything gets translated - sean did this before so will have info
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2751</link>
        <guid isPermaLink="false">http://localhost/ticket/2751</guid>
        <category>Report</category>
      </item><item>
                  <title>#2363: Documentation of best caching practice.</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 01 May 2012 16:16:57 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 19 Jun 2012 09:56:34 GMT</pubDate>
                  <description>&lt;p&gt;
Need better documentation on best practices in making page loads faster for non logged in users.
&lt;/p&gt;
</description>
                  
        <dc:creator>kindly</dc:creator>

        <link>http://localhost/ticket/2363</link>
        <guid isPermaLink="false">http://localhost/ticket/2363</guid>
        <category>Report</category>
      </item><item>
                  <title>#2326: dataset permalinks</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 25 Apr 2012 16:39:06 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 13:46:39 GMT</pubDate>
                  <description>&lt;p&gt;
create permalinks
&lt;/p&gt;
&lt;p&gt;
eg \dataset\~a5-DQ\nice-name
&lt;/p&gt;
&lt;p&gt;
~XXXXX defines the permalink the nice-name is ignored
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;packages table needs a new field for this data
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;existing datasets need updating
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;new datasets need the identifier creating
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;routing needs updating
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;needs to work for all urls like edit
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Once this is implemented we can decide when we will use permalinks vs the normal urls.
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2326</link>
        <guid isPermaLink="false">http://localhost/ticket/2326</guid>
        <category>Report</category>
      </item><item>
                  <title>#2433: API uses name not id for some version 3 calls</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 25 May 2012 14:54:08 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 19 Jun 2012 09:57:00 GMT</pubDate>
                  <description>&lt;p&gt;
see &lt;a class="ext-link" href="https://github.com/okfn/ckan/pull/5"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://github.com/okfn/ckan/pull/5&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2433</link>
        <guid isPermaLink="false">http://localhost/ticket/2433</guid>
        <category>Report</category>
      </item><item>
                  <title>#2461: Create demo revisions page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 13:34:15 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 20:23:58 GMT</pubDate>
                  <description>&lt;p&gt;
I believe this is to be merged in with site activity.
&lt;/p&gt;
&lt;p&gt;
Discussion:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Implementation:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://s031.okserver.org:2375/en/revision"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/en/revision&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>aron.carroll</dc:creator>

        <link>http://localhost/ticket/2461</link>
        <guid isPermaLink="false">http://localhost/ticket/2461</guid>
        <category>Report</category>
      </item><item>
                  <title>#2698: markdown preview</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 18 Jul 2012 14:01:25 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 20:14:12 GMT</pubDate>
                  <description>&lt;p&gt;
for description / other fields with markdown support
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2698</link>
        <guid isPermaLink="false">http://localhost/ticket/2698</guid>
        <category>Report</category>
      </item><item>
                  <title>#2775: Add bin/less to paster serve command</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 30 Jul 2012 22:01:26 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 20:26:02 GMT</pubDate>
                  <description>&lt;p&gt;
Ideally the ./bin/less command would be run when the server is started.
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Also it would be good to have a paster command to build the production CSS with {{{ ./bin/less --production }}
&lt;/li&gt;&lt;li&gt;The command could also detect missing node binaries and redirect to the documentation.
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>aron.carroll</dc:creator>

        <link>http://localhost/ticket/2775</link>
        <guid isPermaLink="false">http://localhost/ticket/2775</guid>
        <category>Report</category>
      </item><item>
                  <title>#2822: Resource additional info titles format/i18n</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 09:30:20 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 20:26:25 GMT</pubDate>
                  <description>&lt;p&gt;
the title for additional info should be translated
&lt;/p&gt;
&lt;p&gt;
capitalised etc
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2822</link>
        <guid isPermaLink="false">http://localhost/ticket/2822</guid>
        <category>Report</category>
      </item><item>
                  <title>#2416: Normalise resource/data types</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 23 May 2012 17:09:06 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 18 Jul 2012 13:23:22 GMT</pubDate>
                  <description>&lt;p&gt;
Currently we have far too many types that are essentially the same format. The new demo theme is using icons for common types. So we need to normalise the common formats into pretty strings. e.g. application/json, JSON, .json and json all should be output as “json”
&lt;/p&gt;
&lt;p&gt;
See the following Basecamp thread for UI examples and discussion.
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/61906351/comments#comment_179681056"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/61906351/comments#comment_179681056&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>aron.carroll</dc:creator>

        <link>http://localhost/ticket/2416</link>
        <guid isPermaLink="false">http://localhost/ticket/2416</guid>
        <category>Report</category>
      </item><item>
                  <title>#2555: Demo site needs a breadcrumb helper</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 18 Jun 2012 13:43:03 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 18 Jul 2012 13:33:04 GMT</pubDate>
                  <description>&lt;p&gt;
Something to make building breadcrumbs a bit nicer
&lt;/p&gt;
</description>
                  
        <dc:creator>aron.carroll</dc:creator>

        <link>http://localhost/ticket/2555</link>
        <guid isPermaLink="false">http://localhost/ticket/2555</guid>
        <category>Report</category>
      </item><item>
                  <title>#2823: resource additional info title order</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 09:32:53 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 09:32:53 GMT</pubDate>
                  <description>&lt;p&gt;
Order the items so that none user fields are first from ticket &lt;a class="closed ticket" href="http://localhost/ticket/2707" title="enhancement: Tidy up additional info boxes on dataset and resource pages (closed: fixed)"&gt;#2707&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2823</link>
        <guid isPermaLink="false">http://localhost/ticket/2823</guid>
        <category>Report</category>
      </item><item>
                  <title>#2938: Explain bundling in doc/resources.rst</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 24 Sep 2012 12:13:55 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 24 Sep 2012 12:13:55 GMT</pubDate>
                  <description>&lt;p&gt;
Since it makes sense to bundle resources into one js file that are commonly used together, there should be some explanations on how separate js scripts are merged into one file for production.
&lt;/p&gt;
&lt;p&gt;
Explanations could include how groups are handled or different resource files.
&lt;/p&gt;
</description>
                  
        <dc:creator>dominik</dc:creator>

        <link>http://localhost/ticket/2938</link>
        <guid isPermaLink="false">http://localhost/ticket/2938</guid>
        <category>Report</category>
      </item><item>
                  <title>#2939: Orgs are groups</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 25 Sep 2012 09:07:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 25 Sep 2012 09:07:14 GMT</pubDate>
                  <description>&lt;p&gt;
holder for ticket number
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2939</link>
        <guid isPermaLink="false">http://localhost/ticket/2939</guid>
        <category>Report</category>
      </item><item>
                  <title>#3012: data.gov auth</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 08 Nov 2012 16:50:09 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 08 Nov 2012 16:50:09 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/3012</link>
        <guid isPermaLink="false">http://localhost/ticket/3012</guid>
        <category>Report</category>
      </item><item>
                  <title>#2244: clean up auth</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Mar 2012 17:22:51 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:43:22 GMT</pubDate>
                  <description>&lt;ul&gt;&lt;li&gt;cache admins etc
&lt;/li&gt;&lt;li&gt;aim to move check_access so independent of logic function
&lt;/li&gt;&lt;li&gt;general spruce up
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2244</link>
        <guid isPermaLink="false">http://localhost/ticket/2244</guid>
        <category>Report</category>
      </item><item>
                  <title>#2282: log api calls for users</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 10 Apr 2012 16:18:45 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 13:13:49 GMT</pubDate>
                  <description>&lt;p&gt;
This was part of &lt;a class="closed ticket" href="http://localhost/ticket/2251" title="enhancement: Internal analytics for ckan. (closed: fixed)"&gt;#2251&lt;/a&gt; but is now it's own ticket.
&lt;/p&gt;
&lt;p&gt;
we need clarity on this.  The use cases so far have been possible limiting api calls for users.
&lt;/p&gt;
&lt;p&gt;
so we want to monitor the user or ip address
&lt;/p&gt;
&lt;p&gt;
what about the api calls?
&lt;/p&gt;
&lt;p&gt;
do we want to record all calls or just some?  do we want to record the type of call and to what level of detail?
&lt;/p&gt;
&lt;p&gt;
recording the url just seems to specific to me.
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2282</link>
        <guid isPermaLink="false">http://localhost/ticket/2282</guid>
        <category>Report</category>
      </item><item>
                  <title>#2411: .ini file is a mess</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 22 May 2012 11:41:40 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 13:14:32 GMT</pubDate>
                  <description>&lt;p&gt;
The .ini file needs cleaning up in assorted ways which Toby will expand upon.
&lt;/p&gt;
</description>
                  
        <dc:creator>markw</dc:creator>

        <link>http://localhost/ticket/2411</link>
        <guid isPermaLink="false">http://localhost/ticket/2411</guid>
        <category>Report</category>
      </item><item>
                  <title>#2499: Documentation for the internal analytics</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 07 Jun 2012 11:58:17 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 07 Jun 2012 11:58:17 GMT</pubDate>
                  <description>&lt;p&gt;
There's no docs for setting up the internal analytics, nor what it provides.
&lt;/p&gt;
&lt;h2 id="Setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;
Add:  &lt;tt&gt;ckan.tracking_enabled = true&lt;/tt&gt; to .ini file
&lt;/p&gt;
&lt;p&gt;
Run: &lt;tt&gt;paster tracking -c dev.ini&lt;/tt&gt;
&lt;/p&gt;
&lt;h2 id="Relatedlinks"&gt;Related links&lt;/h2&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://trac.ckan.org/ticket/2251"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://trac.ckan.org/ticket/2251&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2499</link>
        <guid isPermaLink="false">http://localhost/ticket/2499</guid>
        <category>Report</category>
      </item><item>
                  <title>#2257: cleanup template vars</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 23 Mar 2012 14:35:07 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 19 Jun 2012 09:11:11 GMT</pubDate>
                  <description>&lt;p&gt;
look at reducing what is pulled into templates eg ckan.lib.helpers
ensure that these changes don't break existing extensions etc
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2257</link>
        <guid isPermaLink="false">http://localhost/ticket/2257</guid>
        <category>Report</category>
      </item><item>
                  <title>#2572: clean up stats plugin</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 19 Jun 2012 11:24:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 28 Jun 2012 16:05:24 GMT</pubDate>
                  <description>&lt;p&gt;
attempt to disengage the stats plugin from core as much as possible
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2572</link>
        <guid isPermaLink="false">http://localhost/ticket/2572</guid>
        <category>Report</category>
      </item><item>
                  <title>#2579: move sort_by functions into lib.helpers</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 21 Jun 2012 12:29:58 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 28 Jun 2012 16:02:17 GMT</pubDate>
                  <description>&lt;p&gt;
make these more available but keep existing functionality so not to break any users
&lt;/p&gt;
&lt;p&gt;
remove_field()
&lt;/p&gt;
&lt;p&gt;
drill_down_url()
&lt;/p&gt;
&lt;p&gt;
etc
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2579</link>
        <guid isPermaLink="false">http://localhost/ticket/2579</guid>
        <category>Report</category>
      </item><item>
                  <title>#2663: h.resource_display_name needs love</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 11 Jul 2012 14:42:26 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 11 Jul 2012 14:42:26 GMT</pubDate>
                  <description>&lt;p&gt;
This function is shit and needs cleaning up and a doc string
&lt;/p&gt;
&lt;p&gt;
description is markdown and should be treated properly
&lt;/p&gt;
&lt;p&gt;
either we should truncate all or leave it to the templates but work universally
&lt;/p&gt;
&lt;p&gt;
url if no name / desc this is in demo-theme branch
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2663</link>
        <guid isPermaLink="false">http://localhost/ticket/2663</guid>
        <category>Report</category>
      </item><item>
                  <title>#2758: file storage gives error if config not available but no useful user information</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 Jul 2012 07:28:29 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 Jul 2012 07:28:29 GMT</pubDate>
                  <description>&lt;p&gt;
We get an error which should be improved the actual problem is this but not passed to user
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
⇝ &lt;a class="missing wiki"&gt;KeyError?&lt;/a&gt;: 'ofs.impl'
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
View as:   Interactive (full)  |  Text (full)  |  XML (full)
Module ckan.controllers.storage:2 in auth_form         view
Module ckan.lib.jsonp:26 in jsonpify         view
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
data = func(*args, &lt;strong&gt;kwargs)
&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module ckan.controllers.storage:407 in auth_form         view
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
authorize(method, bucket, label, c.userobj, self.ofs)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module ckan.controllers.storage:200 in ofs         view
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
StorageAPIController._ofs_impl = get_ofs()
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module ckan.controllers.storage:71 in get_ofs         view
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
storage_backend = config&lt;a class="missing wiki"&gt;ofs.impl?&lt;/a&gt;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module paste.registry:146 in &lt;span class="underline"&gt;getitem&lt;/span&gt;         view
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return self._current_obj()[key]
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;a class="missing wiki"&gt;KeyError?&lt;/a&gt;: 'ofs.impl'
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2758</link>
        <guid isPermaLink="false">http://localhost/ticket/2758</guid>
        <category>Report</category>
      </item><item>
                  <title>#2718: can't add dataset to more than one group</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 20 Jul 2012 10:35:50 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 20:30:03 GMT</pubDate>
                  <description>&lt;p&gt;
trying to add a dataset to another group means it's no longer part of the first group
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://demo.ckan.org/dataset/edit/afterfibre"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://demo.ckan.org/dataset/edit/afterfibre&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2718</link>
        <guid isPermaLink="false">http://localhost/ticket/2718</guid>
        <category>Report</category>
      </item><item>
                  <title>#2721: deleted groups should not show on 'Add to Groups' dropdown</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 22 Jul 2012 09:17:12 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 20:30:14 GMT</pubDate>
                  <description>&lt;p&gt;
Groups previously deleted still show up in the add dataset process in step 3 'Additional info'
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://s031.okserver.org:2375/dataset/new_metadata/ff"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/dataset/new_metadata/ff&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2721</link>
        <guid isPermaLink="false">http://localhost/ticket/2721</guid>
        <category>Report</category>
      </item><item>
                  <title>#2728: deleted group shows on search index - for admins</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 22 Jul 2012 09:53:04 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 15 Aug 2012 09:45:44 GMT</pubDate>
                  <description>&lt;p&gt;
'test-group', which has been deleted,shows up on main search page under groups - and can be filtered by - see &lt;a class="ext-link" href="http://s031.okserver.org:2375/dataset?groups=test-group"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/dataset?groups=test-group&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2728</link>
        <guid isPermaLink="false">http://localhost/ticket/2728</guid>
        <category>Report</category>
      </item><item>
                  <title>#2780: way for admins to undelete datasets</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 31 Jul 2012 12:20:48 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 15 Aug 2012 09:43:31 GMT</pubDate>
                  <description>&lt;p&gt;
Since admins can see deleted datasets - there should be a way for them
a) to know they are currently deleted &amp;amp; not viewable by normal users - ticket: &lt;a class="closed ticket" href="http://localhost/ticket/2779" title="enhancement: add 'deleted' to deleted datasets that admins can view (closed: fixed)"&gt;#2779&lt;/a&gt;
b) way to undelete such datasets - this ticket
&lt;/p&gt;
&lt;p&gt;
I suggest a button on the edit form instead of the delete button
i.e. remove normal delete button with 'deleted dataset, only admins can view' with undelete button next to the message?
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2780</link>
        <guid isPermaLink="false">http://localhost/ticket/2780</guid>
        <category>Report</category>
      </item><item>
                  <title>#2828: Draft datasets are confusing - tickets need creating</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 09:56:18 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 21:22:04 GMT</pubDate>
                  <description>&lt;p&gt;
reported as editing datasets incorrect
&lt;/p&gt;
&lt;p&gt;
e.g. clicking on edit here &lt;a class="ext-link" href="http://s031.okserver.org:2375/dataset/ff"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/dataset/ff&lt;/a&gt;
takes you to create dataset page &lt;a class="ext-link" href="http://s031.okserver.org:2375/dataset/edit/ff"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/dataset/edit/ff&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
but this is the correct behaviour of a draft dataset
&lt;/p&gt;
&lt;p&gt;
We need to show draft datasets correctly
&lt;/p&gt;
&lt;p&gt;
proper tickets need making for the different issues after review of issues with them - who can see, where, admins and viewing, orgs too etc
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2828</link>
        <guid isPermaLink="false">http://localhost/ticket/2828</guid>
        <category>Report</category>
      </item><item>
                  <title>#2830: Need method to undelete groups</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 10:50:08 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 21:22:21 GMT</pubDate>
                  <description>&lt;p&gt;
need controller action and front-end method
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2830</link>
        <guid isPermaLink="false">http://localhost/ticket/2830</guid>
        <category>Report</category>
      </item><item>
                  <title>#2857: no UI to follow another user although option on dashboard</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 15 Aug 2012 16:59:43 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 08:51:37 GMT</pubDate>
                  <description>&lt;p&gt;
e.g. second option in left hand sidebar is follow another user' &lt;a class="ext-link" href="http://s031.okserver.org:2375/user/dashboard"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/user/dashboard&lt;/a&gt; but if you click on that and then any user, there's no follow button
&lt;/p&gt;
&lt;p&gt;
to me the dashboard user stuff is highly unfinished and probably should not be included unless someone is very keen for it
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2857</link>
        <guid isPermaLink="false">http://localhost/ticket/2857</guid>
        <category>Report</category>
      </item><item>
                  <title>#2861: Add qa breadcrumb</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 10:47:26 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 20 Aug 2012 17:21:10 GMT</pubDate>
                  <description>&lt;p&gt;
can we add in the breadcrumb navigation to qa pages so that you can go back to &lt;a class="ext-link" href="http://s031.okserver.org:2375/qa"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/qa&lt;/a&gt; from sub pages such as &lt;a class="ext-link" href="http://s031.okserver.org:2375/qa/dataset/five_stars"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/qa/dataset/five_stars&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2861</link>
        <guid isPermaLink="false">http://localhost/ticket/2861</guid>
        <category>Report</category>
      </item><item>
                  <title>#2862: Revised revised groups description</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 10:52:02 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 11:04:32 GMT</pubDate>
                  <description>&lt;p&gt;
Revised text for 'What are groups?' box at demo.ckan.org/group (after discussion with IB re &lt;a class="closed ticket" href="http://localhost/ticket/2812" title="enhancement: Groups description needs improving (closed: invalid)"&gt;#2812&lt;/a&gt;):
&lt;/p&gt;
&lt;p&gt;
What are groups?
&lt;/p&gt;
&lt;p&gt;
Groups allow you to group users and data together so that they are easier to manage. Group owners can assign roles and authorisations, giving each project or department control of its own data publishing.
&lt;/p&gt;
&lt;p&gt;
Users can browse or facet by groups, which could be an organisation (for example, the Department of Health) or topic (e.g. Transport, Health), making it easier to find the data they are looking for.
&lt;/p&gt;
</description>
                  
        <dc:creator>markw</dc:creator>

        <link>http://localhost/ticket/2862</link>
        <guid isPermaLink="false">http://localhost/ticket/2862</guid>
        <category>Report</category>
      </item><item>
                  <title>#2863: non-admin users can edit other's draft datasets</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 10:54:39 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 17 Aug 2012 11:05:02 GMT</pubDate>
                  <description>&lt;p&gt;
edit button shows up for daniel lewis for &lt;a class="ext-link" href="http://s031.okserver.org:2375/dataset/ff"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/dataset/ff&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2863</link>
        <guid isPermaLink="false">http://localhost/ticket/2863</guid>
        <category>Report</category>
      </item><item>
                  <title>#2873: ckanext-qa: dataset summary incorrect</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 14:13:49 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 17 Aug 2012 12:58:03 GMT</pubDate>
                  <description>&lt;p&gt;
For example see:  &lt;a class="ext-link" href="http://s031.okserver.org:2375/qa/dataset/five_stars"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/qa/dataset/five_stars&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Which has: Example dataset as a score of: 4 After examination of the dataset (  &lt;a class="ext-link" href="http://s031.okserver.org:2375/dataset/example-dataset"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/dataset/example-dataset&lt;/a&gt; ) it is made up of a CSV and an HTML file.
&lt;/p&gt;
</description>
                  
        <dc:creator>danieljohnlewis</dc:creator>

        <link>http://localhost/ticket/2873</link>
        <guid isPermaLink="false">http://localhost/ticket/2873</guid>
        <category>Report</category>
      </item><item>
                  <title>#2583: make sure that we implement authentication where needed</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 22 Jun 2012 10:04:38 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 12 Jul 2012 09:44:34 GMT</pubDate>
                  <description>&lt;p&gt;
in development many auth checks may have been lost we need to check they are still working etc
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2583</link>
        <guid isPermaLink="false">http://localhost/ticket/2583</guid>
        <category>Report</category>
      </item><item>
                  <title>#2725: Case sensitivity on tags</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 22 Jul 2012 09:34:27 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 23 Jul 2012 08:06:13 GMT</pubDate>
                  <description>&lt;p&gt;
My feeling is that 'country-US' and 'country-us' should be the same tag. However currently tags with caps are treated differently
&lt;/p&gt;
&lt;p&gt;
see &lt;a class="ext-link" href="http://s031.okserver.org:2375/en/dataset/test-dataset"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/en/dataset/test-dataset&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
with TEST and test - there also get indexed twice in the search page
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2725</link>
        <guid isPermaLink="false">http://localhost/ticket/2725</guid>
        <category>Report</category>
      </item><item>
                  <title>#2726: confusing logic on data preview formats</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 22 Jul 2012 09:38:47 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 23 Jul 2012 08:08:26 GMT</pubDate>
                  <description>&lt;ol&gt;&lt;li&gt;If a user enters the wrong format on a file that can be previewed - it simply won't be previewed (e.g. a CSV or XML file that can be filled in with JSON in format will just not work or check this
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="2"&gt;&lt;li&gt;If I incorrectly edit format to one that data preview will try to preview it will work even for a format that it doesn't accept (sometimes) e.g. this PDF file I changed the metadata to HTML &lt;a class="ext-link" href="http://s031.okserver.org:2375/en/dataset/test-dataset/resource/9d27a9d9-36ec-460e-9edb-6dff7ba4fc28"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/en/dataset/test-dataset/resource/9d27a9d9-36ec-460e-9edb-6dff7ba4fc28&lt;/a&gt;
&lt;/li&gt;&lt;/ol&gt;</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2726</link>
        <guid isPermaLink="false">http://localhost/ticket/2726</guid>
        <category>Report</category>
      </item><item>
                  <title>#2735: Dataset order on user page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 23 Jul 2012 17:01:17 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 07 Aug 2012 14:20:45 GMT</pubDate>
                  <description>&lt;p&gt;
I think the datasets on user pages &lt;a class="ext-link" href="http://s031.okserver.org:2375/user/me"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/user/me&lt;/a&gt;
should be ordered by latest updated (with most recent at the top) instead of in alphabetical order.
&lt;/p&gt;
&lt;p&gt;
What do you think?
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2735</link>
        <guid isPermaLink="false">http://localhost/ticket/2735</guid>
        <category>Report</category>
      </item><item>
                  <title>#2768: normalise excel to xls</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 Jul 2012 16:16:22 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 07 Aug 2012 15:01:03 GMT</pubDate>
                  <description>&lt;p&gt;
so that data proxy works
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2768</link>
        <guid isPermaLink="false">http://localhost/ticket/2768</guid>
        <category>Report</category>
      </item><item>
                  <title>#2813: Confusing sidebar on demo dataset page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 08 Aug 2012 10:03:26 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 08 Aug 2012 17:03:39 GMT</pubDate>
                  <description>&lt;p&gt;
On a dataset page on demo.ckan.org, the left sidebar is confusing.
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;It starts with some random links. Actually they are links to groups which the dataset is in, but this isn't clear.
&lt;/li&gt;&lt;li&gt;The sidebar elements that are actually part of the dataset are 'Datset extent' and 'License', so these should be right at the top (if they belong in the sidebar at all), instead of which they are right at the bottom in the junk part of the page (i.e. probably lower than the bottom of the main page, and hence lower than anyone will scroll).
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>markw</dc:creator>

        <link>http://localhost/ticket/2813</link>
        <guid isPermaLink="false">http://localhost/ticket/2813</guid>
        <category>Report</category>
      </item><item>
                  <title>#2362: Improve plugin documentaion, including examples.</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 01 May 2012 16:13:11 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 12 Jul 2012 09:30:20 GMT</pubDate>
                  <description>&lt;p&gt;
Improve documentation for plugins and add examples. Could use ckanext-example as a base.
&lt;/p&gt;
</description>
                  
        <dc:creator>kindly</dc:creator>

        <link>http://localhost/ticket/2362</link>
        <guid isPermaLink="false">http://localhost/ticket/2362</guid>
        <category>Report</category>
      </item><item>
                  <title>#1069: Stub datasets (request for datasets)</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 01 Apr 2011 14:08:39 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 13:50:15 GMT</pubDate>
                  <description>&lt;p&gt;
Idea is to have stubs for datasets that someone wants but don't yet exist (or haven't been discovered) in the way one has stub pages on a wiki.
&lt;/p&gt;
&lt;p&gt;
We could do this within the existing model by a slight 'abuse' - create a dataset and mark it with a special tag e.g. todo.does-not-yet-exist or similar ...
&lt;/p&gt;
&lt;p&gt;
(Just as we have datasets listed that exist but aren't available ...)
&lt;/p&gt;
&lt;p&gt;
Alternative would be to have a request for datasets subsystem.
&lt;/p&gt;
&lt;p&gt;
I prefer the stub dataset model because it's simpler, provides a simple workflow (as a dataset is found or comes into existence), and the package page provides a natural space in which to accumulate information about what is wanted and what exists.
&lt;/p&gt;
&lt;h2 id="Implementation"&gt;Implementation&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Agree a new dedicated tag. e.g. todo.does-not-exist
&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="Related"&gt;Related&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;This ticket has clear links to &lt;a class="ext-link" href="http://getthedata.org/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://getthedata.org/&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1069</link>
        <guid isPermaLink="false">http://localhost/ticket/1069</guid>
        <category>Report</category>
      </item><item>
                  <title>#235: Resource format normalization and detection</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 18 Jan 2010 15:13:24 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 12:33:44 GMT</pubDate>
                  <description>&lt;p&gt;
Try to gather proper MIME  information for all package resources in CKAN. This is a shared ticket with dcat-tools (&lt;a class="ext-link" href="https://bitbucket.org/pudo/dcat-tools"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://bitbucket.org/pudo/dcat-tools&lt;/a&gt;), i.e. opendatasearch.org. This can then also be used by ckanrdf, the CKAN RDF conversion service.
&lt;/p&gt;
&lt;p&gt;
Sub-tasks:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Create a Google Spreadsheet with two Worksheets: "MIME-Mappings", i.e. "CSV" -&amp;gt; "text/csv" and "Name mappings", i.e. "text/csv" -&amp;gt; "Comma-Separated Spreadsheet".
&lt;/li&gt;&lt;li&gt;Collect and map surface forms from all CKANs
&lt;/li&gt;&lt;li&gt;Access this via Swiss and apply, store as a &lt;a class="missing wiki"&gt;PackageResource?&lt;/a&gt; extra field pending &lt;a class="closed ticket" href="http://localhost/ticket/826" title="enhancement: Resource 'extra' fields (closed: fixed)"&gt;#826&lt;/a&gt; (Resource extras).
&lt;/li&gt;&lt;li&gt;Add heuristics for format auto-detections:
&lt;ul&gt;&lt;li&gt;Map well-known file extensions
&lt;/li&gt;&lt;li&gt;Recognize obvious magic (Zip, Tar)
&lt;/li&gt;&lt;li&gt;Peek into &lt;a class="missing wiki"&gt;Zipfile/Tarfiles?&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Define a convention for generic data types (many CKAN packages have only "Spreadsheet" defined, either detect specific type or set MIME to */tabular-data or similar)
&lt;/li&gt;&lt;li&gt;See also: &lt;a class="closed ticket" href="http://localhost/ticket/816" title="enhancement: Autocomplete for the resource format field (closed: fixed)"&gt;#816&lt;/a&gt; (Autocomplete for the resource format field)
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/235</link>
        <guid isPermaLink="false">http://localhost/ticket/235</guid>
        <category>Report</category>
      </item><item>
                  <title>#1041: Start Using the CKAN Wiki for Tutorial-style documentation</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 16 Mar 2011 14:11:55 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 03 Aug 2011 11:52:47 GMT</pubDate>
                  <description>&lt;p&gt;
For example, I will document the following:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;A specific guide on using mercurial when working with our branching and merging policy
&lt;ul&gt;&lt;li&gt;DONE - &lt;a class="ext-link" href="http://wiki.ckan.net/Becoming_a_CKAN_Developer"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://wiki.ckan.net/Becoming_a_CKAN_Developer&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Policy document on how we use tickets, plan sprints and make releases
&lt;ul&gt;&lt;li&gt;DONE - &lt;a class="ext-link" href="http://wiki.ckan.net/Becoming_a_CKAN_Developer"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://wiki.ckan.net/Becoming_a_CKAN_Developer&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;How to package software as .deb file for project deployment
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
I'd love if someone else would write:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;An authorisation tutorial covering the core model, the command line tools and examples of every possible way of using the system
&lt;/li&gt;&lt;li&gt;A HOWTO guide with screenshots for adding a package
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>thejimmyg</dc:creator>

        <link>http://localhost/ticket/1041</link>
        <guid isPermaLink="false">http://localhost/ticket/1041</guid>
        <category>Report</category>
      </item><item>
                  <title>#1168: Test system for deb packaging</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 May 2011 20:33:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 05 Mar 2012 23:33:43 GMT</pubDate>
                  <description>&lt;p&gt;
Get buildbot to:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;build the deb packages
&lt;/li&gt;&lt;li&gt;install them into a fresh virtual machine
&lt;/li&gt;&lt;li&gt;run smoke tests on the installed ckan
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1168</link>
        <guid isPermaLink="false">http://localhost/ticket/1168</guid>
        <category>Report</category>
      </item><item>
                  <title>#2268: UKLP Use same schema as form for harvested records</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 30 Mar 2012 11:56:46 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 30 Mar 2012 11:56:46 GMT</pubDate>
                  <description>&lt;p&gt;
Datasets created via the harvesting (UKLP ones) and the ones created via the form use a different schema. That could lead to problems. We need to discuss the best approach.
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/2268</link>
        <guid isPermaLink="false">http://localhost/ticket/2268</guid>
        <category>Report</category>
      </item><item>
                  <title>#143: Most active users listed on homepage</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 08 Oct 2009 13:59:33 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 03 Aug 2011 11:53:01 GMT</pubDate>
                  <description>&lt;p&gt;
Display league of users' recent activity on homepage.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/143</link>
        <guid isPermaLink="false">http://localhost/ticket/143</guid>
        <category>Report</category>
      </item><item>
                  <title>#1382: Deleted resources are present for harvested package</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 11 Oct 2011 12:58:09 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 11 Oct 2011 12:58:09 GMT</pubDate>
                  <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>
                  
        <dc:creator>thejimmyg</dc:creator>

        <link>http://localhost/ticket/1382</link>
        <guid isPermaLink="false">http://localhost/ticket/1382</guid>
        <category>Report</category>
      </item><item>
                  <title>#1287: NAVL validation errors - Junk fields should be listed explicitly</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 24 Aug 2011 16:25:02 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 05 Mar 2012 23:34:19 GMT</pubDate>
                  <description>&lt;p&gt;
When you create a package, but specify a key that is not allowed (e.g. 'relationships') then you get error message:
&lt;/p&gt;
&lt;pre class="wiki"&gt;{"__junk": ["The input field __junk was not expected."]}
&lt;/pre&gt;&lt;p&gt;
It should mention the actual key which is not expected. e.g.
&lt;/p&gt;
&lt;pre class="wiki"&gt;{"relationships": ["The input field 'relationships' was not expected."]}
&lt;/pre&gt;&lt;p&gt;
Kindly said that James' version of NAVL was better in this respect, so this might be best solved by moving to that.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1287</link>
        <guid isPermaLink="false">http://localhost/ticket/1287</guid>
        <category>Report</category>
      </item><item>
                  <title>#2644: user dashboard for demo theme</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 10 Jul 2012 09:00:21 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 06 Aug 2012 12:23:56 GMT</pubDate>
                  <description>&lt;p&gt;
we now have a user dashboard that needs theming not sure if we need sam to look at it
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://localhost:5000/user/dashboard"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://localhost:5000/user/dashboard&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2644</link>
        <guid isPermaLink="false">http://localhost/ticket/2644</guid>
        <category>Report</category>
      </item><item>
                  <title>#2814: Demo: upload file behaves oddly</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 08 Aug 2012 10:06:00 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 11:06:21 GMT</pubDate>
                  <description>&lt;ol start="3"&gt;&lt;li&gt;Uploading a file behaves counter-intuitively (I would suggest wrongly).
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
When adding a new resource by uploading a file, I select a file called
say create-group.png. I expect the following to happen:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;the pathname of that file is filled in the box;
&lt;/li&gt;&lt;li&gt;nothing is actually uploaded till I hit 'add' (confirming that I've got the right file etc).
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Instead of this,
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;the file is immediately and, seemingly, irrevocably uploaded;
&lt;/li&gt;&lt;li&gt;the box is filled with a mysterious URL (&lt;a class="ext-link" href="https://commondatastorage.googleapis.com/ckan-demo"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://commondatastorage.googleapis.com/ckan-demo&lt;/a&gt; ...)
&lt;/li&gt;&lt;li&gt;the mysterious URL is so long I can't even see the final element, which is my file name.
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>markw</dc:creator>

        <link>http://localhost/ticket/2814</link>
        <guid isPermaLink="false">http://localhost/ticket/2814</guid>
        <category>Report</category>
      </item><item>
                  <title>#2956: Allow for resource editing in CKAN 2.0</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 03 Oct 2012 15:11:40 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 04 Oct 2012 10:27:22 GMT</pubDate>
                  <description>&lt;p&gt;
On the edit dataset page... there needs to be a way for users to be able to see all the resources associated to the dataset and edit them individually.
&lt;/p&gt;
</description>
                  
        <dc:creator>johnmartin</dc:creator>

        <link>http://localhost/ticket/2956</link>
        <guid isPermaLink="false">http://localhost/ticket/2956</guid>
        <category>Report</category>
      </item><item>
                  <title>#2590: Publisher dashboard</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 10:03:37 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 09:10:16 GMT</pubDate>
                  <description>&lt;p&gt;
Need proper user stories but ...
&lt;/p&gt;
&lt;p&gt;
Publisher admins/editors may need a more useful group read page showing things like:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;The current search
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Recent activity
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;People within the group
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Followers
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Others?
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2590</link>
        <guid isPermaLink="false">http://localhost/ticket/2590</guid>
        <category>Report</category>
      </item><item>
                  <title>#2699: workflow for associating datasets with groups</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 18 Jul 2012 14:02:56 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 10:12:13 GMT</pubDate>
                  <description>&lt;p&gt;
needs review &amp;amp; speccing out
e.g. datasets created by a user who belongs to a certain publisher (group) get auto added to this group
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2699</link>
        <guid isPermaLink="false">http://localhost/ticket/2699</guid>
        <category>Report</category>
      </item><item>
                  <title>#2702: Future Javascript wishlist for demo</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 18 Jul 2012 14:07:55 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 06 Aug 2012 12:26:24 GMT</pubDate>
                  <description>&lt;p&gt;
tooltip on popular datasets with number of views
facets to update automatically
creating a dataset without reloading page between steps
hover on licences information
autocomplete on search terms
group filtering
social share buttons in lightboxes
dataset counts on homepage
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2702</link>
        <guid isPermaLink="false">http://localhost/ticket/2702</guid>
        <category>Report</category>
      </item><item>
                  <title>#2547: ODS Initial data sets</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 18 Jun 2012 10:55:06 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 26 Jun 2012 10:13:34 GMT</pubDate>
                  <description>&lt;h2 id="Requirements"&gt;Requirements&lt;/h2&gt;
&lt;p&gt;
The ODS demo site will need data adding, initially as fixtures but it would also be useful if we started evaluating datasets that we can ship with ODS installations (at least in the UK) from places such as DGU and ONS.
&lt;/p&gt;
&lt;p&gt;
May wish to create a ticket for making sure the datasets within the system are reset every X hours. Perhaps.
&lt;/p&gt;
&lt;h2 id="Interface"&gt;Interface&lt;/h2&gt;
&lt;p&gt;
None
&lt;/p&gt;
&lt;h2 id="UserStories"&gt;User Stories&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;As a new system administrator for an ODS instance, I don't want to have a site devoid of any data. Geographically relevant datasets would be welcomed.
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;As a bizdev person I would like to be able to demonstrate how ODS works with real datasets.
&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="Tasks"&gt;Tasks&lt;/h2&gt;
&lt;p&gt;
[ ] Identify relevant sources for datasets
&lt;/p&gt;
&lt;p&gt;
[ ] Pick datasets
&lt;/p&gt;
&lt;p&gt;
[ ] Set them up for import
&lt;/p&gt;
&lt;h2 id="Estimates"&gt;Estimates&lt;/h2&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2547</link>
        <guid isPermaLink="false">http://localhost/ticket/2547</guid>
        <category>Report</category>
      </item><item>
                  <title>#2766: prevent draft datasets making it to activity stream</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 Jul 2012 16:06:35 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 20:13:13 GMT</pubDate>
                  <description>&lt;p&gt;
The new ckan creates datasets as part of a 3 phase process.  To allow for this partially created datasets can have a state that is 'draft' or 'draft-complete'.  These datasets should not be seen as active by the activity stream.
&lt;/p&gt;
&lt;p&gt;
If we click 'add dataset' and then complete the first phase of adding a dataset then we end up having a activity stream created.  When we add a resource in the next phase (add data) again an activity stream item xxx added resource to dataset is created
&lt;/p&gt;
&lt;p&gt;
We do not want these adding.  Essentially if a dataset has a state.startswith('draft') then we want the activity stream to ignore all actions involving it.
&lt;/p&gt;
&lt;p&gt;
finally when the state is changed form state.startswith('draft') to state=='active' we want a xxx has created dataset ... to be added to the stream.
&lt;/p&gt;
&lt;p&gt;
The best way to do this would be to branch from 2375-demo-theme-stable and get it to work there.
&lt;/p&gt;
&lt;p&gt;
Let me know if you need any help with this ticket or a better explanation of the problem.
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2766</link>
        <guid isPermaLink="false">http://localhost/ticket/2766</guid>
        <category>Report</category>
      </item><item>
                  <title>#2430: Look into marking tickets as dependent on other tickets in trac</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 25 May 2012 11:58:06 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jul 2012 13:05:46 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2430</link>
        <guid isPermaLink="false">http://localhost/ticket/2430</guid>
        <category>Report</category>
      </item><item>
                  <title>#2431: Trac git integration</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 25 May 2012 11:58:48 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jul 2012 13:06:02 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2431</link>
        <guid isPermaLink="false">http://localhost/ticket/2431</guid>
        <category>Report</category>
      </item><item>
                  <title>#2466: Fix spam handling on trac</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 13:51:43 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jul 2012 13:08:59 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2466</link>
        <guid isPermaLink="false">http://localhost/ticket/2466</guid>
        <category>Report</category>
      </item><item>
                  <title>#2818: Improve related item schema</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 09:22:56 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 29 Aug 2012 09:15:18 GMT</pubDate>
                  <description>&lt;p&gt;
Problem: When creating a related item (e.g. a Visualisation), if you don't put in a URL it succeeds, but on the related items and apps pages it renders it as a link to the same page.
Expected: Always require a URL and it should only submit
if one is added
&lt;/p&gt;
</description>
                  
        <dc:creator>danieljohnlewis</dc:creator>

        <link>http://localhost/ticket/2818</link>
        <guid isPermaLink="false">http://localhost/ticket/2818</guid>
        <category>Report</category>
      </item><item>
                  <title>#2952: incorporate javascriopt translations into translations workflow</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 19:15:45 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 19:15:45 GMT</pubDate>
                  <description>&lt;p&gt;
There are now javascript translations.  There's a paster command, &lt;tt&gt;trans js&lt;/tt&gt;.  This is a ticket to ensure that using &lt;tt&gt;trans js&lt;/tt&gt; is documented in the normal ckan translation workflow (which is followed after a feature freeze, prior to release).  And to see if there's any need for further incorporation into the current translation process.
&lt;/p&gt;
</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2952</link>
        <guid isPermaLink="false">http://localhost/ticket/2952</guid>
        <category>Report</category>
      </item><item>
                  <title>#2301: Replace old-style string formatting with format() method (at least in strings marked for translation)</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 16 Apr 2012 12:27:44 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 14:50:12 GMT</pubDate>
                  <description>&lt;p&gt;
Some strings in CKAN are passed to gettext with more than one %s in them, this is no good as translators may need to change the order of substituted words.
&lt;/p&gt;
&lt;p&gt;
Strings should not use the old style % substitution, they should use the new format method in Python 2.6+, e.g.:
&lt;/p&gt;
&lt;p&gt;
'This {food} is {adjective}.'.format(food='spam', adjective='absolutely horrible')
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://docs.python.org/release/2.6.8/tutorial/inputoutput.html#fancier-output-formatting"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.python.org/release/2.6.8/tutorial/inputoutput.html#fancier-output-formatting&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
We should probably only change strings that are marked for translation and that contain multiple %s, don't want to make too much work or cause too many strings to change and need to be re-translated.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2301</link>
        <guid isPermaLink="false">http://localhost/ticket/2301</guid>
        <category>Report</category>
      </item><item>
                  <title>#2243: Fix ckanext-example</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Mar 2012 15:58:30 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 14:49:28 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2243</link>
        <guid isPermaLink="false">http://localhost/ticket/2243</guid>
        <category>Report</category>
      </item><item>
                  <title>#2341: Fix Jenkins issue when testing branches that contain model changes</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 01 May 2012 12:46:36 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 15:51:12 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2341</link>
        <guid isPermaLink="false">http://localhost/ticket/2341</guid>
        <category>Report</category>
      </item><item>
                  <title>#2342: Fix Jenkins issue when testing branches with different solr schema versions</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 01 May 2012 12:47:25 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 15:51:34 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2342</link>
        <guid isPermaLink="false">http://localhost/ticket/2342</guid>
        <category>Report</category>
      </item><item>
                  <title>#2336: Move Jenkins' install script into ckan core so it can be versioned</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 30 Apr 2012 13:35:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 15:53:57 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2336</link>
        <guid isPermaLink="false">http://localhost/ticket/2336</guid>
        <category>Report</category>
      </item><item>
                  <title>#2656: Feed with few results has bad paging link, causing exception</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 11 Jul 2012 10:05:12 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 11 Jul 2012 10:05:12 GMT</pubDate>
                  <description>&lt;p&gt;
This page &lt;a class="ext-link" href="http://thedatahub.org/feeds/custom.atom?q=wombat"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://thedatahub.org/feeds/custom.atom?q=wombat&lt;/a&gt; has 0 results and contains a link to &lt;a class="ext-link" href="http://thedatahub.org/feeds/custom.atom?q=wombat&amp;amp;amp;page=0"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://thedatahub.org/feeds/custom.atom?q=wombat&amp;amp;amp;page=0&lt;/a&gt; which the page=0 causes this exception:
&lt;/p&gt;
&lt;pre class="wiki"&gt;ckan.lib.search.common.SearchError'&amp;gt;: SOLR returned an error running query
Error: "'start' parameter cannot be negative"
&lt;/pre&gt;</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/2656</link>
        <guid isPermaLink="false">http://localhost/ticket/2656</guid>
        <category>Report</category>
      </item><item>
                  <title>#2870: 1.8 tag_list not defined</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 10:58:52 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 10:58:52 GMT</pubDate>
                  <description>&lt;p&gt;
From: &amp;lt;thedatahub.org@…&amp;gt;
Date: Thu, Aug 16, 2012 at 3:20 AM
Subject: &lt;a class="missing wiki"&gt;WebApp?&lt;/a&gt; Error: &amp;lt;class 'genshi.template.eval.&lt;a class="missing wiki"&gt;UndefinedError?&lt;/a&gt;'&amp;gt;: "tag_list" not defined
To: ckan-sysadmin@…, kindly@…
&lt;/p&gt;
&lt;p&gt;
URL: &lt;a class="ext-link" href="http://ckan.net/dataset/uk-postboxes"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://ckan.net/dataset/uk-postboxes&lt;/a&gt;
Module weberror.errormiddleware:162 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;              &lt;span class="underline"&gt;traceback_supplement&lt;/span&gt; = Supplement, self, environ
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
sr_checker = &lt;a class="missing wiki"&gt;ResponseStartChecker?&lt;/a&gt;(start_response)
app_iter = self.application(environ, sr_checker)
return self.make_catching_iter(app_iter, environ, sr_checker)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
except:
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
app_iter = self.application(environ, sr_checker)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module beaker.middleware:73 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;                                                     self.cache_manager)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
environ[self.environ_key] = self.cache_manager
return self.app(environ, start_response)
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return self.app(environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module beaker.middleware:155 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;                          headers.append(('Set-cookie', cookie))
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
return start_response(status, headers, exc_info)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
return self.wrap_app(environ, session_start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
def _get_session(self):
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return self.wrap_app(environ, session_start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module routes.middleware:131 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;                                               r'\1', oldpath)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
response = self.app(environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
# Wrapped in try as in rare cases the attribute will be gone already
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
response = self.app(environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module pylons.wsgiapp:125 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
controller = self.resolve(environ, start_response)
response = self.dispatch(controller, environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if 'paste.testing_variables' in environ and hasattr(response,
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
response = self.dispatch(controller, environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module pylons.wsgiapp:324 in dispatch
&amp;lt;&amp;lt;          if log_debug:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
log.debug("Calling controller class with WSGI interface")
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
return controller(environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
def load_test_env(self, environ):
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return controller(environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module ckan.lib.base:239 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;          try:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
res = WSGIController.&lt;span class="underline"&gt;call&lt;/span&gt;(self, environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
finally:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
model.Session.remove()
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
res = WSGIController.&lt;span class="underline"&gt;call&lt;/span&gt;(self, environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module pylons.controllers.core:221 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;                  return response(environ, self.start_response)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
response = self._dispatch_call()
if not start_response_called:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
self.start_response = start_response
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
response = self._dispatch_call()
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module pylons.controllers.core:172 in _dispatch_call
&amp;lt;&amp;lt;              req.environ&lt;a class="missing wiki"&gt;pylons.action_method?&lt;/a&gt; = func
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
response = self._inspect_call(func)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
else:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if log_debug:
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
response = self._inspect_call(func)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module pylons.controllers.core:107 in _inspect_call
&amp;lt;&amp;lt;                        func.&lt;span class="underline"&gt;name&lt;/span&gt;, args)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
try:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
result = self._perform_call(func, args)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
except HTTPException, httpe:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if log_debug:
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
result = self._perform_call(func, args)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module pylons.controllers.core:60 in _perform_call
&amp;lt;&amp;lt;          """Hide the traceback for everything above this method"""
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
&lt;span class="underline"&gt;traceback_hide&lt;/span&gt; = 'before_and_this'
return func(&lt;strong&gt;args)
&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
def _inspect_call(self, func):
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return func(&lt;strong&gt;args)
&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module ckan.controllers.package:322 in read
&amp;lt;&amp;lt;          template = template[:template.index('.') + 1] + format
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
return render(template, loader_class=loader)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
def comments(self, id):
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return render(template, loader_class=loader)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module ckan.lib.base:153 in render
&amp;lt;&amp;lt;      try:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
return cached_template(template_name, render_template,
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
loader_class=loader_class)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
except ckan.exceptions.&lt;a class="missing wiki"&gt;CkanUrlException?&lt;/a&gt;, e:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
raise
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
loader_class=loader_class)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module pylons.templating:249 in cached_template
&amp;lt;&amp;lt;          return content
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
else:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
return render_func()
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return render_func()
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module ckan.lib.base:102 in render_template
&amp;lt;&amp;lt;          if loader_class == &lt;a class="missing wiki"&gt;NewTextTemplate?&lt;/a&gt;:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
return literal(stream.render(method="text", encoding=None))
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
return literal(stream.render(method=method, encoding=None,
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return literal(stream.render(method="text", encoding =None))
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.core:183 in render
&amp;lt;&amp;lt;              method = self.serializer or 'xml'
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
generator = self.serialize(method=method, &lt;strong&gt;kwargs)
return encode(generator, method=method, encoding=encoding, out=out)
&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
def select(self, path, namespaces=None, variables=None):
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return encode(generator, method=method, encoding=encoding, out =out)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.output:57 in encode
&amp;lt;&amp;lt;          _encode = lambda string: string
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if out is None:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
return _encode(&lt;em&gt;.join(list(iterator)))
&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
for chunk in iterator:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
out.write(_encode(chunk))
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return _encode(&lt;em&gt;.join(list(iterator)))
&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.output:569 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;      def &lt;span class="underline"&gt;call&lt;/span&gt;(self, stream):
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
strip_markup = self.strip_markup
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if event&lt;a class="missing changeset" title="No default repository defined"&gt;[0]&lt;/a&gt; is TEXT:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
data = event&lt;a class="missing changeset" title="No default repository defined"&gt;[1]&lt;/a&gt;
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.core:288 in _ensure
&amp;lt;&amp;lt;      # unchanged
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield event
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.core:288 in _ensure
&amp;lt;&amp;lt;      # unchanged
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield event
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:686 in _unmark
&amp;lt;&amp;lt;      def _unmark(self, stream):
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
kind = event&lt;a class="missing changeset" title="No default repository defined"&gt;[0]&lt;/a&gt;
if not (kind is None or kind is ATTR or kind is BREAK):
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:1145 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;          :param stream: The marked event stream to filter
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
"""
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield mark, event
if mark is ENTER:
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:714 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;          stream = iter(stream)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
next = stream.next
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if mark is None:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield mark, event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:682 in _mark
&amp;lt;&amp;lt;      def _mark(self, stream):
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield OUTSIDE, event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.core:288 in _ensure
&amp;lt;&amp;lt;      # unchanged
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield event
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:686 in _unmark
&amp;lt;&amp;lt;      def _unmark(self, stream):
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
kind = event&lt;a class="missing changeset" title="No default repository defined"&gt;[0]&lt;/a&gt;
if not (kind is None or kind is ATTR or kind is BREAK):
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:1145 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;          :param stream: The marked event stream to filter
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
"""
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield mark, event
if mark is ENTER:
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:714 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;          stream = iter(stream)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
next = stream.next
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if mark is None:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield mark, event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:682 in _mark
&amp;lt;&amp;lt;      def _mark(self, stream):
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield OUTSIDE, event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.core:288 in _ensure
&amp;lt;&amp;lt;      # unchanged
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield event
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:686 in _unmark
&amp;lt;&amp;lt;      def _unmark(self, stream):
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
kind = event&lt;a class="missing changeset" title="No default repository defined"&gt;[0]&lt;/a&gt;
if not (kind is None or kind is ATTR or kind is BREAK):
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:1145 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;          :param stream: The marked event stream to filter
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
"""
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield mark, event
if mark is ENTER:
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:714 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;          stream = iter(stream)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
next = stream.next
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if mark is None:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield mark, event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:682 in _mark
&amp;lt;&amp;lt;      def _mark(self, stream):
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield OUTSIDE, event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.core:288 in _ensure
&amp;lt;&amp;lt;      # unchanged
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield event
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:686 in _unmark
&amp;lt;&amp;lt;      def _unmark(self, stream):
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
kind = event&lt;a class="missing changeset" title="No default repository defined"&gt;[0]&lt;/a&gt;
if not (kind is None or kind is ATTR or kind is BREAK):
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module ckanext.googleanalytics.plugin:93 in download_adder
&amp;lt;&amp;lt;                  [downloaded %s times]&amp;lt;/span&amp;gt;&lt;strong&gt;
&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
count = None
for mark, (kind, data, pos) in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if mark and kind == START:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
href = data&lt;a class="missing changeset" title="No default repository defined"&gt;[1]&lt;/a&gt;.get('href')
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, (kind, data, pos) in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:714 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;          stream = iter(stream)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
next = stream.next
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if mark is None:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield mark, event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:682 in _mark
&amp;lt;&amp;lt;      def _mark(self, stream):
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield OUTSIDE, event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.core:288 in _ensure
&amp;lt;&amp;lt;      # unchanged
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield event
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:686 in _unmark
&amp;lt;&amp;lt;      def _unmark(self, stream):
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
kind = event&lt;a class="missing changeset" title="No default repository defined"&gt;[0]&lt;/a&gt;
if not (kind is None or kind is ATTR or kind is BREAK):
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:1175 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;          """
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
callable_value = hasattr(self.value, '&lt;span class="underline"&gt;call&lt;/span&gt;')
for mark, (kind, data, pos) in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if mark is ENTER:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if callable_value:
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, (kind, data, pos) in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:714 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;          stream = iter(stream)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
next = stream.next
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if mark is None:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield mark, event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:682 in _mark
&amp;lt;&amp;lt;      def _mark(self, stream):
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield OUTSIDE, event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.core:288 in _ensure
&amp;lt;&amp;lt;      # unchanged
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield event
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:686 in _unmark
&amp;lt;&amp;lt;      def _unmark(self, stream):
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
kind = event&lt;a class="missing changeset" title="No default repository defined"&gt;[0]&lt;/a&gt;
if not (kind is None or kind is ATTR or kind is BREAK):
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:1145 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;          :param stream: The marked event stream to filter
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
"""
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield mark, event
if mark is ENTER:
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:714 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;          stream = iter(stream)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
next = stream.next
for mark, event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if mark is None:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield mark, event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for mark, event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.filters.transform:682 in _mark
&amp;lt;&amp;lt;      def _mark(self, stream):
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
yield OUTSIDE, event
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.template.base:605 in _include
&amp;lt;&amp;lt;          from genshi.template.loader import &lt;a class="missing wiki"&gt;TemplateNotFound?&lt;/a&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if event&lt;a class="missing changeset" title="No default repository defined"&gt;[0]&lt;/a&gt; is INCLUDE:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
href, cls, fallback = event&lt;a class="missing changeset" title="No default repository defined"&gt;[1]&lt;/a&gt;
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
for event in stream:
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.template.base:565 in _flatten
&amp;lt;&amp;lt;                  elif kind is EXPR:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
result = _eval_expr(data, ctxt, vars)
if result is not None:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
# First check for a string, otherwise the iterable test
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
result = _eval_expr(data, ctxt, vars)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.template.base:277 in _eval_expr
&amp;lt;&amp;lt;      if vars:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
ctxt.push(vars)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
retval = expr.evaluate(ctxt)
if vars:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
ctxt.pop()
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
retval = expr.evaluate(ctxt)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.template.eval:178 in evaluate
&amp;lt;&amp;lt;          &lt;span class="underline"&gt;traceback_hide&lt;/span&gt; = 'before_and_this'
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
_globals = self._globals(data)
return eval(self.code, _globals, {'&lt;span class="underline"&gt;data&lt;/span&gt;': data})
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return eval(self.code, _globals, {'&lt;span class="underline"&gt;data&lt;/span&gt;': data})
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/em&gt;&lt;/blockquote&gt;
&lt;p&gt;
Module ?:51 in &amp;lt;Expression u"tag_list(c.pkg_dict.get('tags', &lt;em&gt;))"&amp;gt;
&amp;lt;&amp;lt;      &amp;lt;li py:if=&amp;#34;c.pkg_dict.get('tags')" class="sidebar-section"&amp;gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
&amp;lt;h3&amp;gt;Tags&amp;lt;/h3&amp;gt;
${tag_list(c.pkg_dict.get('tags', &lt;em&gt;))}
&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
&amp;lt;/li&amp;gt;
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
${tag_list(c.pkg_dict.get('tags', &lt;em&gt;))}
&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.template.eval:309 in lookup_name
&amp;lt;&amp;lt;              val = BUILTINS.get(name, val)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if val is UNDEFINED:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
val = cls.undefined(name)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
return val
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
val = cls.undefined(name)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module genshi.template.eval:410 in undefined
&amp;lt;&amp;lt;          """Raise an &lt;tt&gt;&lt;/tt&gt;&lt;a class="missing wiki"&gt;UndefinedError?&lt;/a&gt;&lt;tt&gt;&lt;/tt&gt; immediately."""
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
&lt;span class="underline"&gt;traceback_hide&lt;/span&gt; = True
raise &lt;a class="missing wiki"&gt;UndefinedError?&lt;/a&gt;(key, owner=owner)
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
raise &lt;a class="missing wiki"&gt;UndefinedError?&lt;/a&gt;(key, owner=owner)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;a class="missing wiki"&gt;UndefinedError?&lt;/a&gt;: "tag_list" not defined
CGI Variables
CKAN_CURRENT_URL        '/dataset/uk-postboxes'
CKAN_LANG        'en'
CKAN_LANG_IS_DEFAULT        True
CKAN_PAGE_CACHABLE        True
CONTENT_TYPE        '; charset=utf-8'
DOCUMENT_ROOT        '/etc/apache2/htdocs'
GATEWAY_INTERFACE        'CGI/1.1'
HTTP_ACCEPT        'text/html,text/plain,text/xml'
HTTP_ACCEPT_CHARSET        'ISO-8859-1,utf-8;q=0.7,*;q=0.7'
HTTP_ACCEPT_ENCODING        'gzip'
HTTP_ACCEPT_LANGUAGE        'vi,en-us;q=0.7,en;q=0.3'
HTTP_CONNECTION        'close'
HTTP_HOST        'ckan.net'
HTTP_USER_AGENT        'coccoc/1.0 ()'
PATH_INFO        '/dataset/uk-postboxes'
PATH_TRANSLATED        '/etc/ckan/datahub/apache.wsgi/dataset/uk-postboxes'
REMOTE_ADDR        '127.0.0.1'
REMOTE_PORT        '47065'
REQUEST_METHOD        'GET'
REQUEST_URI        '/dataset/uk-postboxes'
SCRIPT_FILENAME        '/etc/ckan/datahub/apache.wsgi'
SERVER_ADDR        '127.0.0.1'
SERVER_ADMIN        '[no address given]'
SERVER_NAME        'ckan.net'
SERVER_PORT        '80'
SERVER_PROTOCOL        'HTTP/1.0'
SERVER_SIGNATURE        '&amp;lt;address&amp;gt;Apache/2.2.22 (Ubuntu) Server at ckan.net Port 80&amp;lt;/address&amp;gt;\n'
SERVER_SOFTWARE        'Apache/2.2.22 (Ubuntu)'
WSGI Variables
application        &amp;lt;beaker.middleware.&lt;a class="missing wiki"&gt;CacheMiddleware?&lt;/a&gt; object at 0x7f5312a51650&amp;gt;
beaker.cache        &amp;lt;beaker.cache.&lt;a class="missing wiki"&gt;CacheManager?&lt;/a&gt; object at 0x7f5312a51790&amp;gt;
beaker.get_session        &amp;lt;bound method &lt;a class="missing wiki"&gt;SessionMiddleware?&lt;/a&gt;._get_session of &amp;lt;beaker.middleware.&lt;a class="missing wiki"&gt;SessionMiddleware?&lt;/a&gt; object at 0x7f5312a516d0&amp;gt;&amp;gt;
beaker.session        {'_accessed_time': 1345083636.079552, '_creation_time': 1345083636.079552}
mod_wsgi.application_group        'ckan.net|'
mod_wsgi.callable_object        'application'
mod_wsgi.handler_script        &lt;em&gt;
mod_wsgi.input_chunked        '0'
mod_wsgi.listener_host        &lt;/em&gt;
mod_wsgi.listener_port        '8080'
mod_wsgi.process_group        'datahub'
mod_wsgi.request_handler        'wsgi-script'
mod_wsgi.script_reloading        '1'
mod_wsgi.version        (3, 3)
paste.cookies        (&amp;lt;SimpleCookie: &amp;gt;, &lt;em&gt;)
paste.registry        &amp;lt;paste.registry.Registry object at 0x7f52e47477d0&amp;gt;
paste.throw_errors        True
pylons.action_method        &amp;lt;bound method &lt;a class="missing wiki"&gt;PackageController?&lt;/a&gt;.read of &amp;lt;ckan.controllers.package.&lt;a class="missing wiki"&gt;PackageController?&lt;/a&gt; object at 0x7f52e477b810&amp;gt;&amp;gt;
pylons.controller        &amp;lt;ckan.controllers.package.&lt;a class="missing wiki"&gt;PackageController?&lt;/a&gt; object at 0x7f52e477b810&amp;gt;
pylons.environ_config        {'session': 'beaker.session', 'cache': 'beaker.cache'}
pylons.pylons        &amp;lt;pylons.util.&lt;a class="missing wiki"&gt;PylonsContext?&lt;/a&gt; object at 0x7f52e477be90&amp;gt;
pylons.routes_dict        {'action': u'read', 'controller': u'package', 'id': u'uk-postboxes'}
repoze.who.logger        &amp;lt;logging.Logger object at 0x7f53127b2b50&amp;gt;
repoze.who.plugins        {'openid': &amp;lt;&lt;a class="missing wiki"&gt;OpenIdIdentificationPlugin?&lt;/a&gt; 139994769488336&amp;gt;, 'friendlyform': &amp;lt;&lt;a class="missing wiki"&gt;FriendlyFormPlugin?&lt;/a&gt; 139994769488528&amp;gt;, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': &amp;lt;ckan.lib.authenticator.&lt;a class="missing wiki"&gt;UsernamePasswordAuthenticator?&lt;/a&gt; object at 0x7f5312d893d0&amp;gt;, 'auth_tkt': &amp;lt;&lt;a class="missing wiki"&gt;AuthTktCookiePlugin?&lt;/a&gt; 139994771858704&amp;gt;, 'ckan.lib.authenticator:OpenIDAuthenticator': &amp;lt;ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f5312d89350&amp;gt;}
routes.route        &amp;lt;routes.route.Route object at 0x7f5312955a50&amp;gt;
routes.url        &amp;lt;routes.util.URLGenerator object at 0x7f52eb8c9090&amp;gt;
webob._parsed_query_vars        (GET([]), &lt;/em&gt;)
webob.adhoc_attrs        {'language': 'en-us'}
wsgi process        'Multi process AND threads (?)'
wsgi.file_wrapper        &amp;lt;built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f5308983a80&amp;gt;
wsgi.version        (1, 1)
wsgiorg.routing_args        (&amp;lt;routes.util.URLGenerator object at 0x7f52eb8c9090&amp;gt;, {'action': u'read', 'controller': u'package', 'id': u'uk-postboxes'})
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2870</link>
        <guid isPermaLink="false">http://localhost/ticket/2870</guid>
        <category>Report</category>
      </item><item>
                  <title>#3029: JSONP parameter scuppers Search in API</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 11 Dec 2012 15:00:35 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 11 Dec 2012 16:37:04 GMT</pubDate>
                  <description>&lt;p&gt;
&lt;tt&gt;http://datahub.io/api/2/search/package?jsonp=jsonpcallback&amp;amp;q=canada&lt;/tt&gt; returns
&lt;/p&gt;
&lt;pre class="wiki"&gt;{"count": 0, "results": []}
&lt;/pre&gt;&lt;p&gt;
I believe this worked in CKAN 1.4 or 1.5, but it is broken on 1.7.1, 1.8 and whatever demo.ckan.org is running. I suspect the jsonpcallback parameter is getting sent to SOLR.
&lt;/p&gt;
&lt;p&gt;
This bug prevents using javascript on another site to search CKAN (although hopefully the action API would work).
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/3029</link>
        <guid isPermaLink="false">http://localhost/ticket/3029</guid>
        <category>Report</category>
      </item><item>
                  <title>#3005: Add following/unfollowing of groups: model, API, frontend, tests</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 23 Oct 2012 17:35:44 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 23 Oct 2012 17:35:44 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/3005</link>
        <guid isPermaLink="false">http://localhost/ticket/3005</guid>
        <category>Report</category>
      </item><item>
                  <title>#3028: Feature: dashboard activity stream filtering</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 10 Dec 2012 12:07:24 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 10 Dec 2012 12:07:24 GMT</pubDate>
                  <description>&lt;p&gt;
&lt;a class="ext-link" href="https://github.com/okfn/ckanext-pdeu/issues/13"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://github.com/okfn/ckanext-pdeu/issues/13&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/3028</link>
        <guid isPermaLink="false">http://localhost/ticket/3028</guid>
        <category>Report</category>
      </item><item>
                  <title>#1635: Email notifications (e.g. for activity streams)</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 11 Jan 2012 17:56:27 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 10 Dec 2012 12:05:57 GMT</pubDate>
                  <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>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/1635</link>
        <guid isPermaLink="false">http://localhost/ticket/1635</guid>
        <category>Report</category>
      </item><item>
                  <title>#1667: Add an extension point for rendering activity streams</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 17 Jan 2012 10:29:11 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:24:55 GMT</pubDate>
                  <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>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/1667</link>
        <guid isPermaLink="false">http://localhost/ticket/1667</guid>
        <category>Report</category>
      </item><item>
                  <title>#1748: Make activity streams conform to http://activitystrea.ms/ standard</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 05 Feb 2012 14:06:24 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:25:37 GMT</pubDate>
                  <description>&lt;p&gt;
At the very least we should make our JSON output conform to their spec:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://activitystrea.ms/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://activitystrea.ms/&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/1748</link>
        <guid isPermaLink="false">http://localhost/ticket/1748</guid>
        <category>Report</category>
      </item><item>
                  <title>#1778: Replace classmethod's with module-level functions</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 06 Feb 2012 15:53:34 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 11:29:03 GMT</pubDate>
                  <description>&lt;p&gt;
In many places we have @classmethods where simple module-level functions would do (and would be more idiomatic in Python), e.g. the &lt;tt&gt;get()&lt;/tt&gt; classmethods in the model/ classes.
&lt;/p&gt;
&lt;p&gt;
Doing it with module functions lets us type module.function() instead of module.Class.method().
&lt;/p&gt;
&lt;p&gt;
In many cases we're importing classes directly with &lt;tt&gt;from module import Class&lt;/tt&gt; and then doing &lt;tt&gt;Class.method()&lt;/tt&gt;, but &lt;tt&gt;from module import foo&lt;/tt&gt; is bad style: &lt;a class="ext-link" href="http://docs.python.org/dev/howto/doanddont.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.python.org/dev/howto/doanddont.html&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/1778</link>
        <guid isPermaLink="false">http://localhost/ticket/1778</guid>
        <category>Report</category>
      </item><item>
                  <title>#2200: Add vocabulary_id option to tag_show() logic action function</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 29 Feb 2012 16:41:18 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:35:00 GMT</pubDate>
                  <description>&lt;p&gt;
Currently tag_show() only works with free tags, it's not possible to get a tag_show for a vocabulary tag.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2200</link>
        <guid isPermaLink="false">http://localhost/ticket/2200</guid>
        <category>Report</category>
      </item><item>
                  <title>#2771: Documentation and examples for IDatasetForm and IGroupForm</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 27 Jul 2012 12:30:38 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 12:19:24 GMT</pubDate>
                  <description>&lt;p&gt;
Add minimal, working IDatasetForm and IGroupForm example extensions to core, with tests.
&lt;/p&gt;
&lt;p&gt;
The IDatasetForm example should use tag vocabularies (two birds with one stone)
&lt;/p&gt;
&lt;p&gt;
The IDatasetForm and IGroupForm docs are not very good (and are somewhat spread around different doc chapters), fix them up, and reference the new working examples.
&lt;/p&gt;
&lt;p&gt;
Tab Vocabularies docs should reference IDatasetForm example.
&lt;/p&gt;
&lt;p&gt;
When using convert_to/from_extras() you have to remove any free extras from the form or it won't work, this needs to be documented (in the docstring maybe)
&lt;/p&gt;
&lt;p&gt;
There have been recent changes to the schemas that IDatasetForm and IGroupForm use, make sure the docs are up to date.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2771</link>
        <guid isPermaLink="false">http://localhost/ticket/2771</guid>
        <category>Report</category>
      </item><item>
                  <title>#2815: db_to_form_package_schema() strips tracking summary, isopen</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 08 Aug 2012 16:47:07 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 12:23:41 GMT</pubDate>
                  <description>&lt;p&gt;
If an IDatasetForm plugin with a db_to_form_schema() based on db_to_form_package_schema() (which is in turn based on default_package_schema()) is in use then the 'tracking_summary' dict and the 'isopen' bool get stripped from package dicts during validation, e.g. during package_show(), and these values are then not available to templates.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2815</link>
        <guid isPermaLink="false">http://localhost/ticket/2815</guid>
        <category>Report</category>
      </item><item>
                  <title>#1785: Replace 'Revisions' page with site-wide activity stream</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 07 Feb 2012 16:34:18 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 26 Jun 2012 15:25:12 GMT</pubDate>
                  <description>&lt;p&gt;
Replace the /revision page with a /activity page showing a site-wide activity stream of all activities in the site. Or perhaps the site-wide activity stream can go somewhere on the front page of the site instead?
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/1785</link>
        <guid isPermaLink="false">http://localhost/ticket/1785</guid>
        <category>Report</category>
      </item><item>
                  <title>#2335: Unicode characters don't work in CKAN ini files</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 30 Apr 2012 12:42:06 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 11:43:55 GMT</pubDate>
                  <description>&lt;p&gt;
You get a &lt;a class="missing wiki"&gt;UnicodeDecodeError?&lt;/a&gt;, looks like it tries to decode the ini file as ascii. This is a problem because someone might try to set their site description to something with an umlaut in it, for example.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2335</link>
        <guid isPermaLink="false">http://localhost/ticket/2335</guid>
        <category>Report</category>
      </item><item>
                  <title>#2337: Sort out ini file confusion in docs</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 30 Apr 2012 14:57:56 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 11:43:20 GMT</pubDate>
                  <description>&lt;p&gt;
For example if you follow the source install instructions then you have development.ini, then when you go onto Post-Installation Setup it talks about std.ini. People don't realise that these files are the same.
&lt;/p&gt;
&lt;p&gt;
Either fix the docs or fix CKAN to use same ini file names in package and source installs/
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2337</link>
        <guid isPermaLink="false">http://localhost/ticket/2337</guid>
        <category>Report</category>
      </item><item>
                  <title>#2370: Add examples of all config settings in default config file</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 03 May 2012 10:50:37 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 11:44:22 GMT</pubDate>
                  <description>&lt;p&gt;
The default config file should contains examples (maybe commented out) for all config variables. Makes it easier to edit the config. For example openid_enabled is not in there.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2370</link>
        <guid isPermaLink="false">http://localhost/ticket/2370</guid>
        <category>Report</category>
      </item><item>
                  <title>#2475: Upgrade trac.ckan.org to trac 0.12.3</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 29 May 2012 18:46:16 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jul 2012 13:09:24 GMT</pubDate>
                  <description>&lt;p&gt;
This is not trivial, requires a database upgrade. But 0.12.3 has some nice new features (multiple vcs repository support, ticket comment editing and nicer preview) and the latest spam filter plugin requires 0.12.
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://trac.edgewall.org/wiki/ChangeLog"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://trac.edgewall.org/wiki/ChangeLog&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2475</link>
        <guid isPermaLink="false">http://localhost/ticket/2475</guid>
        <category>Report</category>
      </item><item>
                  <title>#2477: Add extensions section to readthedocs</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 30 May 2012 15:54:04 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 24 Jul 2012 10:02:03 GMT</pubDate>
                  <description>&lt;p&gt;
Need a central up to date place for currently supported extensions (closest we have is &lt;a class="ext-link" href="http://wiki.ckan.org/List_of_Extensions"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://wiki.ckan.org/List_of_Extensions&lt;/a&gt;) &amp;amp; their documentation. I suggest this gets added to  a dedicated section of docs.ckan.org
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2477</link>
        <guid isPermaLink="false">http://localhost/ticket/2477</guid>
        <category>Report</category>
      </item><item>
                  <title>#2478: Get NeverNotifyUpdaterPlugin installed on trac.ckan.org</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 30 May 2012 16:52:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jul 2012 13:09:51 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2478</link>
        <guid isPermaLink="false">http://localhost/ticket/2478</guid>
        <category>Report</category>
      </item><item>
                  <title>#2516: Make 'Assign to:' field on trac.ckan.org into a dropdown list</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 13 Jun 2012 09:07:22 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jul 2012 13:13:42 GMT</pubDate>
                  <description>&lt;p&gt;
there's a setting for this
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2516</link>
        <guid isPermaLink="false">http://localhost/ticket/2516</guid>
        <category>Report</category>
      </item><item>
                  <title>#2520: Document undocumented config options</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 13 Jun 2012 11:52:48 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 11:48:28 GMT</pubDate>
                  <description>&lt;p&gt;
There are 21 undocumented config options in CKAN, some of which are not mentioned in the config file template either:
&lt;/p&gt;
&lt;p&gt;
ckan.admin.name
ckan.admin.email
ckan.default.group_type
ckan.page_cache_enabled
ckan.cache_enabled
ckan.cache_expires
ckan.extra_resource_fields
ckan.extra_resource_group_fields
ckan.storage.key_prefix
ckan.storage.max_content_length
ckan.feeds.authority_name *
ckan.feeds.date *
ckan.feeds.author_name *
ckan.feeds.author_link *
ckan.mail_from
ckan.gravatar_default *
ckan.plugins
ckan.api_url
ckan.auth.profile
ckan.datastore.enabled
ckan.tracking_enabled
&lt;/p&gt;
&lt;p&gt;
There are also some options that are in the default deployment.ini even though they're deprecated:
&lt;/p&gt;
&lt;p&gt;
ckan.async_notifier
carrot_messaging_library
ckan.build_search_index_synchronously
&lt;/p&gt;
&lt;p&gt;
See email to ckan-dev from David Read: &lt;a class="ext-link" href="http://lists.okfn.org/pipermail/ckan-dev/2012-June/002447.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://lists.okfn.org/pipermail/ckan-dev/2012-June/002447.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
It'd be best if the docs could be automatically pulled from the source into sphinx using autodoc, see &lt;a class="assigned ticket" href="http://localhost/ticket/1358" title="enhancement: Generate configuration documentation automatically from the ... (assigned)"&gt;#1358&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2520</link>
        <guid isPermaLink="false">http://localhost/ticket/2520</guid>
        <category>Report</category>
      </item><item>
                  <title>#2619: Omit private datasets from public activity streams</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 28 Jun 2012 11:49:00 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 29 Oct 2012 17:18:57 GMT</pubDate>
                  <description>&lt;p&gt;
Activities about private datasets should not appear in public activity streams.
&lt;/p&gt;
&lt;p&gt;
I don't think you want to actually purge the activities from the db, because you might still want them to appear in private activity streams.
&lt;/p&gt;
&lt;p&gt;
I do think that when a dataset goes private all its past activity should go private, because I imagine that users are going to want to hide everything about the dataset and not have any past activities 'leaking out'
&lt;/p&gt;
&lt;p&gt;
I don't think you want to consider whether the dataset was private when the activity happened, rather if a dataset is private now then all its past activities are private (and the simplest thing would be to say that if a dataset is public now then all its past activities become public as well, but is that a privacy concern?)
&lt;/p&gt;
&lt;p&gt;
The easiest way to implement this is going to be by modifying the *_activity_list() action functions in get.py, after they pull their activity lists out of the db they should pass them through a function that filters out stuff about private datasets.
&lt;/p&gt;
&lt;p&gt;
An activity about a private dataset is one whose object_type is 'dataset' and whose object_id matches the id of a private dataset. You should also check the object_type and object_id of all of the activity object's activity detail objects, if any of those match a private dataset then mark the whole activity as private.
&lt;/p&gt;
&lt;p&gt;
Currently all activity streams are public so should have all private datasets filtered out from them, except for the dashboard activity stream which is private to the individual user. In this case private datasets that the user has permission to see should not be filtered.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2619</link>
        <guid isPermaLink="false">http://localhost/ticket/2619</guid>
        <category>Report</category>
      </item><item>
                  <title>#2537: Test and document ckanbuild</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:48:48 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 15:57:10 GMT</pubDate>
                  <description>&lt;p&gt;
&lt;a class="ext-link" href="https://github.com/okfn/ckanbuild"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://github.com/okfn/ckanbuild&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Verify that what's there so far still works, write a README explaining how it works
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2537</link>
        <guid isPermaLink="false">http://localhost/ticket/2537</guid>
        <category>Report</category>
      </item><item>
                  <title>#2538: Add multiple-instance support to ckanbuild</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:51:39 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 15:57:16 GMT</pubDate>
                  <description>&lt;p&gt;
Probably use ansible to do this. To create an instance, create a dir at /etc/ckan/MYSITE, and put MYSITE.wsgi, MYSITE.ini and who.ini files in it. Also put a MYSITE file in /etc/apache2/sites-available. See the example files already present in ckanbuild. Booting a new site should be a single command.
&lt;/p&gt;
&lt;p&gt;
May not handle the postgres/solr/elastic-search side of things yet, could just require the user to set these up herself first and then pass them as args to the create-instance command.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2538</link>
        <guid isPermaLink="false">http://localhost/ticket/2538</guid>
        <category>Report</category>
      </item><item>
                  <title>#2539: Investigate the existing ckan debian package for ckanbuild</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:54:21 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 15:57:25 GMT</pubDate>
                  <description>&lt;p&gt;
Do we want to build on top of the existing debian packaging code? Or throw it away and start fresh?
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2539</link>
        <guid isPermaLink="false">http://localhost/ticket/2539</guid>
        <category>Report</category>
      </item><item>
                  <title>#2540: Implement a way of upgrading ckan sites using ckanbuild</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:55:40 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 15:57:30 GMT</pubDate>
                  <description>&lt;p&gt;
When there are multiple ckan sites installed on a single server via ckanbuild, there needs to be some way of upgrading them all to a new ckan version at once.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2540</link>
        <guid isPermaLink="false">http://localhost/ticket/2540</guid>
        <category>Report</category>
      </item><item>
                  <title>#2541: Add non-core extensions to ckanbuild</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:57:06 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 15:57:36 GMT</pubDate>
                  <description>&lt;p&gt;
We want some extensions from outside of CKAN core to be included in ckanbuild. These would be pip installed into the virtualenv before packaging the debian package. Decide which extensions to include.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2541</link>
        <guid isPermaLink="false">http://localhost/ticket/2541</guid>
        <category>Report</category>
      </item><item>
                  <title>#2542: Create jenkins job to run ckanbuild, and run tests</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:58:08 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 15:57:43 GMT</pubDate>
                  <description>&lt;p&gt;
It should run the script to create the debian package, boot a VM, install the debian package on the VM, boot a CKAN instance, then run the tests.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2542</link>
        <guid isPermaLink="false">http://localhost/ticket/2542</guid>
        <category>Report</category>
      </item><item>
                  <title>#1096: [super] CKAN Hosted</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 19 Apr 2011 17:44:22 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:34:44 GMT</pubDate>
                  <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>
                  
        <dc:creator>pudo</dc:creator>

        <link>http://localhost/ticket/1096</link>
        <guid isPermaLink="false">http://localhost/ticket/1096</guid>
        <category>Report</category>
      </item><item>
                  <title>#1565: Admin dashboard finished?</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 11:11:32 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 11:11:32 GMT</pubDate>
                  <description>&lt;p&gt;
Is testing complete and ready for release?
&lt;/p&gt;
</description>
                  
        <dc:creator>jilly mathews</dc:creator>

        <link>http://localhost/ticket/1565</link>
        <guid isPermaLink="false">http://localhost/ticket/1565</guid>
        <category>Report</category>
      </item><item>
                  <title>#1163: Improvements to Storage Extension</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 May 2011 11:19:38 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 08 Jul 2011 14:03:28 GMT</pubDate>
                  <description>&lt;p&gt;
Storage is now working but there are
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Integrate with Resources (e.g. create a resource for each file upload and give option to associate with a package)
&lt;ul&gt;&lt;li&gt;Should we introduce rule that files *not* associated with a Resource are periodically deleted?
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Allow setting of a file name/path before upload
&lt;/li&gt;&lt;li&gt;Allow for file overwriting/deleting etc (how should this work -- do we want to allow this sort of thing)
&lt;/li&gt;&lt;li&gt;Integrate local file upload stuff in api/auth/*
&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="DifferentBackendIssues"&gt;Different Backend Issues&lt;/h2&gt;
&lt;p&gt;
Local file store is rather different from 'remote' storage in various ways:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;For remote you don't want to use many buckets as there are bucket limits while for local you want to. Should we there have a single path that users provide which we then partition differently for different backends.
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1163</link>
        <guid isPermaLink="false">http://localhost/ticket/1163</guid>
        <category>Report</category>
      </item><item>
                  <title>#1311: Modal user register and login form</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 06 Sep 2011 08:20:27 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 06 Sep 2011 08:20:27 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1311</link>
        <guid isPermaLink="false">http://localhost/ticket/1311</guid>
        <category>Report</category>
      </item><item>
                  <title>#1343: [super] User related improvements (login, user pages etc)</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 14 Sep 2011 16:18:18 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Oct 2011 17:48:58 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1343</link>
        <guid isPermaLink="false">http://localhost/ticket/1343</guid>
        <category>Report</category>
      </item><item>
                  <title>#1577: Can't upload file with foreign chars in filename</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 18:00:59 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jan 2012 03:06:04 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1577</link>
        <guid isPermaLink="false">http://localhost/ticket/1577</guid>
        <category>Report</category>
      </item><item>
                  <title>#2279: Write tutorial for our DataStore API / Data Explorer</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 03 Apr 2012 19:44:23 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:43:46 GMT</pubDate>
                  <description>&lt;p&gt;
Unfortunately ES is a little bit complex / opaque to newcomers. Need to write a simple tutorial walking through this.
&lt;/p&gt;
&lt;p&gt;
This is documentation / example only (no code!)
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2279</link>
        <guid isPermaLink="false">http://localhost/ticket/2279</guid>
        <category>Report</category>
      </item><item>
                  <title>#2874: Clean up bin directory</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 17 Aug 2012 08:01:48 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 17 Aug 2012 08:01:55 GMT</pubDate>
                  <description>&lt;p&gt;
Full of obsolete material
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2874</link>
        <guid isPermaLink="false">http://localhost/ticket/2874</guid>
        <category>Report</category>
      </item><item>
                  <title>#1384: CKAN wiki needs updating to refer to thedatahub.org instead of ckan.net and datasets instead of packages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 12 Oct 2011 10:07:57 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 12 Oct 2011 10:07:57 GMT</pubDate>
                  <description>&lt;p&gt;
Most articles still refer and link to ckan.net, wiki.ckan.net and to packages
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/1384</link>
        <guid isPermaLink="false">http://localhost/ticket/1384</guid>
        <category>Report</category>
      </item><item>
                  <title>#1429: Provide DOIs for datasets in a CKAN instance</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 30 Oct 2011 12:21:45 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 30 Oct 2011 12:21:45 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1429</link>
        <guid isPermaLink="false">http://localhost/ticket/1429</guid>
        <category>Report</category>
      </item><item>
                  <title>#1459: Featured Dataset feature</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 12 Nov 2011 15:50:12 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 12 Nov 2011 15:50:12 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1459</link>
        <guid isPermaLink="false">http://localhost/ticket/1459</guid>
        <category>Report</category>
      </item><item>
                  <title>#1571: [super] Issues Extension</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 11:30:25 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 04 Mar 2012 12:13:03 GMT</pubDate>
                  <description>&lt;p&gt;
"Proper" issues extension.
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Etherpad: &lt;a class="ext-link" href="http://ckan.okfnpad.org/issues"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://ckan.okfnpad.org/issues&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;Code: &lt;a class="ext-link" href="https://github.com/okfn/ckanext-issues"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://github.com/okfn/ckanext-issues&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Overview
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;This would be an extension and improvement of existing todo extension - &lt;a class="closed ticket" href="http://localhost/ticket/842" title="enhancement: Todo list CKAN extension (closed: fixed)"&gt;#842&lt;/a&gt; (&lt;a class="ext-link" href="https://github.com/okfn/ckanext-issues"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://github.com/okfn/ckanext-issues&lt;/a&gt;)
&lt;ul&gt;&lt;li&gt;Current extension does work but lacks polish
&lt;/li&gt;&lt;li&gt;Should we polish or do significant improvements?
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Functionality - see etherpad
&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="Steps"&gt;Steps&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;&lt;del&gt;(Rename todo(s) -&amp;gt; issue(s) in existing extension)&lt;/del&gt;
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>jilly mathews</dc:creator>

        <link>http://localhost/ticket/1571</link>
        <guid isPermaLink="false">http://localhost/ticket/1571</guid>
        <category>Report</category>
      </item><item>
                  <title>#1458: Support previewing kml files in data viewer</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 10 Nov 2011 14:48:08 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 14:02:12 GMT</pubDate>
                  <description>&lt;p&gt;
Super ticket: &lt;a class="closed ticket" href="http://localhost/ticket/1151" title="enhancement: Preview for geographic data should be a map (closed: wontfix)"&gt;#1151&lt;/a&gt; (viewing geo data)
&lt;/p&gt;
&lt;p&gt;
E.g. preview of &lt;a class="ext-link" href="http://thedatahub.org/dataset/louisvillecrime"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://thedatahub.org/dataset/louisvillecrime&lt;/a&gt; should bring up a map
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1458</link>
        <guid isPermaLink="false">http://localhost/ticket/1458</guid>
        <category>Report</category>
      </item><item>
                  <title>#1009: Improvements to user accounts sytem</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 25 Feb 2011 12:13:11 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 08 Jul 2011 12:36:14 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1009</link>
        <guid isPermaLink="false">http://localhost/ticket/1009</guid>
        <category>Report</category>
      </item><item>
                  <title>#2773: About page needs improving</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 30 Jul 2012 11:13:15 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 30 Jul 2012 11:13:15 GMT</pubDate>
                  <description>&lt;p&gt;
The about page for the &lt;a class="missing wiki"&gt;DataHub?&lt;/a&gt; (thedatahub.org/about) could be improved. More importantly the default about page for a generic CKAN instance should be completely different - focus more on Open Data rather than the community hub idea (as this is more relevant for most installations) and remove specific references to tdh.
&lt;/p&gt;
</description>
                  
        <dc:creator>markw</dc:creator>

        <link>http://localhost/ticket/2773</link>
        <guid isPermaLink="false">http://localhost/ticket/2773</guid>
        <category>Report</category>
      </item><item>
                  <title>#1581: Blog post about Google Analytics extension for CKAN</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 20 Dec 2011 17:40:00 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jan 2012 03:17:54 GMT</pubDate>
                  <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>
                  
        <dc:creator>johnglover</dc:creator>

        <link>http://localhost/ticket/1581</link>
        <guid isPermaLink="false">http://localhost/ticket/1581</guid>
        <category>Report</category>
      </item><item>
                  <title>#1171: Citation instructions on dataset and resource view pages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 01 Jun 2011 09:33:19 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 11 Sep 2012 10:18:25 GMT</pubDate>
                  <description>&lt;p&gt;
Some sort of citation helper. Something small on the dataset and resource page that would show how to cite.
&lt;/p&gt;
&lt;p&gt;
wwaites: Some related thoughts on this from opb: &lt;a class="ext-link" href="http://homepages.inf.ed.ac.uk/opb/papers/ssdbm2006.pdf"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://homepages.inf.ed.ac.uk/opb/papers/ssdbm2006.pdf&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
timclicks: I'm looking at Dataverse for the first time&lt;a class="missing changeset" title="No default repository defined"&gt;[0]&lt;/a&gt;. It seems very popular in the social sciences. I noticed that there is a recommended citation for each dataset. For example, &lt;a class="missing changeset" title="No default repository defined"&gt;[1]&lt;/a&gt; is has this one: "Targeted Input Programme (TIP) 2000-01", &lt;a class="ext-link" href="http://hdl.handle.net/1902.1/SSC-MWI-TIP2000-01-M1"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://hdl.handle.net/1902.1/SSC-MWI-TIP2000-01-M1&lt;/a&gt; V1 [Version]"
&lt;/p&gt;
&lt;h2 id="Implementation"&gt;Implementation&lt;/h2&gt;
&lt;p&gt;
Add a small box at bottom of dataset / resource page (or in sidebar on dataset page) with title "Cite this" with contents like:
&lt;/p&gt;
&lt;p&gt;
%title. %author. Retrieved %date. %site_title.
&lt;/p&gt;
&lt;p&gt;
For resource: %title = %dataset_title. %resource_name.
&lt;/p&gt;
&lt;p&gt;
Could also add export to ref managers (e.g. to bibtex) but that is for later.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1171</link>
        <guid isPermaLink="false">http://localhost/ticket/1171</guid>
        <category>Report</category>
      </item><item>
                  <title>#2796: Need a datahub one-pager</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 02 Aug 2012 16:28:36 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 15:04:55 GMT</pubDate>
                  <description>&lt;p&gt;
A one-pager explaining what the datahub is and with howto/examples for new users. This would make it much easier to explain the value in using the datahub for storing data.
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2796</link>
        <guid isPermaLink="false">http://localhost/ticket/2796</guid>
        <category>Report</category>
      </item><item>
                  <title>#1136: Move to SessionExtension in vdm</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 12 May 2011 14:34:15 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 14:03:00 GMT</pubDate>
                  <description>&lt;p&gt;
When vdm was created there was no SessionExtension so we use MapperExtension for doing revisioning. Now that &lt;a class="missing wiki"&gt;SessionExtension?&lt;/a&gt; exists we should use it. We can also follow the existing SQLAlchemy recipe: &amp;lt;&lt;a class="ext-link" href="http://www.sqlalchemy.org/docs/orm/examples.html?highlight=versioning#versioned-objects"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://www.sqlalchemy.org/docs/orm/examples.html?highlight=versioning#versioned-objects&lt;/a&gt;&amp;gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1136</link>
        <guid isPermaLink="false">http://localhost/ticket/1136</guid>
        <category>Report</category>
      </item><item>
                  <title>#1135: Changeset model for vdm</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 12 May 2011 14:19:46 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 13:51:07 GMT</pubDate>
                  <description>&lt;p&gt;
Move to Changeset model for vdm.
&lt;/p&gt;
&lt;p&gt;
A changeset model is like an Audit-Log model in which we just record Changesets with Change-Objects rather than have Revision-Objects for each Object that is revisioned.
&lt;/p&gt;
&lt;p&gt;
This change would also incorporate significant simplication of vdm.
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1135</link>
        <guid isPermaLink="false">http://localhost/ticket/1135</guid>
        <category>Report</category>
      </item><item>
                  <title>#1137: Remove need for statefulness in vdm</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 12 May 2011 14:47:08 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 13:46:14 GMT</pubDate>
                  <description>&lt;p&gt;
Statefulness, especially statefulness for relation (esp m2m) is cause of most of the complexity in vdm. It is &lt;em&gt;required&lt;/em&gt; because, atm, revision objects have FKs to continuity objects.
&lt;/p&gt;
&lt;p&gt;
This ticket proposes the following changes:
&lt;/p&gt;
&lt;p&gt;
NB: this could be limited just to case of join tables (leaving state stuff on other tables)
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Remove FKs from revision to continuity (or allow for them to be nullable).
&lt;ul&gt;&lt;li&gt;We could just limit this to m2m stuff
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Delete of an object leads to:
&lt;ul&gt;&lt;li&gt;Deletion of continuity object
&lt;/li&gt;&lt;li&gt;Adding an entry in revision table with state set to deleted (we retain state on revision table)
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
If this is done we will no longer need to worry about filtering on state on relationships as join table will only contain "active" relationships.
&lt;/p&gt;
&lt;p&gt;
If we do this on all tables we remove need for any state awareness in client (e.g. no need to filter tables on active state).
&lt;/p&gt;
&lt;p&gt;
The only disadvantage of this change is that undeletion becomes more problematic (we have to recreate some continuity objects).
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1137</link>
        <guid isPermaLink="false">http://localhost/ticket/1137</guid>
        <category>Report</category>
      </item><item>
                  <title>#1689: List deleted datasets in API</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 20 Jan 2012 12:23:34 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jun 2012 11:00:40 GMT</pubDate>
                  <description>&lt;p&gt;
The admin extension allows deleted datasets to be viewed, but there is no equivalent in the API. The package_list API call filters to just 'state=active' datasets.
&lt;/p&gt;
&lt;p&gt;
'state' could be a parameter on the package_list call
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Easy to call and implement
&lt;/li&gt;&lt;li&gt;But getting permissions right for the different state values may not be easy - maybe a separate logic function is better?
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1689</link>
        <guid isPermaLink="false">http://localhost/ticket/1689</guid>
        <category>Report</category>
      </item><item>
                  <title>#1447: disk space leakage</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 07 Nov 2011 11:54:03 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 26 Jun 2012 16:15:30 GMT</pubDate>
                  <description>&lt;p&gt;
Periodically we see some CKAN servers fall over because they run out of disk space. We need to find out if there is a common cause and fix it.
&lt;/p&gt;
&lt;p&gt;
One problem in the past has been file handles running out when creating lots of tiny files in the data directory.
&lt;/p&gt;
&lt;p&gt;
Another problem has been several enourmous backups being created every day - pdeu on eu25.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1447</link>
        <guid isPermaLink="false">http://localhost/ticket/1447</guid>
        <category>Report</category>
      </item><item>
                  <title>#989: Extending the model from plugins</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 14 Feb 2011 13:22:04 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 18 Jun 2012 15:45:11 GMT</pubDate>
                  <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>
                  
        <dc:creator>pudo</dc:creator>

        <link>http://localhost/ticket/989</link>
        <guid isPermaLink="false">http://localhost/ticket/989</guid>
        <category>Report</category>
      </item><item>
                  <title>#2331: Search should AND terms not OR terms</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 28 Apr 2012 18:24:45 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 25 Dec 2012 22:25:44 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2331</link>
        <guid isPermaLink="false">http://localhost/ticket/2331</guid>
        <category>Report</category>
      </item><item>
                  <title>#2790: logic.action.user_show is slow</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 01 Aug 2012 20:21:23 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 15 Aug 2012 09:42:14 GMT</pubDate>
                  <description>&lt;p&gt;
This is a very slow call it would benefit from the sort of speed-ups that package-search received
&lt;/p&gt;
&lt;p&gt;
for me locally this is taking 6 seconds for rufus using the datahub data I have.  I think a lot of this is the dataset retrival/dictization
&lt;/p&gt;
&lt;p&gt;
can we just grab json blobs from solr?
&lt;/p&gt;
&lt;p&gt;
also is it possible to specify a sort order/paging?
&lt;/p&gt;
&lt;p&gt;
I've put this as a demo-theme ticket as it is an big issue on the demo we are at 25 second page loads - which i can get down to about 8.8 secs so this is the main pain point now
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2790</link>
        <guid isPermaLink="false">http://localhost/ticket/2790</guid>
        <category>Report</category>
      </item><item>
                  <title>#84: Revert support on versioned objects</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 23 Jul 2009 08:59:03 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 12:13:05 GMT</pubDate>
                  <description>&lt;p&gt;
Basic revert in the classic wiki form is already support by purging a Revision. However may wish to support:
&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Cases where multiple objects changed in a revision but only want to revert 1 (low priority)
&lt;/li&gt;&lt;li&gt;Want to revert but have reversion as a new revision of that object.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
Seems low priority at present.
&lt;/p&gt;
&lt;p&gt;
Cost: ?
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/84</link>
        <guid isPermaLink="false">http://localhost/ticket/84</guid>
        <category>Report</category>
      </item><item>
                  <title>#2203: Data Viewer support for PDF</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 04 Mar 2012 11:24:53 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 25 Sep 2012 10:29:21 GMT</pubDate>
                  <description>&lt;ul&gt;&lt;li&gt;Boot viewer for format/mimetype: application/pdf, application/x-pdf, application/acrobat, applications/vnd.pdf, text/pdf, text/x-pdf
&lt;/li&gt;&lt;li&gt;propose we use pdf.js - &lt;a class="ext-link" href="https://github.com/mozilla/pdf.js"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://github.com/mozilla/pdf.js&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;We could also try iframing for browsers with native support but this seems more complex
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2203</link>
        <guid isPermaLink="false">http://localhost/ticket/2203</guid>
        <category>Report</category>
      </item><item>
                  <title>#2294: Unauthorized action on Data API gets 302 rather than 401 or similar</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 14 Apr 2012 19:35:04 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 11:33:23 GMT</pubDate>
                  <description>&lt;p&gt;
Well known issue that 401 *in API* end up with 302 redirect to login page (which makes no sense and is very confusing for clients).
&lt;/p&gt;
&lt;p&gt;
Fix this by ensuring that error messsages on API get passed through correctly.
&lt;/p&gt;
&lt;p&gt;
Minor because affect is annoying but not terminal
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2294</link>
        <guid isPermaLink="false">http://localhost/ticket/2294</guid>
        <category>Report</category>
      </item><item>
                  <title>#2530: DataHub purge fails on some revisions</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 08:54:58 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jul 2012 22:31:20 GMT</pubDate>
                  <description>&lt;p&gt;
See &lt;a class="ext-link" href="http://datahub.io/ckan-admin/trash"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://datahub.io/ckan-admin/trash&lt;/a&gt; and try to purge revisions (*not* datasets). It will fail on some of the revisions with errors like:
&lt;/p&gt;
&lt;p&gt;
Problem purging revision 391db9e8-df57-4e0e-8fe6-d4e0c2318344: (&lt;a class="missing wiki"&gt;IntegrityError?&lt;/a&gt;) update or delete on table "revision" violates foreign key constraint "group_extra_revision_revision_id_fkey" on table "group_extra_revision" DETAIL: Key (id)=(391db9e8-df57-4e0e-8fe6-d4e0c2318344) is still referenced from table "group_extra_revision". 'DELETE FROM revision WHERE revision.id = %(id)s' {'id': u'391db9e8-df57-4e0e-8fe6-d4e0c2318344'}
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2530</link>
        <guid isPermaLink="false">http://localhost/ticket/2530</guid>
        <category>Report</category>
      </item><item>
                  <title>#2674: Data preview not loading on s031</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 16 Jul 2012 10:38:22 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 07 Aug 2012 14:22:04 GMT</pubDate>
                  <description>&lt;p&gt;
Not loading for all resources as far as I can tell; e.g. &lt;a class="ext-link" href="http://s031.okserver.org:2375/dataset/afghanistan-election-data/resource/f6331f99-51f6-44d9-95b9-b20f3b74f360"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/dataset/afghanistan-election-data/resource/f6331f99-51f6-44d9-95b9-b20f3b74f360&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Fine on demo.ckan.org
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2674</link>
        <guid isPermaLink="false">http://localhost/ticket/2674</guid>
        <category>Report</category>
      </item><item>
                  <title>#2877: Bugs with datastore v2</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 18 Aug 2012 00:33:22 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 30 Aug 2012 09:53:15 GMT</pubDate>
                  <description>&lt;p&gt;
In progress
&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;&lt;del&gt;[major] q does not seem to work reliably. e.g. using the setup from this gist &lt;a class="ext-link" href="https://gist.github.com/1930806"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://gist.github.com/1930806&lt;/a&gt; and doing a ?q=DE yields no results (does not work with "q=de" either)&lt;/del&gt;
&lt;ul&gt;&lt;li&gt;&lt;del&gt;q=second does work ...&lt;/del&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;[major] q does not work with 2 values (see below)
&lt;/li&gt;&lt;li&gt;Query on search with limit 0 results in total of 0 (should either be null or correct total). Queries with other limits yield correct total AFAICT
&lt;ul&gt;&lt;li&gt;Also weird fact that limit is returned but as as as string - should it not be an integer
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Types on fields: could these not be canonical and as per recline (or is it important to allow exact sql types ...)
&lt;/li&gt;&lt;/ol&gt;&lt;h3 id="Multiplequeryvalues"&gt;Multiple query values&lt;/h3&gt;
&lt;p&gt;
Try a query such as: "second UK" and you will get 500 error:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://localhost:5000/api/3/action/datastore_search?resource_id=4f1299ab-a100-4e5f-ba81-e6d234a2f3bd&amp;amp;q=second%20UK"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://localhost:5000/api/3/action/datastore_search?resource_id=4f1299ab-a100-4e5f-ba81-e6d234a2f3bd&amp;amp;q=second%20UK&lt;/a&gt;
&lt;/p&gt;
&lt;pre class="wiki"&gt;ProgrammingError: (ProgrammingError) syntax error in tsquery: "second UK" 'select "_id", "id", "date", "x", "y", "z", "country", "title", "lat", "lon", count(*) over() as "_full_count"\n from "4f1299ab-a100-4e5f-ba81-e6d234a2f3bd" where _full_text @@ to_tsquery(%s) limit 100 offset 0' (u'second UK',)
&lt;/pre&gt;&lt;h3 id="Suggestions"&gt;Suggestions&lt;/h3&gt;
&lt;p&gt;
Filter support: should think in more detail about this (may want to follow recline style)
&lt;/p&gt;
&lt;p&gt;
Simple filters in query parameters would be nice too ...
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2877</link>
        <guid isPermaLink="false">http://localhost/ticket/2877</guid>
        <category>Report</category>
      </item><item>
                  <title>#3027: solr for 2.0</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 04 Dec 2012 02:22:09 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 04 Dec 2012 02:22:09 GMT</pubDate>
                  <description>&lt;p&gt;
change mm
support solr 3 and 4
add *_date field
&lt;/p&gt;
</description>
                  
        <dc:creator>kindly</dc:creator>

        <link>http://localhost/ticket/3027</link>
        <guid isPermaLink="false">http://localhost/ticket/3027</guid>
        <category>Report</category>
      </item><item>
                  <title>#979: Edit Resource extras in the API</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 11 Feb 2011 13:09:37 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 05 Sep 2011 11:30:44 GMT</pubDate>
                  <description>&lt;p&gt;
Follows on from &lt;a class="closed ticket" href="http://localhost/ticket/826" title="enhancement: Resource 'extra' fields (closed: fixed)"&gt;#826&lt;/a&gt;. We can now edit resource extras in the WUI (to some extent - see &lt;a class="closed ticket" href="http://localhost/ticket/978" title="enhancement: Edit Resource including Extras in Web UI (closed: fixed)"&gt;#978&lt;/a&gt; for remaining issues) and we can view resource extras in the API, but we can't yet edit them in the API.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/979</link>
        <guid isPermaLink="false">http://localhost/ticket/979</guid>
        <category>Report</category>
      </item><item>
                  <title>#1077: Move to simpler vdm system</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 08 Apr 2011 23:14:24 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 18 Jun 2012 15:45:45 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1077</link>
        <guid isPermaLink="false">http://localhost/ticket/1077</guid>
        <category>Report</category>
      </item><item>
                  <title>#1240: [super] API v4</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 24 Jul 2011 16:41:00 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jan 2012 03:01:52 GMT</pubDate>
                  <description>&lt;p&gt;
(Just creating this ticket as somewhere to keep notes)
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Decide on REST api versus action API
&lt;ul&gt;&lt;li&gt;Do we want to support both?
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Tidying
&lt;ul&gt;&lt;li&gt;Unify on /api/v{version num}/... structure (do we want a default option that points to current default? e.g. /api/default/ ...)
&lt;/li&gt;&lt;li&gt;extras merged into normal field list in package
&lt;/li&gt;&lt;li&gt;Get rid of /rest/ so just have api/v1/package
&lt;/li&gt;&lt;li&gt;Get rid of separation of search api from 'rest' api
&lt;ul&gt;&lt;li&gt;Propose that GET on REST index is search e.g. /package/?q=...
&lt;ul&gt;&lt;li&gt;This is also resolves issue whereby GET at root returns whole package set (a *bad* idea) as this would now become the matchall search query (with a default limit on items returned)
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Resource read/write in API (separate from package)
&lt;ul&gt;&lt;li&gt;Does this need authorization work?
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;user/account API - read/write
&lt;/li&gt;&lt;li&gt;Remove autocomplete -- can just use search
&lt;ul&gt;&lt;li&gt;Do not worry about backwards compat as should only be used in our js (if others using it too bad!)
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1240</link>
        <guid isPermaLink="false">http://localhost/ticket/1240</guid>
        <category>Report</category>
      </item><item>
                  <title>#1255: Drupal consistancy checks.</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Aug 2011 17:32:48 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Aug 2011 09:20:54 GMT</pubDate>
                  <description>&lt;p&gt;
Make a robust way to make sure the drupal database is consistent with the ckan data.
&lt;/p&gt;
</description>
                  
        <dc:creator>kindly</dc:creator>

        <link>http://localhost/ticket/1255</link>
        <guid isPermaLink="false">http://localhost/ticket/1255</guid>
        <category>Report</category>
      </item><item>
                  <title>#1341: Delete spam users from ckan</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 14 Sep 2011 10:10:34 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 01 Nov 2011 09:59:00 GMT</pubDate>
                  <description>&lt;p&gt;
Spam users where added to thedatahub and we need to clean them.
&lt;/p&gt;
</description>
                  
        <dc:creator>kindly</dc:creator>

        <link>http://localhost/ticket/1341</link>
        <guid isPermaLink="false">http://localhost/ticket/1341</guid>
        <category>Report</category>
      </item><item>
                  <title>#1652: How we intergrate with Drupal Multiligual?</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 16 Jan 2012 10:31:34 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jun 2012 10:18:55 GMT</pubDate>
                  <description>&lt;ul&gt;&lt;li&gt;Analysis of how/where we can integrate with Drupal Multilingual
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Is it likely to access CKAN via /en/data/... or /data/en/... (not sure, probably former) and we need to make sure that it ends up at /en/...
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Check with Ian for other issues.
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/1652</link>
        <guid isPermaLink="false">http://localhost/ticket/1652</guid>
        <category>Report</category>
      </item><item>
                  <title>#2729: searching for tags:[tag] works but tag:[tag] doesn't</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 22 Jul 2012 09:58:29 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 22 Jul 2012 09:59:36 GMT</pubDate>
                  <description>&lt;p&gt;
which is confusing since you can only search for one tag like this at a time. I.e.
tags:economics,cvs or tags:economics, csv or tags:economics+CSV doesn't work for example; therefore tag:economics, should also work!
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://s031.okserver.org:2375/dataset?q=tags%3Aeconomics&amp;amp;sort=relevance+asc"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/dataset?q=tags%3Aeconomics&amp;amp;sort=relevance+asc&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2729</link>
        <guid isPermaLink="false">http://localhost/ticket/2729</guid>
        <category>Report</category>
      </item><item>
                  <title>#2524: If there are no translation files for selected language fall back to default lang.</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 13 Jun 2012 17:37:28 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 19 Jun 2012 14:53:28 GMT</pubDate>
                  <description>&lt;p&gt;
If a user selects a language there are no mo files for then an error is raised.  Revert to default language instead.
&lt;/p&gt;
</description>
                  
        <dc:creator>kindly</dc:creator>

        <link>http://localhost/ticket/2524</link>
        <guid isPermaLink="false">http://localhost/ticket/2524</guid>
        <category>Report</category>
      </item><item>
                  <title>#2291: DataStorer incorrectly attempts to store JSON in DataStore</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 14 Apr 2012 19:19:07 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 15:05:37 GMT</pubDate>
                  <description>&lt;p&gt;
See &lt;a class="ext-link" href="http://thedatahub.org/dataset/ecb13156-cf11-4e91-b51c-f287d154276e/resource/5db67915-40cb-467e-9d72-194ea4973670"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://thedatahub.org/dataset/ecb13156-cf11-4e91-b51c-f287d154276e/resource/5db67915-40cb-467e-9d72-194ea4973670&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
This was marked as json format (and is JSON) but appears to have been imported as a quasi-CSV. Either this hsould not be imported at all or it should be imported as JSON ... (which is straightforward to do).
&lt;/p&gt;
&lt;p&gt;
Assigning to David for triage and review.
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2291</link>
        <guid isPermaLink="false">http://localhost/ticket/2291</guid>
        <category>Report</category>
      </item><item>
                  <title>#2334: Improved data import</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 28 Apr 2012 22:21:02 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 11:42:18 GMT</pubDate>
                  <description>&lt;p&gt;
Placeholder for thinking about this ...
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Allow users to configure info for CSV import (e.g. separators, quotes etc)
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2334</link>
        <guid isPermaLink="false">http://localhost/ticket/2334</guid>
        <category>Report</category>
      </item><item>
                  <title>#2406: Errors in source install doc</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 21 May 2012 10:11:33 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 15:06:44 GMT</pubDate>
                  <description>&lt;p&gt;
There are a few errors or unclarities in the source install doc - see
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://lists.okfn.org/pipermail/ckan-dev/2012-May/002203.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://lists.okfn.org/pipermail/ckan-dev/2012-May/002203.html&lt;/a&gt;
&lt;a class="ext-link" href="http://lists.okfn.org/pipermail/ckan-dev/2012-May/002204.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://lists.okfn.org/pipermail/ckan-dev/2012-May/002204.html&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>markw</dc:creator>

        <link>http://localhost/ticket/2406</link>
        <guid isPermaLink="false">http://localhost/ticket/2406</guid>
        <category>Report</category>
      </item><item>
                  <title>#2415: Confusing message on attempting to register new account with upper case</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 23 May 2012 13:19:49 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jul 2012 22:31:44 GMT</pubDate>
                  <description>&lt;p&gt;
On registering a new account, if you try to use a capital letter in your 'Login', you get the unhelpful error message:
&lt;/p&gt;
&lt;p&gt;
"The form contains invalid entries: Name: Url must be purely lowercase alphanumeric (ascii) characters and these symbols: -_"
&lt;/p&gt;
&lt;p&gt;
What does 'Name' or 'Url' have to do with anything? It means 'Login must be ...'
&lt;/p&gt;
&lt;p&gt;
But even better would be to make the login case-insensitive and allow capitals to be entered.
&lt;/p&gt;
</description>
                  
        <dc:creator>markw</dc:creator>

        <link>http://localhost/ticket/2415</link>
        <guid isPermaLink="false">http://localhost/ticket/2415</guid>
        <category>Report</category>
      </item><item>
                  <title>#2426: Get rid of CKAN's formalchemy dependency</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 25 May 2012 11:47:42 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 09:21:35 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2426</link>
        <guid isPermaLink="false">http://localhost/ticket/2426</guid>
        <category>Report</category>
      </item><item>
                  <title>#2427: Reduce cruft installed into CKAN's virtualenv due to Pylons</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 25 May 2012 11:48:27 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jul 2012 22:32:03 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2427</link>
        <guid isPermaLink="false">http://localhost/ticket/2427</guid>
        <category>Report</category>
      </item><item>
                  <title>#2473: Make datstorer store field ordering in _meta field</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 29 May 2012 12:11:32 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 15:07:51 GMT</pubDate>
                  <description>&lt;p&gt;
Recline views should have a default table order, being the same as the csv that was imported.
&lt;/p&gt;
</description>
                  
        <dc:creator>kindly</dc:creator>

        <link>http://localhost/ticket/2473</link>
        <guid isPermaLink="false">http://localhost/ticket/2473</guid>
        <category>Report</category>
      </item><item>
                  <title>#2708: limit extra data for package/group show</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 18 Jul 2012 14:40:20 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 18 Jul 2012 14:40:20 GMT</pubDate>
                  <description>&lt;blockquote&gt;
&lt;p&gt;
context&lt;a class="missing wiki"&gt;package_limits?&lt;/a&gt; = { 'tags': 5,     &amp;lt;- get first 5
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
'extras': 0,   &amp;lt;- get all
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
}
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
only get what you ask for have to be explicit
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
context&lt;a class="missing wiki"&gt;group_limits?&lt;/a&gt; = {}   only main item
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
start with datasets/groups expand if we like it
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2708</link>
        <guid isPermaLink="false">http://localhost/ticket/2708</guid>
        <category>Report</category>
      </item><item>
                  <title>#2548: Object ownership for groups/package</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 18 Jun 2012 11:02:11 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 26 Jun 2012 10:28:59 GMT</pubDate>
                  <description>&lt;h2 id="Requirements"&gt;Requirements&lt;/h2&gt;
&lt;p&gt;
We need to be able to easily determine who the owner of a dataset or group is.  Datasets and Groups should have an Owner, who may change over time but is a specific user within the CKAN instance.  It should be easy for CKAN components to determine the user and for the initial version we should ignore the can of worms labelled 'ownership transfer'.
&lt;/p&gt;
&lt;p&gt;
At this point migration is likely to be the biggest issue, and would suggest that it is acceptable that the last user to edit a dataset be set as the current owner.
&lt;/p&gt;
&lt;p&gt;
More tickets should arise as a result of this work where we may be able to optimise some queries to use the new feature.
&lt;/p&gt;
&lt;h2 id="Interface"&gt;Interface&lt;/h2&gt;
&lt;p&gt;
None
&lt;/p&gt;
&lt;h2 id="UserStories"&gt;User Stories&lt;/h2&gt;
&lt;p&gt;
None
&lt;/p&gt;
&lt;h2 id="Tasks"&gt;Tasks&lt;/h2&gt;
&lt;p&gt;
[ ] &lt;a class="missing wiki"&gt;Analysis/Clarification?&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
[ ] Tests
&lt;/p&gt;
&lt;p&gt;
[ ] Migration
&lt;/p&gt;
&lt;p&gt;
[ ] &lt;a class="missing wiki"&gt;Code/Schema?&lt;/a&gt; changes
&lt;/p&gt;
&lt;p&gt;
[ ] Documentation
&lt;/p&gt;
&lt;h2 id="Estimates"&gt;Estimates&lt;/h2&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2548</link>
        <guid isPermaLink="false">http://localhost/ticket/2548</guid>
        <category>Report</category>
      </item><item>
                  <title>#2641: Adapt spatial widgets to new theme</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 09 Jul 2012 15:02:27 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 11 Nov 2012 18:34:14 GMT</pubDate>
                  <description>&lt;p&gt;
Dataset extent map and spatial filter need to adapted to the new theme, as they are not showing up now
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/2641</link>
        <guid isPermaLink="false">http://localhost/ticket/2641</guid>
        <category>Report</category>
      </item><item>
                  <title>#2446: Create demo dataset history/comparison page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 13:12:18 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 11 Nov 2012 18:33:39 GMT</pubDate>
                  <description>&lt;p&gt;
This is a low priority for the demo site.
&lt;/p&gt;
&lt;p&gt;
Discussion:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62414120/comments"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62414120/comments&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Implementation:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://s031.okserver.org:2375/dataset/history/adur_district_spending"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/dataset/history/adur_district_spending&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>aron.carroll</dc:creator>

        <link>http://localhost/ticket/2446</link>
        <guid isPermaLink="false">http://localhost/ticket/2446</guid>
        <category>Report</category>
      </item><item>
                  <title>#2457: Create demo tags list page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 13:28:55 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 11 Nov 2012 18:34:38 GMT</pubDate>
                  <description>&lt;p&gt;
This includes the tag page as well for now.
&lt;/p&gt;
&lt;p&gt;
Discussion:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62998445/comments"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62998445/comments&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Implementation:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://s031.okserver.org:2375/en/tag"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/en/tag&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>aron.carroll</dc:creator>

        <link>http://localhost/ticket/2457</link>
        <guid isPermaLink="false">http://localhost/ticket/2457</guid>
        <category>Report</category>
      </item><item>
                  <title>#2451: Create demo user list page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 13:20:13 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 11 Nov 2012 18:35:02 GMT</pubDate>
                  <description>&lt;p&gt;
Discussion:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62268474/comments"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/62268474/comments&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Implementation:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://s031.okserver.org:2375/user"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/user&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>aron.carroll</dc:creator>

        <link>http://localhost/ticket/2451</link>
        <guid isPermaLink="false">http://localhost/ticket/2451</guid>
        <category>Report</category>
      </item><item>
                  <title>#2785: Allow resources to be re-ordered</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 01 Aug 2012 10:22:03 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 29 Aug 2012 10:25:16 GMT</pubDate>
                  <description>&lt;p&gt;
Not sure where this functionality should be added, possibly in one of the sidebar widgets when editing a resource?
&lt;/p&gt;
&lt;p&gt;
Ira, what are your thoughts?
&lt;/p&gt;
</description>
                  
        <dc:creator>aron.carroll</dc:creator>

        <link>http://localhost/ticket/2785</link>
        <guid isPermaLink="false">http://localhost/ticket/2785</guid>
        <category>Report</category>
      </item><item>
                  <title>#3021: Logout doesn't work without JS</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 20 Nov 2012 11:19:10 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 20 Nov 2012 11:46:08 GMT</pubDate>
                  <description>&lt;p&gt;
Essentially, the functionality should be as follows:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Add logout link that has &lt;tt&gt;.js-hide&lt;/tt&gt; attached to it within the header that isn't hidden within a dropdown
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
See &lt;a class="ext-link" href="http://plus.google.com/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://plus.google.com/&lt;/a&gt; (when logged in) with and without JS to see an example of the actual sign-out working without JS
&lt;/p&gt;
</description>
                  
        <dc:creator>johnmartin</dc:creator>

        <link>http://localhost/ticket/3021</link>
        <guid isPermaLink="false">http://localhost/ticket/3021</guid>
        <category>Report</category>
      </item><item>
                  <title>#2917: Organization admins can delete themselves</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 12 Sep 2012 12:10:43 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 12 Sep 2012 13:13:56 GMT</pubDate>
                  <description>&lt;p&gt;
Organization administrators can delete themselves from the user management pages.  We should disable this on the front-end as well as the back-end.
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2917</link>
        <guid isPermaLink="false">http://localhost/ticket/2917</guid>
        <category>Report</category>
      </item><item>
                  <title>#3016: CKAN 2.0 template tweaks</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 13 Nov 2012 13:30:17 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 13 Nov 2012 13:30:17 GMT</pubDate>
                  <description>&lt;p&gt;
Just a ticket to keep track of a few suggested template changes.
&lt;/p&gt;
</description>
                  
        <dc:creator>johnmartin</dc:creator>

        <link>http://localhost/ticket/3016</link>
        <guid isPermaLink="false">http://localhost/ticket/3016</guid>
        <category>Report</category>
      </item><item>
                  <title>#3018: Load more in activity streams</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 14 Nov 2012 13:34:11 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 10 Dec 2012 12:02:30 GMT</pubDate>
                  <description>&lt;p&gt;
Activity streams should be able to load more than 15 items within them. Suggest the default amount of loading is around 30 and then click to load more.
&lt;/p&gt;
</description>
                  
        <dc:creator>johnmartin</dc:creator>

        <link>http://localhost/ticket/3018</link>
        <guid isPermaLink="false">http://localhost/ticket/3018</guid>
        <category>Report</category>
      </item><item>
                  <title>#2697: create dataset validation</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 18 Jul 2012 14:00:35 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 29 Aug 2012 10:25:25 GMT</pubDate>
                  <description>&lt;p&gt;
Includes: missing fields, existing field checks (i.e. whether a name/dataset already exists with that name) during input (i.e. no need to submit form to check)
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2697</link>
        <guid isPermaLink="false">http://localhost/ticket/2697</guid>
        <category>Report</category>
      </item><item>
                  <title>#3011: Recline fixes and updates for CKAN 2.0</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 07 Nov 2012 11:40:55 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 07 Nov 2012 11:40:55 GMT</pubDate>
                  <description>&lt;p&gt;
Fixes and updates to Recline / Datapreview for CKAN 2.0.
&lt;/p&gt;
</description>
                  
        <dc:creator>johnglover</dc:creator>

        <link>http://localhost/ticket/3011</link>
        <guid isPermaLink="false">http://localhost/ticket/3011</guid>
        <category>Report</category>
      </item><item>
                  <title>#3017: New stable branch for the demo server</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 13 Nov 2012 15:04:48 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 13 Nov 2012 15:04:48 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>johnglover</dc:creator>

        <link>http://localhost/ticket/3017</link>
        <guid isPermaLink="false">http://localhost/ticket/3017</guid>
        <category>Report</category>
      </item><item>
                  <title>#1584: QA report improvements - 2.5d</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 21 Dec 2011 09:23:53 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 06 Jun 2012 11:26:15 GMT</pubDate>
                  <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>
                  
        <dc:creator>johnglover</dc:creator>

        <link>http://localhost/ticket/1584</link>
        <guid isPermaLink="false">http://localhost/ticket/1584</guid>
        <category>Report</category>
      </item><item>
                  <title>#1588: QA - Give SPARQL endpoints a 4 star rating</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 21 Dec 2011 15:13:25 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jan 2012 03:32:58 GMT</pubDate>
                  <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>
                  
        <dc:creator>johnglover</dc:creator>

        <link>http://localhost/ticket/1588</link>
        <guid isPermaLink="false">http://localhost/ticket/1588</guid>
        <category>Report</category>
      </item><item>
                  <title>#1589: QA - Give 5 star rating to datasets with link metadata</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 21 Dec 2011 15:16:40 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jan 2012 03:31:35 GMT</pubDate>
                  <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>
                  
        <dc:creator>johnglover</dc:creator>

        <link>http://localhost/ticket/1589</link>
        <guid isPermaLink="false">http://localhost/ticket/1589</guid>
        <category>Report</category>
      </item><item>
                  <title>#2733: Datastore logic functions</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 23 Jul 2012 15:54:46 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 30 Jul 2012 13:48:25 GMT</pubDate>
                  <description>&lt;h2 id="Wheredoesthedatago"&gt;Where does the data go?&lt;/h2&gt;
&lt;p&gt;
In a postgres database configured by the ckan.datastore_write_url config option which is a sqlalchemy url.
&lt;/p&gt;
&lt;p&gt;
The user should have rights to create tables.
&lt;/p&gt;
&lt;h2 id="Whatstheapilike"&gt;Whats the api like?&lt;/h2&gt;
&lt;p&gt;
We will just implement it as logic functions like the rest of CKAN and will part of core.  After that we may add some nicer api functions that use these but that is a secondary concern.
&lt;/p&gt;
&lt;h2 id="Whataretheinitiallogicfunctions"&gt;What are the initial logic functions?&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;datastore_create
&lt;/li&gt;&lt;li&gt;datastore_delete
&lt;/li&gt;&lt;li&gt;datastore_show
&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="WhatistheJSONinputformatfordatastore_create"&gt;What is the JSON input format for datastore_create&lt;/h2&gt;
&lt;p&gt;
To begin with it can have the following keys. It is fairly consistent with Max Ogdens' gut servers.  Except adds resource_id.
&lt;/p&gt;
&lt;pre class="wiki"&gt;{
resource_id: resource_id # the data is going to be stored against.
fields: a list of dictionaries of fields/columns and their extra metadata.
records: a list of dictionaries of the data eg  [{"dob": "2005", "some_stuff": ['a', b']}, ..]
}
&lt;/pre&gt;&lt;ul&gt;&lt;li&gt;The first row will be used to guess types not in the fields and the guessed types will be added to the headers permanently. Consecutive rows have to conform to the field definitions.
&lt;/li&gt;&lt;li&gt;rows: can be empty so that you can just set the fields
&lt;/li&gt;&lt;li&gt;fields are optional but needed if you want to do type hinting or add extra information for certain columns or to explicitly define ordering.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
eg:  [{"id": "dob", "type": "timestamp" }, {"id": "some_stuff", "type": "text"},  ...].
A header items values can not be changed after it has been defined nor can the ordering of them be changed.  They can be extended though.
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Any error results in total failure!! For now pass back the actual error.
&lt;/li&gt;&lt;li&gt;Should be transactional
&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="Whatjsondoesdatastore_deletetake"&gt;What json does datastore_delete take?&lt;/h2&gt;
&lt;pre class="wiki"&gt;{
resource_id: resource_id # the data is going to be deleted.
filters: dictionary of matching conditions to delete
    e.g  {'key1': 'a. 'key2': 'b'}  this will be equivalent to "delete from table where key1 = 'a' and key2 = 'b' ".
    No filters (either not present or not defined) then delete the table. If we want truncate then add truncate: true to truncate the table.
}
&lt;/pre&gt;&lt;h2 id="Whatjsondoesdatastore_searchtake"&gt;What json does datastore_search take?&lt;/h2&gt;
&lt;pre class="wiki"&gt;{
resource_id: resource_id # the data is going to be selected.
filters : dictionary of matching conditions to select
    e.g  {'key1': 'a. 'key2': 'b'}  this will be equivalent to "select * from table where key1 = 'a' and key2 = 'b' "
q: full text query
limit: limit the amount of rows to size default 100
offset: offset the amount of rows
fields:  list of fields return in that order, defaults (empty or not present) to all fields in fields order.
sort: comma separated field names with ordering e.g "fieldname1, fieldname2 desc"
}
&lt;/pre&gt;&lt;p&gt;
Some free code: &lt;a class="ext-link" href="https://gist.github.com/3163864"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://gist.github.com/3163864&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="Whatjsondoesdatastore_searchreturn"&gt;What json does datastore_search return?&lt;/h2&gt;
&lt;pre class="wiki"&gt;{
fields: same type as datastore_create accepts (i.e. with metadata)
offset: The same offset that was supplied in datastore_show
limit: The original limit
filters: The filters that were applied in data_show
total: # total matching records without size or offset
records: [same as data_create] # list of matching results
}
&lt;/pre&gt;&lt;p&gt;
On error will return:
&lt;/p&gt;
&lt;pre class="wiki"&gt;{
__error__: … sql error …
}
&lt;/pre&gt;&lt;h2 id="Whattypesareallowed"&gt;What types are allowed?&lt;/h2&gt;
&lt;p&gt;
Aim to support as many postgres/postgis types that have string representations.
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://www.postgresql.org/docs/9.1/static/datatype.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://www.postgresql.org/docs/9.1/static/datatype.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://www.postgresql.org/docs/9.1/static/sql-createdomain.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://www.postgresql.org/docs/9.1/static/sql-createdomain.html&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="IDs"&gt;IDs&lt;/h2&gt;
&lt;p&gt;
Each row in a table will be given an _id column which has an id generated by us which you can use in queries.
&lt;/p&gt;
&lt;h2 id="OtherFeatures"&gt;Other Features&lt;/h2&gt;
&lt;p&gt;
Each row will store the _full_text index of all the data in the row. At some later point there will most likely be a way to index fields add constraints etc.
&lt;/p&gt;
</description>
                  
        <dc:creator>johnglover</dc:creator>

        <link>http://localhost/ticket/2733</link>
        <guid isPermaLink="false">http://localhost/ticket/2733</guid>
        <category>Report</category>
      </item><item>
                  <title>#1062: Data preview encoding error</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 29 Mar 2011 10:55:43 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 27 Jul 2011 13:35:31 GMT</pubDate>
                  <description>&lt;p&gt;
The preview of "Species Misc Turtle Download" at &lt;a class="ext-link" href="http://ckan.net/package/taxonconcept"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://ckan.net/package/taxonconcept&lt;/a&gt; results in the following error:
&lt;/p&gt;
&lt;p&gt;
Unable to Preview - Had an error from dataproxy:
Data Transformation Error (Data transformation failed. Reason: 'utf8' codec can't decode byte 0x8b in position 1: unexpected code byte
&lt;/p&gt;
</description>
                  
        <dc:creator>sebbacon</dc:creator>

        <link>http://localhost/ticket/1062</link>
        <guid isPermaLink="false">http://localhost/ticket/1062</guid>
        <category>Report</category>
      </item><item>
                  <title>#1259: "Add a row" for Extras on Package form</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 02 Aug 2011 16:31:33 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 09 Aug 2011 16:24:16 GMT</pubDate>
                  <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>
                  
        <dc:creator>pudo</dc:creator>

        <link>http://localhost/ticket/1259</link>
        <guid isPermaLink="false">http://localhost/ticket/1259</guid>
        <category>Report</category>
      </item><item>
                  <title>#1336: License fudge</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 13 Sep 2011 11:07:37 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 06 Dec 2011 12:04:33 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1336</link>
        <guid isPermaLink="false">http://localhost/ticket/1336</guid>
        <category>Report</category>
      </item><item>
                  <title>#1393: Don't skip search tests</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Oct 2011 11:30:53 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 01 Nov 2011 13:19:50 GMT</pubDate>
                  <description>&lt;p&gt;
Now we don't use postgres search, all the tests involving search now don't need to be skipped when running on sqlite. Should help coders spot earlier if these tests break.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1393</link>
        <guid isPermaLink="false">http://localhost/ticket/1393</guid>
        <category>Report</category>
      </item><item>
                  <title>#1203: Moderated edits: html code shows as "changed" although it is not</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 28 Jun 2011 15:29:30 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Aug 2011 09:46:19 GMT</pubDate>
                  <description>&lt;p&gt;
I've installed the Moderated Edits extension (ckanext-moderatededits) and am editing a package imported from IATIregistry.org, with an extra field which contains a bit of HTML.
&lt;/p&gt;
&lt;p&gt;
The editor indicates the field has changed, although the content hasn't (see screenshot). All I can find so far is a minor difference: in the field content, there is a code &amp;amp;#8212 and in the rendered table that is an &amp;amp;mdash;
&lt;/p&gt;
</description>
                  
        <dc:creator>rolf</dc:creator>

        <link>http://localhost/ticket/1203</link>
        <guid isPermaLink="false">http://localhost/ticket/1203</guid>
        <category>Report</category>
      </item><item>
                  <title>#2829: Archiver fails on 403 http response</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 10:34:44 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 10:34:44 GMT</pubDate>
                  <description>&lt;p&gt;
Had this issue with the archiver on my local machine need to be logged in (I am admin) to see via web front end
&lt;/p&gt;
&lt;pre class="wiki"&gt;$ paster archiver update -c ../ckan/development.ini
2012-08-09 11:01:37,636 INFO  [ckanext.archiver.commands] Archival of dataset resource data added to celery queue: opencontext-chogha-mish-fauna (1 resources)
2012-08-09 11:01:37,671 INFO  [ckanext.archiver.commands] Getting dataset metadata: south-african-national-gov-budget-2012-13
2012-08-09 11:01:37,900 INFO  [ckan.lib.base]  /api/action/package_show render time 0.043 seconds
Traceback (most recent call last):
  File "/home/toby/okfn/pyenv/bin/paster", line 8, in &amp;lt;module&amp;gt;
    load_entry_point('PasteScript==1.7.5', 'console_scripts', 'paster')()
  File "/home/toby/okfn/pyenv/lib/python2.7/site-packages/paste/script/command.py", line 104, in run
    invoke(command, command_name, options, args[1:])
  File "/home/toby/okfn/pyenv/lib/python2.7/site-packages/paste/script/command.py", line 143, in invoke
    exit_code = runner.run(args)
  File "/home/toby/okfn/pyenv/lib/python2.7/site-packages/paste/script/command.py", line 238, in run
    result = self.command()
  File "/home/toby/okfn/pyenv/src/ckanext-archiver/ckanext/archiver/commands.py", line 98, in command
    response = app.post(api_url + '/package_show', data)
  File "/home/toby/okfn/pyenv/lib/python2.7/site-packages/paste/fixture.py", line 262, in post
    expect_errors=expect_errors)
  File "/home/toby/okfn/pyenv/lib/python2.7/site-packages/paste/fixture.py", line 243, in _gen_request
    return self.do_request(req, status=status)
  File "/home/toby/okfn/pyenv/lib/python2.7/site-packages/paste/fixture.py", line 406, in do_request
    self._check_status(status, res)
  File "/home/toby/okfn/pyenv/lib/python2.7/site-packages/paste/fixture.py", line 439, in _check_status
    res.body))
paste.fixture.AppError: Bad response: 403 Forbidden (not 200 OK or 3xx redirect for /api/action/package_show)
{"help": "Return the metadata of a dataset (package) and its resources.\n\n    :param id: the id or name of the dataset\n    :type id: string\n\n    :rtype: dictionary\n\n    ", "success": false, "error": {"message": "Access denied", "__type": "Authorization Error"}}
&lt;/pre&gt;</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2829</link>
        <guid isPermaLink="false">http://localhost/ticket/2829</guid>
        <category>Report</category>
      </item><item>
                  <title>#2859: Fix the build</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 09:26:57 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 09:26:57 GMT</pubDate>
                  <description>&lt;p&gt;
The requires files have been removed.  These were required by buildkit.
&lt;/p&gt;
&lt;p&gt;
We've lost the information regarding which packages were already in ubuntu repos, which conflicted and which were missing.  But perhaps we can just package everything up.
&lt;/p&gt;
</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2859</link>
        <guid isPermaLink="false">http://localhost/ticket/2859</guid>
        <category>Report</category>
      </item><item>
                  <title>#2405: Improvements to data viewer embed</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 21 May 2012 06:59:25 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 14:53:01 GMT</pubDate>
                  <description>&lt;ul&gt;&lt;li&gt;Decent powered by icon for the Embed for the &lt;a class="missing wiki"&gt;DataHub?&lt;/a&gt;? (make this text customizable and allow html ...)
&lt;ul&gt;&lt;li&gt;Current icon and text looks really bad
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Embed link uses uuid rather than dataset name (this goes to perma-url question ...)
&lt;/li&gt;&lt;li&gt;Data viewer embed url includes all the resource info (not needed -- just url and backend info ...)
&lt;/li&gt;&lt;li&gt;Embed extension urls do not respect original domain but instead use site_url (I'm guessing). E.g. datahub.io domain ends up with links to embed on thedatahub.org
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2405</link>
        <guid isPermaLink="false">http://localhost/ticket/2405</guid>
        <category>Report</category>
      </item><item>
                  <title>#2959: Changing a Group's name through the action api disassociates it from its datasets in the index</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 04 Oct 2012 15:18:55 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 04 Oct 2012 15:18:55 GMT</pubDate>
                  <description>&lt;p&gt;
Repro:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Create a new Group, named "test-group".
&lt;/li&gt;&lt;li&gt;Add a dataset to it.
&lt;/li&gt;&lt;li&gt;Verify the dataset belongs to the group by visiting the Group's read-page
&lt;/li&gt;&lt;li&gt;Update the Group through the action api (group_update), using the uid in the "id" field, and a new name in the "name" field.
&lt;/li&gt;&lt;li&gt;Visit the group's read-page.  The list of datasets will be empty.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
This was an issue when editing a Group through the web interface, which was fixed in &lt;a class="missing changeset" title="No default repository defined"&gt;[1]&lt;/a&gt;.  However it only fixes the issue in the group controller.
&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="https://github.com/okfn/ckan/commit/dbe25d8b8d7fabfc40c5d794a920b91cec349335"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://github.com/okfn/ckan/commit/dbe25d8b8d7fabfc40c5d794a920b91cec349335&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2959</link>
        <guid isPermaLink="false">http://localhost/ticket/2959</guid>
        <category>Report</category>
      </item><item>
                  <title>#2277: Use the new atom feeds in IATI</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Apr 2012 17:10:28 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Apr 2012 17:10:28 GMT</pubDate>
                  <description>&lt;p&gt;
Atom feeds have been implemented in core in &lt;a class="closed ticket" href="http://localhost/ticket/1593" title="enhancement: [super] Create feeds from search results (closed: fixed)"&gt;#1593&lt;/a&gt;.  The IATI-specific implementation can now be removed when IATI move to CKAN &amp;gt;= 1.6.1
&lt;/p&gt;
</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2277</link>
        <guid isPermaLink="false">http://localhost/ticket/2277</guid>
        <category>Report</category>
      </item><item>
                  <title>#2310: Refactor the search-query construction in feeds.py</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 16 Apr 2012 16:01:31 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 16 May 2012 09:09:46 GMT</pubDate>
                  <description>&lt;p&gt;
The feeds controller, used to construct atom feeds, duplicates code found in the package controller's search action (in order to construct the custom feed).
&lt;/p&gt;
&lt;p&gt;
Refactor this to remove duplication.
&lt;/p&gt;
</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2310</link>
        <guid isPermaLink="false">http://localhost/ticket/2310</guid>
        <category>Report</category>
      </item><item>
                  <title>#2298: Add sort-by controls to the search results page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 16 Apr 2012 09:39:22 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 14:52:27 GMT</pubDate>
                  <description>&lt;p&gt;
Sort-by functionality was exposed through the package controller in &lt;a class="missing changeset" title="No default repository defined"&gt;[1]&lt;/a&gt;.  But no controls were added to the search-page.
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;What should the sortBy controls/widget look like?
&lt;/li&gt;&lt;li&gt;Which fields should be exposed?
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
The above commit is in the release-1.6.1 branch, so this work is dependant upon release-1.6.1 from being merged into master.
&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="https://github.com/okfn/ckan/commit/8685c6000d1cb211928b4dbc63990fb72d884f8c"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://github.com/okfn/ckan/commit/8685c6000d1cb211928b4dbc63990fb72d884f8c&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2298</link>
        <guid isPermaLink="false">http://localhost/ticket/2298</guid>
        <category>Report</category>
      </item><item>
                  <title>#2350: Hooks  in package controller for validating form data</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 01 May 2012 14:16:01 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 14:52:46 GMT</pubDate>
                  <description>&lt;p&gt;
When the validation schema was moved from the package controller into the logic layer, the schema's role was changed from that of processing a form and validating data; to just validating data.  Whilst is makes sense to have a schema for validating data as it comes in and leaves the logic layer; there's no longer the hook available to &lt;a class="missing wiki"&gt;PackageController?&lt;/a&gt; subclasses to do form validation/processing.
&lt;/p&gt;
&lt;p&gt;
Add a hook into _save_new() and save_edit() prior to the logic-layer call which subclasses can then override.
&lt;/p&gt;
&lt;p&gt;
NB - form processing/validation *is* different to validating data.  For example, many data can be inferred from a user's input; or there may be aspects of the form that need to be filled in, but do not make sense to pass as data into the logic-layer, eg. agreeing to T&amp;amp;Cs.
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;[ ] Add hooks
&lt;/li&gt;&lt;li&gt;[ ] Use in ckanext-example
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2350</link>
        <guid isPermaLink="false">http://localhost/ticket/2350</guid>
        <category>Report</category>
      </item><item>
                  <title>#2603: Remove deprecated 'fields' parameter from resource_search</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 26 Jun 2012 17:10:01 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 26 Jun 2012 17:10:01 GMT</pubDate>
                  <description>&lt;p&gt;
The fields parameter of resource_search was deprecated when fixing &lt;a class="closed ticket" href="http://localhost/ticket/2438" title="enhancement: resource_search action not accessible via GET request (closed: fixed)"&gt;#2438&lt;/a&gt;.  It can be removed in release 1.9, and the action tidied up as a result.
&lt;/p&gt;
</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2603</link>
        <guid isPermaLink="false">http://localhost/ticket/2603</guid>
        <category>Report</category>
      </item><item>
                  <title>#2621: Remove the deprecated 'fields' parameter from tag_search and tag_autocomplete</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 28 Jun 2012 16:22:49 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 28 Jun 2012 16:22:49 GMT</pubDate>
                  <description>&lt;p&gt;
This was deprecated in 1.8 as it wasn't accessible via GET requests due to being a dict.  See &lt;a class="closed ticket" href="http://localhost/ticket/2439" title="defect: tag_search and tag_autocomplete not fully available via GET request (closed: fixed)"&gt;#2439&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
In a future release of CKAN (probably 1.9) it can be removed.
&lt;/p&gt;
&lt;p&gt;
Internal uses of it were removed in &lt;a class="closed ticket" href="http://localhost/ticket/2439" title="defect: tag_search and tag_autocomplete not fully available via GET request (closed: fixed)"&gt;#2439&lt;/a&gt;, but there are tests that still use it.
&lt;/p&gt;
</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2621</link>
        <guid isPermaLink="false">http://localhost/ticket/2621</guid>
        <category>Report</category>
      </item><item>
                  <title>#2679: Change default behaviour of TemplateController.view to 404.</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 16 Jul 2012 10:55:33 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 16 Jul 2012 10:55:33 GMT</pubDate>
                  <description>&lt;p&gt;
The current behaviour of &lt;a class="missing wiki"&gt;TemplateController?&lt;/a&gt;.view() (which is the fallback controller should all others fail) is to attempt to render (as a genshi template) the requested file.
&lt;/p&gt;
&lt;p&gt;
Although this may be a feature that some instances want.  In general, it leads to:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;500s when attempting to access a normal template (eg - &lt;a class="ext-link" href="http://datahub.io/importer/preview"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://datahub.io/importer/preview&lt;/a&gt;)
&lt;/li&gt;&lt;li&gt;A way of inadvertantly serving things you may not want to serve.  (Small risk, as it needs to be renderable as a genshi template).
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Solution:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Change the controller to 404
&lt;/li&gt;&lt;li&gt;Ensure there's a way for existing ckan instances to override that behaviour should they need it.
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2679</link>
        <guid isPermaLink="false">http://localhost/ticket/2679</guid>
        <category>Report</category>
      </item><item>
                  <title>#2709: Atom feeds are undocumented</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 18 Jul 2012 15:11:50 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 18 Jul 2012 15:43:32 GMT</pubDate>
                  <description>&lt;p&gt;
There doesn't seem to be any documentation yet for Atom feeds.
&lt;/p&gt;
</description>
                  
        <dc:creator>markw</dc:creator>

        <link>http://localhost/ticket/2709</link>
        <guid isPermaLink="false">http://localhost/ticket/2709</guid>
        <category>Report</category>
      </item><item>
                  <title>#2784: model dictize sensitive data</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 01 Aug 2012 09:51:25 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 01 Aug 2012 09:51:25 GMT</pubDate>
                  <description>&lt;p&gt;
The model dictize layer doesn't consistently remove sensitive data from the dictized models.  It should use the current context to decide whether to include sensitive data or not.
&lt;/p&gt;
</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2784</link>
        <guid isPermaLink="false">http://localhost/ticket/2784</guid>
        <category>Report</category>
      </item><item>
                  <title>#250: RDF link in Atom feed</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 18 Feb 2010 15:41:35 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 13:37:10 GMT</pubDate>
                  <description>&lt;p&gt;
Add link to RDF representation of a package in our Atom feed.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/250</link>
        <guid isPermaLink="false">http://localhost/ticket/250</guid>
        <category>Report</category>
      </item><item>
                  <title>#2485: Encourage leak containment by limiting the number of requests a CKAN process serves</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 01 Jun 2012 11:47:09 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 14:53:48 GMT</pubDate>
                  <description>&lt;p&gt;
CKAN has &lt;a class="closed ticket" href="http://localhost/ticket/1345" title="enhancement: Investigate possible memory leak (closed: fixed)"&gt;memory leaks&lt;/a&gt;. They can be contained by limiting the time-to-live of a ckan process. An easy way to achieve this is to limit the number of requests a ckan server process can serve before it gets killed and replaced.
&lt;/p&gt;
&lt;p&gt;
One should ...
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;research ways to limit requests-per-process with the different web servers (see below for a start);
&lt;/li&gt;&lt;li&gt;explain these safeguards in the CKAN documentation and encourage users to apply them;
&lt;/li&gt;&lt;li&gt;consider the helper script &lt;strong&gt;&lt;a class="ext-link" href="https://github.com/okfn/ckan/blob/master/ckan_deb/usr/bin/ckan-create-instance"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;ckan-create-instance&lt;/a&gt;&lt;/strong&gt; to generate Apache configs with &lt;strong&gt;WSGIDaemonProcess ... maximum-requests=XY&lt;/strong&gt; being active instead of &lt;a class="ext-link" href="https://github.com/okfn/ckan/blob/master/ckan_deb/usr/lib/ckan/common.sh#L262"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;commented out&lt;/a&gt;. Or at least let it warn the user to use &lt;strong&gt;MaxRequestsPerChild&lt;/strong&gt;;
&lt;/li&gt;&lt;li&gt;Investigate current CKAN deployments whether they suffer from mem leaks, and if so contain them.
&lt;/li&gt;&lt;/ul&gt;&lt;hr /&gt;
&lt;p&gt;
How to limit requests-per-process
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Apache:
&lt;ul&gt;&lt;li&gt;Use &lt;strong&gt;WSGIDaemonProcess&lt;/strong&gt; with &lt;strong&gt;maximum-requests=50&lt;/strong&gt; or whatever limit is appropriate. We did this sucessfully on &lt;a class="ext-link" href="http://trac.okfn.org/ticket/904"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;datahub.io&lt;/a&gt; and the &lt;a class="ext-link" href="http://trac.okfn.org/ticket/1245"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;ckan farm&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;(This need to be verified) Without WSGIDaemonProcess, &lt;strong&gt;MaxRequestsPerChild 50&lt;/strong&gt; should achieve the same.
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;nginx/supervisord: to be researched.
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>nils.toedtmann</dc:creator>

        <link>http://localhost/ticket/2485</link>
        <guid isPermaLink="false">http://localhost/ticket/2485</guid>
        <category>Report</category>
      </item><item>
                  <title>#2550: User types</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 18 Jun 2012 11:06:30 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 10:51:37 GMT</pubDate>
                  <description>&lt;h2 id="Requirements"&gt;Requirements&lt;/h2&gt;
&lt;p&gt;
In the data hub plugin we require the ability to differentiate users between those that have paid for a service, and those that haven't. The distinction isn't boolean as there may be levels of service for paid users, so it may be that we need a 'type' of user where there are various grades of 'paid' which are likely to be strings (specific to the data hub).
&lt;/p&gt;
&lt;h2 id="Requiredinterface"&gt;Required interface&lt;/h2&gt;
&lt;p&gt;
Once changes have been made to the user schema, for a given user we want to be able to:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;determine if they have a paid or a free account, and
&lt;/li&gt;&lt;li&gt;get a string name of the type of paid account.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Care should be taken to ensure that the 'paid' status of the user cannot be set through the API and only by the datahub plugin.
&lt;/p&gt;
&lt;h2 id="UserStories"&gt;User Stories&lt;/h2&gt;
&lt;p&gt;
User stories related to the management, setting and changing of a user's payment level, as well as historical information on payments should be done as part of the work that includes actually allowing purchases.  For now it is adequate that we can manually control these things through paster commands.
&lt;/p&gt;
&lt;p&gt;
Payments types should be linear as I don't believe for this type of service a pick-and-mix modular model would work well. Organizations will inherit the payment level of their owner, so currently there is no requirement for it to affect organizations at all.
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;As a sysadmin I would like to be able to use a paster command to
manually set a user's payment level, or remove it entirely.
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;As a sysadmin I would like to be able to run a paster command to
view a list of users who have a payment plan, grouped by the plan
that they have.
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;As a sysadmin I would like to be able to use the API to change the
payment status of a specific user through user_create and user_update.
This shouldn't be available to anybody else.
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;As a user, and only if I have one, I'd like to see my current payment
level on my user profile page.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;/p&gt;
&lt;h2 id="Tasks"&gt;Tasks&lt;/h2&gt;
&lt;p&gt;
[x] Tests
&lt;/p&gt;
&lt;p&gt;
[x] Plugin based migration
&lt;/p&gt;
&lt;p&gt;
[x] Code
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
[x] Model
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
[x] API
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
[x] Documentation
&lt;/p&gt;
&lt;h2 id="Estimates"&gt;Estimates&lt;/h2&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2550</link>
        <guid isPermaLink="false">http://localhost/ticket/2550</guid>
        <category>Report</category>
      </item><item>
                  <title>#3013: common-error-messages is unreadable</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 10 Nov 2012 13:18:25 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 10 Nov 2012 13:18:25 GMT</pubDate>
                  <description>&lt;p&gt;
Since the update of the doc theme, the page became unreadable.
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://docs.ckan.org/en/latest/common-error-messages.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.ckan.org/en/latest/common-error-messages.html&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>dominik</dc:creator>

        <link>http://localhost/ticket/3013</link>
        <guid isPermaLink="false">http://localhost/ticket/3013</guid>
        <category>Report</category>
      </item><item>
                  <title>#2961: Preview plugin endpoint</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 08 Oct 2012 11:39:27 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 18 Oct 2012 16:33:10 GMT</pubDate>
                  <description>&lt;p&gt;
Users could write ckan extensions that offer previews for a certain datatype.
&lt;/p&gt;
&lt;p&gt;
Advantages:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;We can say that you can add your own previews
&lt;/li&gt;&lt;li&gt;Every preview would have to define it's own dependencies
&lt;/li&gt;&lt;li&gt;External development (community creates new extensions?)
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Questions to answer:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Specification of the interface
&lt;/li&gt;&lt;li&gt;Precedence of previews for the same data types
&lt;/li&gt;&lt;li&gt;Plugins only define the datatype that they are responsible for or do we call a function that returns whether the extension is responsible.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
As far as I can see, this should be fairly easy to implement by following these instructions: &lt;a class="ext-link" href="http://docs.ckan.org/en/latest/writing-extensions.html#writing-a-plugin-interface"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.ckan.org/en/latest/writing-extensions.html#writing-a-plugin-interface&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>dominik</dc:creator>

        <link>http://localhost/ticket/2961</link>
        <guid isPermaLink="false">http://localhost/ticket/2961</guid>
        <category>Report</category>
      </item><item>
                  <title>#1558: Publisher Tools</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 10:46:13 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 10:46:13 GMT</pubDate>
                  <description>&lt;p&gt;
Summarise final set of requirements for this and finish development and test. Estimated 10 working days.
&lt;/p&gt;
</description>
                  
        <dc:creator>jilly mathews</dc:creator>

        <link>http://localhost/ticket/1558</link>
        <guid isPermaLink="false">http://localhost/ticket/1558</guid>
        <category>Report</category>
      </item><item>
                  <title>#1560: Follow extension</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 10:51:19 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 10:51:19 GMT</pubDate>
                  <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>
                  
        <dc:creator>jilly mathews</dc:creator>

        <link>http://localhost/ticket/1560</link>
        <guid isPermaLink="false">http://localhost/ticket/1560</guid>
        <category>Report</category>
      </item><item>
                  <title>#1561: To do extension</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 10:52:52 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 10:52:52 GMT</pubDate>
                  <description>&lt;p&gt;
Can we finish this ready for release on data hub and CKAN Hosted.
&lt;/p&gt;
</description>
                  
        <dc:creator>jilly mathews</dc:creator>

        <link>http://localhost/ticket/1561</link>
        <guid isPermaLink="false">http://localhost/ticket/1561</guid>
        <category>Report</category>
      </item><item>
                  <title>#1564: Structured Data (Data API)</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 11:07:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 11:07:14 GMT</pubDate>
                  <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>
                  
        <dc:creator>jilly mathews</dc:creator>

        <link>http://localhost/ticket/1564</link>
        <guid isPermaLink="false">http://localhost/ticket/1564</guid>
        <category>Report</category>
      </item><item>
                  <title>#1567: Finish QA extension</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 11:19:59 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 11:19:59 GMT</pubDate>
                  <description>&lt;p&gt;
Requires change to celeryd. Estimated 4 weeks.
&lt;/p&gt;
</description>
                  
        <dc:creator>jilly mathews</dc:creator>

        <link>http://localhost/ticket/1567</link>
        <guid isPermaLink="false">http://localhost/ticket/1567</guid>
        <category>Report</category>
      </item><item>
                  <title>#1569: Wordpressser</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 11:27:36 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 11:27:36 GMT</pubDate>
                  <description>&lt;p&gt;
How much effort will this be to be ready to use?
&lt;/p&gt;
</description>
                  
        <dc:creator>jilly mathews</dc:creator>

        <link>http://localhost/ticket/1569</link>
        <guid isPermaLink="false">http://localhost/ticket/1569</guid>
        <category>Report</category>
      </item><item>
                  <title>#1572: Meta data Harvester</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 11:35:09 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 11:35:09 GMT</pubDate>
                  <description>&lt;p&gt;
Need to write custom harvesters for each client. Is it worth having one for data hub?
&lt;/p&gt;
</description>
                  
        <dc:creator>jilly mathews</dc:creator>

        <link>http://localhost/ticket/1572</link>
        <guid isPermaLink="false">http://localhost/ticket/1572</guid>
        <category>Report</category>
      </item><item>
                  <title>#1573: Apps and Ideas</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 11:36:33 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 11:36:33 GMT</pubDate>
                  <description>&lt;p&gt;
Estimate 2 weeks for someone to finish and test.
&lt;/p&gt;
</description>
                  
        <dc:creator>jilly mathews</dc:creator>

        <link>http://localhost/ticket/1573</link>
        <guid isPermaLink="false">http://localhost/ticket/1573</guid>
        <category>Report</category>
      </item><item>
                  <title>#1557: Complete Webstore Preview Extension</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 10:40:53 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 10:40:53 GMT</pubDate>
                  <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>
                  
        <dc:creator>jilly mathews</dc:creator>

        <link>http://localhost/ticket/1557</link>
        <guid isPermaLink="false">http://localhost/ticket/1557</guid>
        <category>Report</category>
      </item><item>
                  <title>#2357: Create build script for front-end resources</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 01 May 2012 15:29:41 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 25 Jul 2012 12:48:44 GMT</pubDate>
                  <description>&lt;p&gt;
Should minify and concatenate &lt;a class="missing wiki"&gt;JavaScript?&lt;/a&gt; and CSS as part of &lt;a class="closed ticket" href="http://localhost/ticket/2354" title="enhancement: Front end performance improvements [super] (closed: wontfix)"&gt;#2354&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>aron.carroll</dc:creator>

        <link>http://localhost/ticket/2357</link>
        <guid isPermaLink="false">http://localhost/ticket/2357</guid>
        <category>Report</category>
      </item><item>
                  <title>#2493: Demo site 404 needs some love</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 06 Jun 2012 12:34:41 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 24 Jul 2012 13:16:55 GMT</pubDate>
                  <description>&lt;p&gt;
templates/error_document_template.html
&lt;/p&gt;
&lt;p&gt;
I've converted the 404 page to the new style but we probably want to serve this as a 'full page' ie content is 100% page width not sidebar and primary content
&lt;/p&gt;
&lt;p&gt;
just go to a non-existant url to see
&lt;/p&gt;
&lt;p&gt;
Discusion:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/63374042/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://okfn.basecamphq.com/projects/9558659-demo-ckan-front-end/posts/63374042/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Implementation:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://s031.okserver.org:2375/404"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/404&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2493</link>
        <guid isPermaLink="false">http://localhost/ticket/2493</guid>
        <category>Report</category>
      </item><item>
                  <title>#2949: Reenable Data API button on the new theme</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 16:04:24 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 16:04:24 GMT</pubDate>
                  <description>&lt;p&gt;
The checks to show or not the button need to be updated for the latest datastore version
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/2949</link>
        <guid isPermaLink="false">http://localhost/ticket/2949</guid>
        <category>Report</category>
      </item><item>
                  <title>#728: CSW Harvesting shall be optimised in respect of reharvesting only records that have changed</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 21 Oct 2010 15:35:40 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 08 Jul 2011 11:33:04 GMT</pubDate>
                  <description>&lt;p&gt;
Hi Will, this is important again because some CSW servers we use have over 300 documents in. Could you take a look at modifying the filter please?
&lt;/p&gt;
</description>
                  
        <dc:creator>johnbywater</dc:creator>

        <link>http://localhost/ticket/728</link>
        <guid isPermaLink="false">http://localhost/ticket/728</guid>
        <category>Report</category>
      </item><item>
                  <title>#794: Investigate reconciling UKLP Publisher and Provider with DGU</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 08 Nov 2010 14:50:11 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jul 2011 16:33:01 GMT</pubDate>
                  <description>&lt;p&gt;
This needs more analysis, but the GEMINI2 attribute "metadata point of contact" must be reconciled with the registered publisher (or agent).
&lt;/p&gt;
&lt;p&gt;
This might also be used to filter records harvested from a CSW source, but filtering also needs more analysis, as does distinction between agent and provider.
&lt;/p&gt;
</description>
                  
        <dc:creator>johnbywater</dc:creator>

        <link>http://localhost/ticket/794</link>
        <guid isPermaLink="false">http://localhost/ticket/794</guid>
        <category>Report</category>
      </item><item>
                  <title>#1152: True support for generic CSW servers</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 23 May 2011 09:02:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Aug 2011 12:37:02 GMT</pubDate>
                  <description>&lt;p&gt;
The CSW harvesters implemented at the moment were developed with the DGU
project in mind, and they assume all remote CSW servers to implement the
Gemini 2 specification. Gemini 2 is the profile defined in the UK for
INSPIRE complying metadata, so obviously catalogs from other countries
or non-INSPIRE complying ones won't be able to be harvested.
&lt;/p&gt;
&lt;p&gt;
The changes needed to support generic CSW servers (i.e. those
implementing the ISO 19139 profile) are:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Handling the validators (right now are hardcoded in the harvester
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
code). This probably involves issues discussed in the CREP 3
(ticket &lt;a class="new ticket" href="http://localhost/ticket/1134" title="CREP: CREP0003: Description and Configuration of Harvesters (new)"&gt;#1134&lt;/a&gt;)
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Changes in the model to adapt the specification to ISO 19139
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Renaming objects and classes which are now Gemini-centric
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
List of CSW servers tested:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="https://spreadsheets.google.com/spreadsheet/ccc?key=0Atp3cZFjuIOAdDBVQWRINnlfN1d0b2lleHVEdjBSb2c&amp;amp;hl=en_US&amp;amp;authkey=CNu4hsEB#gid=0"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://spreadsheets.google.com/spreadsheet/ccc?key=0Atp3cZFjuIOAdDBVQWRINnlfN1d0b2lleHVEdjBSb2c&amp;amp;hl=en_US&amp;amp;authkey=CNu4hsEB#gid=0&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/1152</link>
        <guid isPermaLink="false">http://localhost/ticket/1152</guid>
        <category>Report</category>
      </item><item>
                  <title>#1818: Spatial metadata editor</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 20 Feb 2012 18:52:21 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:06:35 GMT</pubDate>
                  <description>&lt;p&gt;
Estimate 2.5d
&lt;/p&gt;
&lt;p&gt;
Right now users need to manually enter a geojson value in the 'spatial' extra field in order to define a geometry for a dataset.
&lt;/p&gt;
&lt;p&gt;
We need a map widget on the edit form that allows users to draw the geometry on top of a map. This will be based on the draw functions offered by &lt;a class="missing wiki"&gt;OpenLayers?&lt;/a&gt; &lt;a class="missing changeset" title="No default repository defined"&gt;[1]&lt;/a&gt;, &lt;a class="missing changeset" title="No default repository defined"&gt;[2]&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Things to take into account:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Integration with the form sections.
&lt;/li&gt;&lt;li&gt;Allow some degree of configuration (default extent, limit geometry types...)
&lt;/li&gt;&lt;/ul&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://openlayers.org/dev/examples/draw-feature.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://openlayers.org/dev/examples/draw-feature.html&lt;/a&gt;
&lt;a class="missing changeset" title="No default repository defined"&gt;[2]&lt;/a&gt; &lt;a class="ext-link" href="http://openlayers.org/dev/examples/modify-feature.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://openlayers.org/dev/examples/modify-feature.html&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/1818</link>
        <guid isPermaLink="false">http://localhost/ticket/1818</guid>
        <category>Report</category>
      </item><item>
                  <title>#3026: Support icons on  nav_named_link</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 30 Nov 2012 18:51:56 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 30 Nov 2012 18:51:56 GMT</pubDate>
                  <description>&lt;p&gt;
nav_named_link won't include the nice icon even when passing the icon keyword param.
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/3026</link>
        <guid isPermaLink="false">http://localhost/ticket/3026</guid>
        <category>Report</category>
      </item><item>
                  <title>#3023: New methods on IPackageController to provide access to the data_dict</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 22 Nov 2012 17:00:57 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 22 Nov 2012 17:00:57 GMT</pubDate>
                  <description>&lt;p&gt;
Extension hooking into the edit and create methods of the IPackageController interface receive the package object. This may not include all the fields that came from the form. The new extension points will pass the validated data_dict so extensions can have access to it
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/3023</link>
        <guid isPermaLink="false">http://localhost/ticket/3023</guid>
        <category>Report</category>
      </item><item>
                  <title>#3025: Add requests to core requirements</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 27 Nov 2012 21:35:24 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 27 Nov 2012 21:35:24 GMT</pubDate>
                  <description>&lt;p&gt;
Because yes please
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/3025</link>
        <guid isPermaLink="false">http://localhost/ticket/3025</guid>
        <category>Report</category>
      </item><item>
                  <title>#1815: Reenable Sparql endpoint on publicdata.eu</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 20 Feb 2012 17:08:43 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:30:41 GMT</pubDate>
                  <description>&lt;p&gt;
Estimate: ?
&lt;/p&gt;
&lt;p&gt;
The 4store Sparql endpoint has been down for a long time.
It needs to be reenabled and we need to check that the necessary informtion is pushed when creating /editing a dataset.
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/1815</link>
        <guid isPermaLink="false">http://localhost/ticket/1815</guid>
        <category>Report</category>
      </item><item>
                  <title>#2382: Investigate options for basic geocoding</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 14 May 2012 17:39:20 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:42:05 GMT</pubDate>
                  <description>&lt;p&gt;
A simple way for geocoding place names would be very useful, e.g in the spatial search, defining a geometry for a dataset (on the form or bulk)
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/2382</link>
        <guid isPermaLink="false">http://localhost/ticket/2382</guid>
        <category>Report</category>
      </item><item>
                  <title>#2407: 'Access denied' message is unhelpful</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 21 May 2012 15:01:40 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 14:10:40 GMT</pubDate>
                  <description>&lt;p&gt;
This chap tried to use the API to add a dataset to a group and got the uninformative message 'Access denied':
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://lists.okfn.org/pipermail/ckan-dev/2012-May/002229.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://lists.okfn.org/pipermail/ckan-dev/2012-May/002229.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The problem was he didn't have access to the group. A message like 'You don't have access to the group "LODcloud"' would have been clearer.
&lt;/p&gt;
</description>
                  
        <dc:creator>markw</dc:creator>

        <link>http://localhost/ticket/2407</link>
        <guid isPermaLink="false">http://localhost/ticket/2407</guid>
        <category>Report</category>
      </item><item>
                  <title>#2788: Speed improvements on creating/updating and indexing</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 01 Aug 2012 14:56:32 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 01 Aug 2012 14:56:32 GMT</pubDate>
                  <description>&lt;p&gt;
Specially needed when importing large numbers of datasets.
&lt;/p&gt;
&lt;p&gt;
Profiling the import command from the harvesting extension has shown some areas where improvements could be made.
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/2788</link>
        <guid isPermaLink="false">http://localhost/ticket/2788</guid>
        <category>Report</category>
      </item><item>
                  <title>#1562: Finish Geo Spatial</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 10:56:33 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 10:56:33 GMT</pubDate>
                  <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>
                  
        <dc:creator>jilly mathews</dc:creator>

        <link>http://localhost/ticket/1562</link>
        <guid isPermaLink="false">http://localhost/ticket/1562</guid>
        <category>Report</category>
      </item><item>
                  <title>#2582: Do not hide notes / readme on dataset pages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 21 Jun 2012 20:59:00 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 11:50:09 GMT</pubDate>
                  <description>&lt;p&gt;
Current we hide most of readme and then let users reveal it. Stop doing this and if necessary add a quick link down to resources section. (Maybe also rename resources to Data and Resources ...?)
&lt;/p&gt;
&lt;p&gt;
Aside: believe I have mentioned this somewhere a month + ago but could not find the ticket.
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2582</link>
        <guid isPermaLink="false">http://localhost/ticket/2582</guid>
        <category>Report</category>
      </item><item>
                  <title>#1198: Publisher hierarchy</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 23 Jun 2011 09:16:32 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:30:00 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1198</link>
        <guid isPermaLink="false">http://localhost/ticket/1198</guid>
        <category>Report</category>
      </item><item>
                  <title>#1466: Need to support https login for multiple instances as part of the CKAN package install</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 15 Nov 2011 16:52:58 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 06 Feb 2012 11:51:02 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>thejimmyg</dc:creator>

        <link>http://localhost/ticket/1466</link>
        <guid isPermaLink="false">http://localhost/ticket/1466</guid>
        <category>Report</category>
      </item><item>
                  <title>#1832: dataset purge API</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 24 Feb 2012 10:02:25 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:21:46 GMT</pubDate>
                  <description>&lt;p&gt;
Purging datasets (deleting them fully, not just changing the state to 'deleted') is important for users testing dataset creation over the API on a test CKAN instance.
&lt;/p&gt;
&lt;p&gt;
Without this, they need to resort to more difficult methods such as:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;cleaning and reloading the database
&lt;/li&gt;&lt;li&gt;setting the test datasets to state 'deleted' and also appending a suffix '_00' and incrementing the number until there is no clash of names.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Requested for NHSIC.
&lt;/p&gt;
&lt;h2 id="Implementation"&gt;Implementation&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;This could slot into the Action API.
&lt;/li&gt;&lt;li&gt;Of course we would need to ensure the user's had been given the specific right to purge.
&lt;/li&gt;&lt;li&gt;I suggest we log the full details of the dataset being purged.
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1832</link>
        <guid isPermaLink="false">http://localhost/ticket/1832</guid>
        <category>Report</category>
      </item><item>
                  <title>#2686: enabling datastore &amp; data API breaks recline</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 17 Jul 2012 09:06:51 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 09:08:20 GMT</pubDate>
                  <description>&lt;p&gt;
First I noticed that the gold prices dataset preview was not displaying &amp;amp; has data API enabled
Secondly I tried enabling datastore for &lt;a class="ext-link" href="http://datahub.io/dataset/adur_district_spending/resource/281dffa6-ea9b-4446-be41-05dced06591f"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://datahub.io/dataset/adur_district_spending/resource/281dffa6-ea9b-4446-be41-05dced06591f&lt;/a&gt; and after I saved the preview no longer worked. Unticking the datastore &amp;amp; data api checkbox brought it back
&lt;/p&gt;
&lt;p&gt;
Is this a known issue?
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2686</link>
        <guid isPermaLink="false">http://localhost/ticket/2686</guid>
        <category>Report</category>
      </item><item>
                  <title>#1244: Notes field carriage-returns converted to CRLF</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 26 Jul 2011 14:10:56 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jun 2012 11:20:53 GMT</pubDate>
                  <description>&lt;p&gt;
When you edit a package in the web form, if the notes field had &lt;tt&gt;\n&lt;/tt&gt; as the End Of Line symbol, it gets lost when you preview or save the package, and the notes field is displayed all on one line.
&lt;/p&gt;
&lt;p&gt;
This can be seen when editing annakarenina (as created by 'paster create-test-data'). The diff shows for example:
&lt;/p&gt;
&lt;pre class="wiki"&gt;- Some test notes
+ Some test notes
?                +
&lt;/pre&gt;&lt;p&gt;
but it would more clearly be shown as:
&lt;/p&gt;
&lt;pre class="wiki"&gt;- Some test notes\n
+ Some test notes
?                ++
&lt;/pre&gt;&lt;p&gt;
This is a significant problem with DGU, since a lot comes in via the API.
&lt;/p&gt;
&lt;p&gt;
It's not clear what we should do about it. We could standardise on \n or \r\n when the form submission comes in. Do different browsers on different platforms do different things with EOLs?
&lt;/p&gt;
&lt;h2 id="Analysis"&gt;Analysis&lt;/h2&gt;
&lt;p&gt;
Displaying the package: the Markdown processor respects both EOLs when displaying the field, putting each line in a &amp;lt;p&amp;gt; tag.
&lt;/p&gt;
&lt;p&gt;
Creating the package edit form: placed into &amp;lt;textfield&amp;gt;.
&lt;/p&gt;
&lt;p&gt;
Browser displaying package edit form: &amp;lt;textfield&amp;gt; displays \n and \r\n as EOL. But \n\n gets compressed to one EOL. But on submission, both are returned as \r\n.
&lt;/p&gt;
&lt;p&gt;
Receiving the edited package: Somewhere along the line the EOL gets converted to \n\n.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1244</link>
        <guid isPermaLink="false">http://localhost/ticket/1244</guid>
        <category>Report</category>
      </item><item>
                  <title>#1322: Action API improvements</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 08 Sep 2011 09:39:09 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jun 2012 11:18:08 GMT</pubDate>
                  <description>&lt;p&gt;
Focusing on improving Action API as the v3 API:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;have an optional parameter of the data_dict called "options".  Options would contain items that would get passed into the context. e.g. &lt;tt&gt;{"options" : {"ref_package_by": "id"}}. &lt;/tt&gt;
&lt;/li&gt;&lt;li&gt;instead of using API version to change the way packages are referenced, use the ref_package_by.
&lt;/li&gt;&lt;li&gt;All package_show, group_show etc. to accept an object 'name' as an alternative to object 'id'.
&lt;/li&gt;&lt;li&gt;Action API is v3 of api, replacement for v1 &amp;amp; v2. Default for most urls is still v1, but if url is /api/action then default to v3.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Next steps:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Add search API (package, resource,
&lt;/li&gt;&lt;li&gt;Add Util API
&lt;/li&gt;&lt;li&gt;Clarify JSONP still applies
&lt;/li&gt;&lt;li&gt;Add doc strings, clarifying parameters
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1322</link>
        <guid isPermaLink="false">http://localhost/ticket/1322</guid>
        <category>Report</category>
      </item><item>
                  <title>#1460: Improve extensions documentation</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 12 Nov 2011 16:15:23 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jun 2012 11:16:41 GMT</pubDate>
                  <description>&lt;p&gt;
Current extensions documentation needs some work: &lt;a class="ext-link" href="http://docs.ckan.org/en/latest/plugins.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.ckan.org/en/latest/plugins.html&lt;/a&gt;
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Queue extension section may now be out of date (?)
&lt;/li&gt;&lt;li&gt;Think about how it integrates with &lt;a class="ext-link" href="https://github.com/okfn/ckanext-example"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://github.com/okfn/ckanext-example&lt;/a&gt; (especially tutorial and example extension)
&lt;/li&gt;&lt;li&gt;Document all plugin points (auto-extract from CKAN source??)
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1460</link>
        <guid isPermaLink="false">http://localhost/ticket/1460</guid>
        <category>Report</category>
      </item><item>
                  <title>#2635: Non-destructive SOLR reindex</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 09 Jul 2012 10:23:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 09 Jul 2012 10:23:14 GMT</pubDate>
                  <description>&lt;p&gt;
You can't run the search-index reindex on a live server because it will give us bad results for 2 to 3 hours while it runs. Can there be an option that doesn't delete the entire index at the start?
&lt;/p&gt;
&lt;p&gt;
Instead it could just delete any items that don't exist any more, then delete them and regenerate them one by one. So the total number of datasets doesn't change much.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/2635</link>
        <guid isPermaLink="false">http://localhost/ticket/2635</guid>
        <category>Report</category>
      </item><item>
                  <title>#3019: Cannot delete dataset extras</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 14 Nov 2012 18:44:38 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 14 Nov 2012 18:44:38 GMT</pubDate>
                  <description>&lt;p&gt;
Deleting extras in the web interface is broken
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/3019</link>
        <guid isPermaLink="false">http://localhost/ticket/3019</guid>
        <category>Report</category>
      </item><item>
                  <title>#256: Package relationships - 3. Edit in WUI</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 23 Feb 2010 12:36:01 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:38:34 GMT</pubDate>
                  <description>&lt;p&gt;
WUI:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Editable as part of package or separately? (e.g. like authz)
&lt;/li&gt;&lt;li&gt;Do we normalize to only one type name of the pair?
&lt;/li&gt;&lt;li&gt;Do we allow create of relationship from both ends (e.g. only from dependency to dependent or either way?)
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/256</link>
        <guid isPermaLink="false">http://localhost/ticket/256</guid>
        <category>Report</category>
      </item><item>
                  <title>#1134: CREP0003: Description and Configuration of Harvesters</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 11 May 2011 10:14:28 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:35:54 GMT</pubDate>
                  <description>&lt;p&gt;
&lt;strong&gt;Proposer&lt;/strong&gt;: Adrià Mercader
&lt;/p&gt;
&lt;h2 id="Abstract"&gt;Abstract&lt;/h2&gt;
&lt;p&gt;
The new harvester interface allows to create harvesters for different
sources, but right now harvesters don't have many ways to describe and
configure themselves. We need a way of allowing them to:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Expose their type and other details so they can be used internally
and on the UI.
&lt;/li&gt;&lt;li&gt;Define configuration settings for particular harvester instances.
&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="TheProblem"&gt;The Problem&lt;/h2&gt;
&lt;h3 id="Harvesterdescription"&gt;Harvester description&lt;/h3&gt;
&lt;p&gt;
The current UI for adding and editing harvest sources is the same used
in ckanext-dgu, and thus the 3 harvester types used in DGU to harvest
various GEMINI realted sources are hardcoded in the form. The form will
be migrated to a DGU-independent one, so we need the harvesters to
provide all the necessary data. There is a current &lt;tt&gt;get_type&lt;/tt&gt; method
that returns the harvester type, but for make it compatible with the DGU
forms, it returns a machine-readable string (e.g. "CSW Server"), making
it error prone.
&lt;/p&gt;
&lt;h3 id="Arbitraryconfiguration"&gt;Arbitrary configuration&lt;/h3&gt;
&lt;p&gt;
In the current implementation, when the harvest process is started,
ckanext-harvest looks for all the available plugins that implement the
&lt;tt&gt;IHarvester&lt;/tt&gt; interface and calls the appropiate methods for the
current stage (&lt;tt&gt;gather_stage&lt;/tt&gt;,&lt;tt&gt;fetch_stage&lt;/tt&gt;,&lt;tt&gt;import_stage&lt;/tt&gt;).
At these stages, harvesters have no way of applying arbitrary
configuration options, so all harvesters of the same type behave on the
same way.
For instance, the CKAN harvester needs a way to define the API version
to use when harvesting remote instances (Right now, the version 2 is
hardcoded on the code).
&lt;/p&gt;
&lt;h2 id="Specification"&gt;Specification&lt;/h2&gt;
&lt;h3 id="Harvesterdescription1"&gt;Harvester description&lt;/h3&gt;
&lt;p&gt;
Harvesters will need to provide the following information so the UI form
can be built:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;name: machine-readable name (e.g. "waf"). This will be the value
stored in the database, and the one used by ckanext-harvest to
call the appropiate harvester.
&lt;/li&gt;&lt;li&gt;title: human-readable name (e.g. "Web Accessible Folder (WAF)").
This will appear in the form's select box.
&lt;/li&gt;&lt;li&gt;description: a description of what the harvester does (e.g. "A Web
Accessible Folder (WAF) displaying a list of GEMINI 2.1
documents"). This will appear on the form as a guidance to the
user.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
The way to provide it will be an &lt;tt&gt;info&lt;/tt&gt; method that all harvesters
must implement, which will return a dictionary with the previous
elements:
&lt;/p&gt;
&lt;pre class="wiki"&gt;    {
        'name': 'csw',
        'title': 'CSW Server',
        'description': 'A server that implements OGC's Catalog Service
                        for the Web (CSW) standard'
    }
&lt;/pre&gt;&lt;h3 id="Arbitraryconfiguration1"&gt;Arbitrary configuration&lt;/h3&gt;
&lt;p&gt;
As different harvesters will have very different needs, we need to
provide a way to persist arbitrary configuration flags for each harvest
source. The more flexible way given the current architecture in my
opinion would be to store the configuration options as a JSON encoded
object as a property of the harvest source (There already is an unused
DB field called &lt;tt&gt;config&lt;/tt&gt; in the database) (Maybe using &lt;a class="missing wiki"&gt;JsonType?&lt;/a&gt;?).
&lt;/p&gt;
&lt;p&gt;
This will mean adding an extra field in the harvest source form to allow
entering the configuration. This could be just a simple text field where
users enter the JSON encoded object or a more clever mechanism (i.e an
"Add a configuration flag" link that adds two new text fields for the
key and value for each flag, and a mechanism to later build the JSON
object). In any case, this should probably be hidden in an "Advance
options" section.
&lt;/p&gt;
&lt;h2 id="Whydoitthisway"&gt;Why do it this way&lt;/h2&gt;
&lt;h3 id="Harvesterdescription2"&gt;Harvester description&lt;/h3&gt;
&lt;p&gt;
The &lt;tt&gt;info&lt;/tt&gt; method would provide a single point to get all the
information related to the harvester, and future properties could be
added to the dictionary returned without having to modify the interface.
&lt;/p&gt;
&lt;h3 id="Arbitraryconfiguration2"&gt;Arbitrary configuration&lt;/h3&gt;
&lt;p&gt;
There is an already existing &lt;tt&gt;config&lt;/tt&gt; field in the database, so we
won't need to change the model.
Harvesters could access the config object at any of the stages. Of
course they could provide default values in their implementations so
users don't need to enter them everytime.
&lt;/p&gt;
&lt;h2 id="Implementationplan"&gt;Implementation plan&lt;/h2&gt;
&lt;h3 id="Deliverables"&gt;Deliverables&lt;/h3&gt;
&lt;h3 id="Risksandmitigations"&gt;Risks and mitigations&lt;/h3&gt;
&lt;p&gt;
The highest risk on the harvesters &lt;tt&gt;info&lt;/tt&gt; method side is that
harvester implementation don't offer one of the necessary properties
(namely name and title). This could fire a warning when showing the
UI form or using the CLI.
&lt;/p&gt;
&lt;h3 id="Participants"&gt;Participants&lt;/h3&gt;
&lt;p&gt;
Adrià Mercader to do it.
&lt;/p&gt;
&lt;h3 id="Progress"&gt;Progress&lt;/h3&gt;
&lt;p&gt;
None yet.
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/1134</link>
        <guid isPermaLink="false">http://localhost/ticket/1134</guid>
        <category>Report</category>
      </item><item>
                  <title>#1257: Anti-Spam tools</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 02 Aug 2011 11:12:45 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:28:49 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1257</link>
        <guid isPermaLink="false">http://localhost/ticket/1257</guid>
        <category>Report</category>
      </item><item>
                  <title>#1262: Enforce "create-user" permission</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 03 Aug 2011 12:41:36 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 05 Dec 2011 13:01:52 GMT</pubDate>
                  <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>
                  
        <dc:creator>pudo</dc:creator>

        <link>http://localhost/ticket/1262</link>
        <guid isPermaLink="false">http://localhost/ticket/1262</guid>
        <category>Report</category>
      </item><item>
                  <title>#1286: Remove remaining formalchemy stuff</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 23 Aug 2011 16:29:56 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 16 Jul 2012 11:00:20 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1286</link>
        <guid isPermaLink="false">http://localhost/ticket/1286</guid>
        <category>Report</category>
      </item><item>
                  <title>#1352: Use logic functions instead of as_dict when indexing entities</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 21 Sep 2011 14:29:57 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:28:06 GMT</pubDate>
                  <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>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/1352</link>
        <guid isPermaLink="false">http://localhost/ticket/1352</guid>
        <category>Report</category>
      </item><item>
                  <title>#1439: Action API discoverablility</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 01 Nov 2011 15:39:30 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jan 2012 03:29:34 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1439</link>
        <guid isPermaLink="false">http://localhost/ticket/1439</guid>
        <category>Report</category>
      </item><item>
                  <title>#1489: Updating example theme/extension</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 24 Nov 2011 12:32:00 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 10:59:44 GMT</pubDate>
                  <description>&lt;p&gt;
ckanext-example needs updating for CKAN 1.5:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;theme changes
&lt;/li&gt;&lt;li&gt;new forms
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
About: 'ckanext-exampletheme' was created in Spring 2011 as an example CKAN extension that showed how to customise the look &amp;amp; operation of CKAN. This moved to github and renamed 'ckanext-example'.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1489</link>
        <guid isPermaLink="false">http://localhost/ticket/1489</guid>
        <category>Report</category>
      </item><item>
                  <title>#1534: Change revisions to record userid rather than username</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 07 Dec 2011 17:26:30 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:37:30 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1534</link>
        <guid isPermaLink="false">http://localhost/ticket/1534</guid>
        <category>Report</category>
      </item><item>
                  <title>#1542: Buttons to purge spam datasets and groups</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 08 Dec 2011 17:22:10 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:26:40 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1542</link>
        <guid isPermaLink="false">http://localhost/ticket/1542</guid>
        <category>Report</category>
      </item><item>
                  <title>#1661: Wrong Routes version installed by CKAN package</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 16 Jan 2012 12:47:41 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:25:49 GMT</pubDate>
                  <description>&lt;p&gt;
Jaakko Louhio reported that the wrong Routes version got installed during CKAN's package install.
&lt;/p&gt;
&lt;p&gt;
He is using Ubuntu 10.04 and he believes it install Routes 1.12.3 instead of what we use which is 1.11.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1661</link>
        <guid isPermaLink="false">http://localhost/ticket/1661</guid>
        <category>Report</category>
      </item><item>
                  <title>#1827: 'Register' link should be hidden if you not allowed to register</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 22 Feb 2012 15:35:39 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:22:10 GMT</pubDate>
                  <description>&lt;pre class="wiki"&gt;I have just deny visitors the create-user permission:
sudo -u ckanstd paster --plugin=ckan roles deny reader create-user -c /etc/ckan/std/std.ini
sudo -u ckanstd paster --plugin=ckan roles deny anon_editor create-user -c /etc/ckan/std/std.ini
and after restarting, the register link is *not* hidden, but now when you access the register page, it shows you this message "Unauthorized to create a user" (when not logged in). But anyway that is an improvement.
&lt;/pre&gt;</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1827</link>
        <guid isPermaLink="false">http://localhost/ticket/1827</guid>
        <category>Report</category>
      </item><item>
                  <title>#1235: [super] Search Improvements</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jul 2011 17:24:01 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jul 2011 17:24:01 GMT</pubDate>
                  <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>
                  
        <dc:creator>thejimmyg</dc:creator>

        <link>http://localhost/ticket/1235</link>
        <guid isPermaLink="false">http://localhost/ticket/1235</guid>
        <category>Report</category>
      </item><item>
                  <title>#1366: Search inside extra fields</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 29 Sep 2011 10:09:52 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 12:05:07 GMT</pubDate>
                  <description>&lt;p&gt;
SOLR search doesn't support searching for part of an extra field, but it does for other fields.
&lt;/p&gt;
&lt;p&gt;
i.e. title="One Two Three" matches q=one AND q=title:one
and geographic_coverage="England Scotland" matches q=England BUT NOT q=geographic_coverage:England
&lt;/p&gt;
&lt;p&gt;
This problem emerged when we went to SOLR in &lt;a class="closed ticket" href="http://localhost/ticket/1275" title="enhancement: Move solr search extension to ckan core (closed: fixed)"&gt;#1275&lt;/a&gt; (CKAN 1.5a). Tests were skipped.
&lt;/p&gt;
&lt;p&gt;
This is could be a problem for DGU and maybe elsewhere.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1366</link>
        <guid isPermaLink="false">http://localhost/ticket/1366</guid>
        <category>Report</category>
      </item><item>
                  <title>#1438: Action API - parameter discovery/checking</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 01 Nov 2011 15:38:10 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:37:30 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1438</link>
        <guid isPermaLink="false">http://localhost/ticket/1438</guid>
        <category>Report</category>
      </item><item>
                  <title>#2963: Timeout on tag pages with lots of datasets</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:13:19 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:13:19 GMT</pubDate>
                  <description>&lt;p&gt;
e.g. &lt;a class="ext-link" href="http://thedatahub.org/tag/lod"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://thedatahub.org/tag/lod&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Tags with less datasets work fine (e.g. &lt;a class="ext-link" href="http://thedatahub.org/tag/railways"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://thedatahub.org/tag/railways&lt;/a&gt;)
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/2963</link>
        <guid isPermaLink="false">http://localhost/ticket/2963</guid>
        <category>Report</category>
      </item><item>
                  <title>#2887: "Welcome to CKAN!" on front page is untranslatable</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 22 Aug 2012 09:17:59 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 22 Aug 2012 09:20:33 GMT</pubDate>
                  <description>&lt;p&gt;
ckan/templates/home/index.html contains:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
&amp;lt;h1 class="page_heading"&amp;gt;Welcome to ${g.site_title}!&amp;lt;/h1&amp;gt;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
which means that just "Welcome to" ends up in the ckan.po files for
translation. This makes the phrase untranslatable in languages that have a different word ordering than English where the site title needs to be somewhere other than at the end of the sentence.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2887</link>
        <guid isPermaLink="false">http://localhost/ticket/2887</guid>
        <category>Report</category>
      </item><item>
                  <title>#2745: Password reset returns an exception if the key parameter is missing</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 24 Jul 2012 16:05:31 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 24 Jul 2012 16:05:31 GMT</pubDate>
                  <description>&lt;p&gt;
Instead of showing a notice, the password reset page throws an exception if the key parameter is missing:
&lt;/p&gt;
&lt;pre class="wiki"&gt;Module ckan.controllers.user:329 in perform_reset
         c.reset_key = request.params.get('key')
               if not mailer.verify_reset_link(user_obj, c.reset_key):
                   h.flash_error(_('Invalid reset key. Please try again.'))
                   abort(403)
 if not mailer.verify_reset_link(user_obj, c.reset_key):
Module ckan.lib.mailer:100 in verify_reset_link
     if not user.reset_key or len(user.reset_key) &amp;lt; 5:
               return False
           return key.strip() == user.reset_key
 return key.strip() == user.reset_key
AttributeError: 'NoneType' object has no attribute 'strip'
&lt;/pre&gt;&lt;p&gt;
Apart from the obvious fix of checking for the 'key' parameter, it seems like is quite common to get these reset urls without the key parameter, so I suspect some email clients might strip the query params when building the links. We could avoid this problem by making the key part of the url instead of a param:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://thedatahub.org/en/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d/b4c2d03fa8"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://thedatahub.org/en/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d/b4c2d03fa8&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
instead of:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://thedatahub.org/en/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d?key=b4c2d03fa8"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://thedatahub.org/en/user/reset/3086e91c-fe09-4a98-92e1-19de67a9ac9d?key=b4c2d03fa8&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/2745</link>
        <guid isPermaLink="false">http://localhost/ticket/2745</guid>
        <category>Report</category>
      </item><item>
                  <title>#1328: Unicode &amp; paster commands</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 12 Sep 2011 10:25:10 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jun 2012 11:17:45 GMT</pubDate>
                  <description>&lt;p&gt;
A possible bug in CKAN when I tried deleting users using "paster --plugin=ckan user delete" command.
&lt;/p&gt;
&lt;p&gt;
To reproduce the bug do the following:
&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Create a user with an ID (which in my case was a user's full name)
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
that contains non-unicode caracters like Norwegian "æ", "ø", or "å".
&lt;/p&gt;
&lt;ol start="2"&gt;&lt;li&gt;Make sure that you can see something like the example below:
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
(pyenv) rm@mycomputer:$ paster --plugin=ckan user
Users:
name=Rustæm
&lt;/p&gt;
&lt;ol start="3"&gt;&lt;li&gt;Then try deleting the user with following command:
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
(pyenv) rm@mycomputer:$ paster --plugin=ckan user delete "Rustæm"
&lt;/p&gt;
&lt;p&gt;
You should now get a python encoding error. I know that this is quite
rare case, but in our case it caused some trouble. Could you guys have
a look at this bug?
&lt;/p&gt;
&lt;p&gt;
CKAN ver. 1.3.3.
&lt;/p&gt;
</description>
                  
        <dc:creator>minspamboks@…</dc:creator>

        <link>http://localhost/ticket/1328</link>
        <guid isPermaLink="false">http://localhost/ticket/1328</guid>
        <category>Report</category>
      </item><item>
                  <title>#1509: Mis-dated old revisions of datasets</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 05 Dec 2011 13:06:38 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jun 2012 11:13:34 GMT</pubDate>
                  <description>&lt;p&gt;
e.g. &lt;a class="ext-link" href="http://thedatahub.org/dataset/osm%402011-07-12T12%3A16%3A47.590358"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://thedatahub.org/dataset/osm%402011-07-12T12%3A16%3A47.590358&lt;/a&gt; gives:
&lt;/p&gt;
&lt;pre class="wiki"&gt;This is the current revision of this dataset, as edited at 2011-07-12 12:16.
&lt;/pre&gt;&lt;p&gt;
but it should say the date 2011-07-12 (which is the data being displayed).
&lt;/p&gt;
&lt;p&gt;
The problem is looking at &lt;a class="missing wiki"&gt;PackageRevision?&lt;/a&gt;, when it might be a tag or extra.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1509</link>
        <guid isPermaLink="false">http://localhost/ticket/1509</guid>
        <category>Report</category>
      </item><item>
                  <title>#2673: simplify set of options for resources</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 14 Jul 2012 21:15:59 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 14 Jul 2012 21:15:59 GMT</pubDate>
                  <description>&lt;p&gt;
Far too many resource options. Lets restrict back to data file and API. Visualizations etc can either get linked in description or in the Related items.
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2673</link>
        <guid isPermaLink="false">http://localhost/ticket/2673</guid>
        <category>Report</category>
      </item><item>
                  <title>#2719: Feeds controller does not catch NotAuthorized exception</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 21 Jul 2012 12:14:23 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 21 Jul 2012 12:14:23 GMT</pubDate>
                  <description>&lt;p&gt;
Results in bad user experience and &lt;a class="missing wiki"&gt;WebApp?&lt;/a&gt; errors emailed out. Seen in 1.7.1
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/2719</link>
        <guid isPermaLink="false">http://localhost/ticket/2719</guid>
        <category>Report</category>
      </item><item>
                  <title>#2947: Redirect to the resource page from /resource/{res-id}</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 13:15:25 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 13:15:25 GMT</pubDate>
                  <description>&lt;p&gt;
Use story:
As a user of the datasore I want to be able to put the resource id without the dataset name in a url and see the resource page.
&lt;/p&gt;
&lt;p&gt;
Proposed redirect:
&lt;/p&gt;
&lt;p&gt;
/resource/{res-id} -&amp;gt; dataset/foo-bar/resource/{res-id}
&lt;/p&gt;
</description>
                  
        <dc:creator>dominik</dc:creator>

        <link>http://localhost/ticket/2947</link>
        <guid isPermaLink="false">http://localhost/ticket/2947</guid>
        <category>Report</category>
      </item><item>
                  <title>#2831: Create a limited subset of markdown that's supported</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 11:41:07 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 11:41:07 GMT</pubDate>
                  <description>&lt;p&gt;
Allowing people to use the full range of markdown results in extremely messy output across the site. I'd suggest limiting support to only a subset of common use cases.
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Allow all inline elements, this allows bold, italic, code and links.
&lt;/li&gt;&lt;li&gt;Allow lists.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Disallow
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Horizontal Rules
&lt;/li&gt;&lt;li&gt;Headings
&lt;/li&gt;&lt;li&gt;Block quote and code (this may turn out to be useful and so could be included)
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
This way you get markdowns paragraph handling and a few inline styles without breaking the entire layout of the page.
&lt;/p&gt;
&lt;p&gt;
Here's the full syntax if anyone is interested &lt;a class="ext-link" href="http://daringfireball.net/projects/markdown/syntax"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://daringfireball.net/projects/markdown/syntax&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>aron.carroll</dc:creator>

        <link>http://localhost/ticket/2831</link>
        <guid isPermaLink="false">http://localhost/ticket/2831</guid>
        <category>Report</category>
      </item><item>
                  <title>#2951: Paster command for building css from less</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 19:12:20 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 02 Oct 2012 10:50:30 GMT</pubDate>
                  <description>&lt;p&gt;
With the latest template, css and js changes in 2.0, there are a number of things that need preparation prior to a production deployment. One of these is:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;the less files should be compiled to css (main.css, not just main.debug.css)
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
This ticket is to provide a paster command which will compile the .less into the main.css file.  The idea of the paster command is that it will be run by developers, and they will check in the resulting .css files.  It will also provide a convenient mechanism for production scenarios with node.js installed on the production server, as they will be able to compile the .less there as well.
&lt;/p&gt;
&lt;p&gt;
## Background
&lt;/p&gt;
&lt;p&gt;
The .css files that need to be served are built using &lt;tt&gt;less&lt;/tt&gt;.  The css files that are generated *are* checked-in to the repo; but they are a build artifact.  So the general workflow is:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;commit changes to the less files
&lt;/li&gt;&lt;li&gt;build the main.css file and commit
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
This paster command slots into the above workflow for convenience.
&lt;/p&gt;
&lt;p&gt;
## Notes
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;doc/frontend-development.rst
&lt;/li&gt;&lt;li&gt;bin/less
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
to run this paster command, &lt;tt&gt;Node&lt;/tt&gt; will be required.  So that dependency should be checked.
&lt;/p&gt;
&lt;p&gt;
## The paster command
&lt;/p&gt;
&lt;p&gt;
This is the proposed behaviour of the paster command:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;ensure &lt;tt&gt;custom.less&lt;/tt&gt; does not exist
&lt;/li&gt;&lt;li&gt;for each colour in{fuchsia,green,maroon,red}:
&lt;ul&gt;&lt;li&gt;generate a &lt;tt&gt;custom.less&lt;/tt&gt; file for $colour.  There's a paster command that does this already: `paster color &amp;lt;color name&amp;gt;.
&lt;/li&gt;&lt;li&gt;generate the &lt;tt&gt;css&lt;/tt&gt; from the &lt;tt&gt;less&lt;/tt&gt; files.  ie - the equivelant of running &lt;tt&gt;bin/less --production&lt;/tt&gt;.
&lt;ul&gt;&lt;li&gt;this will generate a &lt;tt&gt;main.css&lt;/tt&gt; file, which should be renamed to &lt;tt&gt;$color.css&lt;/tt&gt;.
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;ensure &lt;tt&gt;custom.less&lt;/tt&gt; does not exist
&lt;/li&gt;&lt;li&gt;generate the &lt;tt&gt;css&lt;/tt&gt; from the &lt;tt&gt;less&lt;/tt&gt; files.  This will create a &lt;tt&gt;main.css&lt;/tt&gt; with the default colour scheme.
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;call the paster command that minifies css and js files.  (This command does not exist yet, see &lt;a class="closed ticket" href="http://localhost/ticket/2950" title="requirement: paster command to minify javascript and css (closed: fixed)"&gt;#2950&lt;/a&gt;)
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2951</link>
        <guid isPermaLink="false">http://localhost/ticket/2951</guid>
        <category>Report</category>
      </item><item>
                  <title>#2996: Fix behaviour of View Profile button in user popover when already on user's profile</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:30:38 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:30:38 GMT</pubDate>
                  <description>&lt;p&gt;
The user popovers that appear when you hover the mouse over a user in an activity stream include a View Profile button that takes you to that user's profile page. If you are already on that user's profile page then it simply reloads the same page, but it sends you to the Datasets tab if you were on another tab.
&lt;/p&gt;
&lt;p&gt;
Possible solutions:
&lt;/p&gt;
&lt;p&gt;
Don't show button if already on user's page?
&lt;/p&gt;
&lt;p&gt;
Button just makes popover disappear, if already on user's page?
&lt;/p&gt;
&lt;p&gt;
Button does reload the page, but reloads the same tab (datasets, followers, activity stream) that you were on.
&lt;/p&gt;
&lt;p&gt;
Marking this low priority
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2996</link>
        <guid isPermaLink="false">http://localhost/ticket/2996</guid>
        <category>Report</category>
      </item><item>
                  <title>#924: Search box has no search button</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 24 Jan 2011 11:12:13 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 06 Dec 2011 11:20:36 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/924</link>
        <guid isPermaLink="false">http://localhost/ticket/924</guid>
        <category>Report</category>
      </item><item>
                  <title>#1288: Package edit/creation can't include 'relationships' field</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 24 Aug 2011 16:34:55 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:28:18 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1288</link>
        <guid isPermaLink="false">http://localhost/ticket/1288</guid>
        <category>Report</category>
      </item><item>
                  <title>#1314: ckanclient search - generator improvements</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 07 Sep 2011 11:36:50 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jun 2012 11:20:33 GMT</pubDate>
                  <description>&lt;p&gt;
Apparently the search generator always makes two requests, even if you don't want to see the search results, which might be slow. Can this be optimised?
&lt;/p&gt;
&lt;p&gt;
Maybe we should also provide a second search function that doesn't use the generator - the original simple search function (that leaves the user to deal with limit &amp;amp; offset).
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1314</link>
        <guid isPermaLink="false">http://localhost/ticket/1314</guid>
        <category>Report</category>
      </item><item>
                  <title>#1326: Write a set of auth plugin functions to integrate with Druapl</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 12 Sep 2011 09:51:24 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 12 Sep 2011 09:51:24 GMT</pubDate>
                  <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>
                  
        <dc:creator>thejimmyg</dc:creator>

        <link>http://localhost/ticket/1326</link>
        <guid isPermaLink="false">http://localhost/ticket/1326</guid>
        <category>Report</category>
      </item><item>
                  <title>#1424: Openness notice should be clearer</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 26 Oct 2011 16:54:49 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 26 Oct 2011 16:54:49 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1424</link>
        <guid isPermaLink="false">http://localhost/ticket/1424</guid>
        <category>Report</category>
      </item><item>
                  <title>#1544: delete old git branches</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 12 Dec 2011 15:10:10 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 12 Dec 2011 15:10:10 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1544</link>
        <guid isPermaLink="false">http://localhost/ticket/1544</guid>
        <category>Report</category>
      </item><item>
                  <title>#2247: Resource preview glitch in some browsers</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 20 Mar 2012 12:30:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 20 Mar 2012 12:30:14 GMT</pubDate>
                  <description>&lt;p&gt;
From Ira:
Preview for google spreadsheets are not displaying correctly for me in Firefox v.10.0.02, fine in Chrome.
&lt;a class="ext-link" href="http://i.imgur.com/KJaqz.png"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://i.imgur.com/KJaqz.png&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>zephod</dc:creator>

        <link>http://localhost/ticket/2247</link>
        <guid isPermaLink="false">http://localhost/ticket/2247</guid>
        <category>Report</category>
      </item><item>
                  <title>#2395: paster db clean/init don't work when spatial extension enabled</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 16 May 2012 09:16:33 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 14:41:53 GMT</pubDate>
                  <description>&lt;p&gt;
If you have a spatial enabled database then if you don't disable the spatial extension in the CKAN config temporarily then you get errors when you run paster db clean and paster db init.
&lt;/p&gt;
&lt;p&gt;
Can't you just modify the clean and init functions to run without extensions enabled?
&lt;/p&gt;
&lt;p&gt;
The wider problem is that extensions do their own inits every time you do load_environment, which seems crazy and inefficient to me, since this occurs every time a request comes into CKAN. But that is another problem/ticket.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/2395</link>
        <guid isPermaLink="false">http://localhost/ticket/2395</guid>
        <category>Report</category>
      </item><item>
                  <title>#763: Read-only mode - Setup</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 26 Oct 2010 11:11:46 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:56:44 GMT</pubDate>
                  <description>&lt;p&gt;
Admin configures entering read-only mode in one of two places:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;CKAN config file (e.g. ckan.ini)
&lt;/li&gt;&lt;li&gt;environment variable from Apache config
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Once enabled, no writes can occur to the database (including user ratings and other usage stats).
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/763</link>
        <guid isPermaLink="false">http://localhost/ticket/763</guid>
        <category>Report</category>
      </item><item>
                  <title>#948: Highlight (to a sysadmin) which packages are deleted</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 02 Feb 2011 11:32:49 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:58:00 GMT</pubDate>
                  <description>&lt;p&gt;
When a customer logs in as a sysadmin then he/she see all packages, including deleted and pending ones. These are hidden to the average user, but the sysadmin has no idea of this until he clicks on the package and sees at the bottom 'state: deleted'.
&lt;/p&gt;
&lt;p&gt;
It should be more obvious than that on the search view - an icon, message or crossed-out name to packages are deleted.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/948</link>
        <guid isPermaLink="false">http://localhost/ticket/948</guid>
        <category>Report</category>
      </item><item>
                  <title>#1285: Errors cause emails</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 23 Aug 2011 16:29:04 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:55:51 GMT</pubDate>
                  <description>&lt;p&gt;
Currently a sysadmin gets an email when an exception is not caught. But there are occasions when we DO want to catch an exception so we can fail nicely for the user, but the sysadmin STILL gets an email to know to fix something.
e.g. if there is an exception when search indexes a package. You want to catch the exception and still run any other notify calls.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1285</link>
        <guid isPermaLink="false">http://localhost/ticket/1285</guid>
        <category>Report</category>
      </item><item>
                  <title>#2348: Java client library for CKAN</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 01 May 2012 13:46:20 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 11:00:24 GMT</pubDate>
                  <description>&lt;p&gt;
Start a Java library for interacting with the CKAN Action API.
&lt;/p&gt;
&lt;p&gt;
Currently requires support for Groups, Tags, Resources,  and Search.
&lt;/p&gt;
&lt;p&gt;
An example app would be very useful.
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2348</link>
        <guid isPermaLink="false">http://localhost/ticket/2348</guid>
        <category>Report</category>
      </item><item>
                  <title>#3002: API v1/2 'legacy' search parameters must be escaped before they are put into a Solr query string</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 19 Oct 2012 09:32:22 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 19 Oct 2012 09:32:22 GMT</pubDate>
                  <description>&lt;p&gt;
Just to track @tauberer patch on Github.
Would be nice to write a test for it. Probably going to 1.8.1
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/3002</link>
        <guid isPermaLink="false">http://localhost/ticket/3002</guid>
        <category>Report</category>
      </item><item>
                  <title>#2834: Defer all publish calls until all modules have been initialised</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 17:08:13 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 13 Aug 2012 11:18:12 GMT</pubDate>
                  <description>&lt;p&gt;
Currently if a module uses sandbox.publish() in its initilaize() function then any modules initialised afterwards will miss the event.
&lt;/p&gt;
&lt;p&gt;
We should queue all calls to .publish() in the pubsub module in an array until all modules have loaded then iterate over and execute them.
&lt;/p&gt;
</description>
                  
        <dc:creator>aron.carroll</dc:creator>

        <link>http://localhost/ticket/2834</link>
        <guid isPermaLink="false">http://localhost/ticket/2834</guid>
        <category>Report</category>
      </item><item>
                  <title>#2850: Add JSON support for IE7</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 14 Aug 2012 10:38:12 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 14 Aug 2012 10:38:12 GMT</pubDate>
                  <description>&lt;p&gt;
The &lt;a class="missing wiki"&gt;JavaScript?&lt;/a&gt; just isn't going to work without it. Look into either the newer JSON3:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://bestiejs.github.com/json3/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://bestiejs.github.com/json3/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
or the old faithful:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="https://github.com/douglascrockford/JSON-js/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://github.com/douglascrockford/JSON-js/&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>aron.carroll</dc:creator>

        <link>http://localhost/ticket/2850</link>
        <guid isPermaLink="false">http://localhost/ticket/2850</guid>
        <category>Report</category>
      </item><item>
                  <title>#2833: Load module templates before calling .initialize()</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 17:05:39 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 17:05:39 GMT</pubDate>
                  <description>&lt;p&gt;
I think this would be a nice feature for remote loading templates if the options.template value ends in ".html".
&lt;/p&gt;
&lt;pre class="wiki"&gt;ckan.module('my-module', {
  options: {
    template: 'my-template.html'
  },
  initialize: function () {
    this.template // This is the loaded template.
  }
});
&lt;/pre&gt;</description>
                  
        <dc:creator>aron.carroll</dc:creator>

        <link>http://localhost/ticket/2833</link>
        <guid isPermaLink="false">http://localhost/ticket/2833</guid>
        <category>Report</category>
      </item><item>
                  <title>#2835: Client module needs a template loading method</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 17:10:33 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 17:10:33 GMT</pubDate>
                  <description>&lt;pre class="wiki"&gt;Client#getTemplate(name, params, success, error);
&lt;/pre&gt;&lt;p&gt;
Where params, success and error are optional arguments. test/index.html already has an implementation called loadFixture().
&lt;/p&gt;
</description>
                  
        <dc:creator>aron.carroll</dc:creator>

        <link>http://localhost/ticket/2835</link>
        <guid isPermaLink="false">http://localhost/ticket/2835</guid>
        <category>Report</category>
      </item><item>
                  <title>#2901: Language Dropdown bug in footer with IE7</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 04 Sep 2012 10:31:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 04 Sep 2012 10:31:14 GMT</pubDate>
                  <description>&lt;p&gt;
The language dropdown in Internet Explorer 7 behaves oddly. Essentially I think the problem is with the way that the dropdown decides to go into "drop-up mode" (e.g there aint enough screen space below the initial state so it has to drop up).
&lt;/p&gt;
</description>
                  
        <dc:creator>johnmartin</dc:creator>

        <link>http://localhost/ticket/2901</link>
        <guid isPermaLink="false">http://localhost/ticket/2901</guid>
        <category>Report</category>
      </item><item>
                  <title>#2906: Wrong flags in language dropdown</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 05 Sep 2012 16:05:44 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 05 Sep 2012 16:34:49 GMT</pubDate>
                  <description>&lt;p&gt;
The flags in the dropdown on details pages are not right.
&lt;/p&gt;
&lt;p&gt;
You can see the error on &lt;a class="ext-link" href="http://s031.okserver.org:2375/dataset/malawi-aid-projects/resource/b717c20e-2006-4ad4-82d2-59b57ebc1ab0"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/dataset/malawi-aid-projects/resource/b717c20e-2006-4ad4-82d2-59b57ebc1ab0&lt;/a&gt;.
&lt;/p&gt;
</description>
                  
        <dc:creator>dominik</dc:creator>

        <link>http://localhost/ticket/2906</link>
        <guid isPermaLink="false">http://localhost/ticket/2906</guid>
        <category>Report</category>
      </item><item>
                  <title>#1260: Remove duplicate functions from _util.html</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 03 Aug 2011 10:17:32 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Aug 2011 09:44:59 GMT</pubDate>
                  <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>
                  
        <dc:creator>pudo</dc:creator>

        <link>http://localhost/ticket/1260</link>
        <guid isPermaLink="false">http://localhost/ticket/1260</guid>
        <category>Report</category>
      </item><item>
                  <title>#1261: Investigate dots in extras search</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 03 Aug 2011 10:19:28 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 03 Aug 2011 10:19:28 GMT</pubDate>
                  <description>&lt;p&gt;
It seems that searching for extras_foo:value works with solr, but extras_foo.bar:value doesn't. No theory on why.
&lt;/p&gt;
</description>
                  
        <dc:creator>pudo</dc:creator>

        <link>http://localhost/ticket/1261</link>
        <guid isPermaLink="false">http://localhost/ticket/1261</guid>
        <category>Report</category>
      </item><item>
                  <title>#1317: password reset - improve user search</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 07 Sep 2011 17:12:19 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jun 2012 11:20:21 GMT</pubDate>
                  <description>&lt;p&gt;
In password reset, it gets confused if you have two similar users. This is because with the string the user provides, it searches several fields, not just name but also fullname and email address, allowing you to search for these. But only name is unique.
&lt;/p&gt;
&lt;p&gt;
Specific problem:
Ira searches for "Irina" then it finds both:
&lt;tt&gt;&amp;lt;User name=irina fullname=Irina email=irina.bolychevsky@okfn.org ]&lt;/tt&gt;
and
&lt;tt&gt;&amp;lt;User name=shevski fullname=Ira email=&amp;gt;&lt;/tt&gt;
(I think)
&lt;/p&gt;
&lt;p&gt;
Maybe need to choose which field it searches?
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1317</link>
        <guid isPermaLink="false">http://localhost/ticket/1317</guid>
        <category>Report</category>
      </item><item>
                  <title>#1647: add links to ckan discuss &amp; dev to thedatahub</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 16 Jan 2012 00:30:52 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 16 Jan 2012 09:49:43 GMT</pubDate>
                  <description>&lt;p&gt;
In the footer as well as more clearly &amp;amp; directly on the About page
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/1647</link>
        <guid isPermaLink="false">http://localhost/ticket/1647</guid>
        <category>Report</category>
      </item><item>
                  <title>#1823: Spring clean bin directory</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 20 Feb 2012 21:28:51 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:12:34 GMT</pubDate>
                  <description>&lt;p&gt;
Huge number of accumulated (and likely unnecessary) scripts in /bin directory.
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1823</link>
        <guid isPermaLink="false">http://localhost/ticket/1823</guid>
        <category>Report</category>
      </item><item>
                  <title>#285: Paginate list of packages on tag read page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 07 Apr 2010 18:23:26 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 13:45:23 GMT</pubDate>
                  <description>&lt;p&gt;
Is this worth doing? On hmg.ckan.net start to have a lot of packages with a given tag ...
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/285</link>
        <guid isPermaLink="false">http://localhost/ticket/285</guid>
        <category>Report</category>
      </item><item>
                  <title>#301: Package discussion pages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 26 Apr 2010 16:57:13 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 13:47:35 GMT</pubDate>
                  <description>&lt;p&gt;
A package discussion page is like a wikipedia discussion page: an editable free text page for people to have discussion/post comments about a given package.
&lt;/p&gt;
&lt;p&gt;
It provides a way for people to make suggestions about a package without needing access to main package.
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/301</link>
        <guid isPermaLink="false">http://localhost/ticket/301</guid>
        <category>Report</category>
      </item><item>
                  <title>#1130: First time users</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 09 May 2011 10:59:21 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 14:11:54 GMT</pubDate>
                  <description>&lt;p&gt;
Send users to FAQ first time on CKAN
&lt;/p&gt;
</description>
                  
        <dc:creator>lucychambers</dc:creator>

        <link>http://localhost/ticket/1130</link>
        <guid isPermaLink="false">http://localhost/ticket/1130</guid>
        <category>Report</category>
      </item><item>
                  <title>#2535: SSL certificate for DataHub + https by default</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 11:00:27 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 08:48:02 GMT</pubDate>
                  <description>&lt;p&gt;
&lt;a class="missing wiki"&gt;DataHub?&lt;/a&gt; is increasingly used and we should ensure it uses ssl as part of general security.
&lt;/p&gt;
&lt;p&gt;
See also &lt;a class="closed ticket" href="http://localhost/ticket/1446" title="enhancement: Data Explorer v2 (closed: fixed)"&gt;#1446&lt;/a&gt; (Need to support https login for multiple instances as part of the CKAN package install)
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2535</link>
        <guid isPermaLink="false">http://localhost/ticket/2535</guid>
        <category>Report</category>
      </item><item>
                  <title>#2622: Login fails in Opera 12</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 28 Jun 2012 16:56:42 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 28 Jun 2012 16:56:42 GMT</pubDate>
                  <description>&lt;p&gt;
Try to login to CKAN using Opera 12, get "Login failed. Bad username or password. (Or if using OpenID, it hasn't been associated with a user account.)"
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2622</link>
        <guid isPermaLink="false">http://localhost/ticket/2622</guid>
        <category>Report</category>
      </item><item>
                  <title>#2683: Add no-cache header to _tracking API call's response to make sure it doesn't get cached</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 16 Jul 2012 13:49:37 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 16 Jul 2012 13:49:37 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2683</link>
        <guid isPermaLink="false">http://localhost/ticket/2683</guid>
        <category>Report</category>
      </item><item>
                  <title>#2688: Allow ordering of groups in WUI</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 17 Jul 2012 10:27:55 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 17 Jul 2012 10:27:55 GMT</pubDate>
                  <description>&lt;p&gt;
Currently the group_index page just shows the entire list of groups, forcing the ordering to be by name.  It would be better if it could be sortable by name (or reversed) or by package_count (or reversed)
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2688</link>
        <guid isPermaLink="false">http://localhost/ticket/2688</guid>
        <category>Report</category>
      </item><item>
                  <title>#2731: Some sites permanently 'down for maintenance'</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 23 Jul 2012 12:06:08 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 23 Jul 2012 13:53:28 GMT</pubDate>
                  <description>&lt;p&gt;
A large number of XXX.ckan.net sites give the following message:
&lt;/p&gt;
&lt;p&gt;
"This Site is Down for Maintenance
We apologize for the inconvenience.
~ The Open Knowledge Foundation sysadmins."
&lt;/p&gt;
&lt;p&gt;
The message is unhelpful and patently false - the sites do not exist. Some of them were supposed to have been redirected to a relevant group at thedatahub.org in this ticket (now closed):
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://trac.okfn.org/ticket/933"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://trac.okfn.org/ticket/933&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
However, the redirection only seems to have worked in one case, &lt;a class="ext-link" href="http://si.ckan.net"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://si.ckan.net&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
The problem still affects the following sites - the first 4 of which have supposedly been merged:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a class="ext-link" href="http://lt.ckan.net"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://lt.ckan.net&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a class="ext-link" href="http://hu.ckan.net"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://hu.ckan.net&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a class="ext-link" href="http://be.ckan.net"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://be.ckan.net&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a class="ext-link" href="http://gr.ckan.net"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://gr.ckan.net&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a class="ext-link" href="http://nz.ckan.net"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://nz.ckan.net&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a class="ext-link" href="http://bg.ckan.net"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://bg.ckan.net&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a class="ext-link" href="http://fi.ckan.net"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://fi.ckan.net&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a class="ext-link" href="http://katalogdanych.centrumcyfrowe.pl"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://katalogdanych.centrumcyfrowe.pl&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a class="ext-link" href="http://pl.ckan.net"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://pl.ckan.net&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a class="ext-link" href="http://southampton.ckan.net"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://southampton.ckan.net&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;&lt;a class="ext-link" href="http://sl.ckan.net"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://sl.ckan.net&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Please sort this out by redirecting, removing the sites, giving a more helpful (and accurate) failure message, etc, as appropriate.
&lt;/p&gt;
</description>
                  
        <dc:creator>markw</dc:creator>

        <link>http://localhost/ticket/2731</link>
        <guid isPermaLink="false">http://localhost/ticket/2731</guid>
        <category>Report</category>
      </item><item>
                  <title>#2777: bug: user attributes</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 31 Jul 2012 09:19:23 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 31 Jul 2012 09:19:23 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2777</link>
        <guid isPermaLink="false">http://localhost/ticket/2777</guid>
        <category>Report</category>
      </item><item>
                  <title>#2844: SQL-only (no solr) version of CKAN</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 13 Aug 2012 11:59:28 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 20 Aug 2012 09:22:07 GMT</pubDate>
                  <description>&lt;ul&gt;&lt;li&gt;&lt;del&gt;Search needs to run of local DB (again)&lt;/del&gt;
&lt;/li&gt;&lt;li&gt;paster db clean attemps to connect to SOLR (still works as does db first but then excepts which is not nice UX)
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2844</link>
        <guid isPermaLink="false">http://localhost/ticket/2844</guid>
        <category>Report</category>
      </item><item>
                  <title>#2851: Preview of PDF tries to connect to datastore</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 15 Aug 2012 12:12:46 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 15 Aug 2012 12:12:46 GMT</pubDate>
                  <description>&lt;p&gt;
e.g. &lt;a class="ext-link" href="http://datahub.io/dataset/ccc-gistemp/resource/80ebdbd6-d91b-4fef-9db4-d3dfbd7e868e"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://datahub.io/dataset/ccc-gistemp/resource/80ebdbd6-d91b-4fef-9db4-d3dfbd7e868e&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
CKAN attempts to render the PDF as a datastore tabular date even though the mimetype of the PDF is correctly specified.
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2851</link>
        <guid isPermaLink="false">http://localhost/ticket/2851</guid>
        <category>Report</category>
      </item><item>
                  <title>#2888: Datapreview in Iframe</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 23 Aug 2012 18:11:01 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 23 Aug 2012 18:11:01 GMT</pubDate>
                  <description>&lt;p&gt;
Try and put datapreview in Iframe.
&lt;/p&gt;
</description>
                  
        <dc:creator>kindly</dc:creator>

        <link>http://localhost/ticket/2888</link>
        <guid isPermaLink="false">http://localhost/ticket/2888</guid>
        <category>Report</category>
      </item><item>
                  <title>#2895: QA pages (e.g. broken resource links) are not paginated</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 28 Aug 2012 17:38:05 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 28 Aug 2012 17:38:05 GMT</pubDate>
                  <description>&lt;p&gt;
And as a result timeout on e.g. the datahub ...
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2895</link>
        <guid isPermaLink="false">http://localhost/ticket/2895</guid>
        <category>Report</category>
      </item><item>
                  <title>#2911: Internal documentation of Organization Groups</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 06 Sep 2012 14:23:04 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 06 Sep 2012 14:23:04 GMT</pubDate>
                  <description>&lt;p&gt;
A summary/user story doc of how organizations and groups are expected to work.
&lt;/p&gt;
</description>
                  
        <dc:creator>kindly</dc:creator>

        <link>http://localhost/ticket/2911</link>
        <guid isPermaLink="false">http://localhost/ticket/2911</guid>
        <category>Report</category>
      </item><item>
                  <title>#2934: Webtests for CKAN</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 18 Sep 2012 11:10:47 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 19 Sep 2012 13:10:01 GMT</pubDate>
                  <description>&lt;p&gt;
The tests in CKAN only test single pages (functional tests) or single methods (unit tests). In order to make sure that the whole system still works as expected, we need tests that cover whole processes.
&lt;/p&gt;
&lt;p&gt;
An example user story to be tested would be:
"As a user with create permissions I want to be able to log in, create a new resource, save it and then make sure that it is in the system."
or:
"As a user I want to use the search functionality and open a resource from the search page."
&lt;/p&gt;
&lt;p&gt;
These user stories require a different testing system with interaction and processes.
&lt;/p&gt;
</description>
                  
        <dc:creator>Dominik</dc:creator>

        <link>http://localhost/ticket/2934</link>
        <guid isPermaLink="false">http://localhost/ticket/2934</guid>
        <category>Report</category>
      </item><item>
                  <title>#2943: Chrome does not resize preview</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 11:08:06 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 11:25:59 GMT</pubDate>
                  <description>&lt;p&gt;
Chrome does not resize iframe after a full refresh/ on first load
&lt;/p&gt;
</description>
                  
        <dc:creator>dominik</dc:creator>

        <link>http://localhost/ticket/2943</link>
        <guid isPermaLink="false">http://localhost/ticket/2943</guid>
        <category>Report</category>
      </item><item>
                  <title>#2944: Recline preview does not work in Opera</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 11:26:42 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 11:26:42 GMT</pubDate>
                  <description>&lt;p&gt;
Opera cannot show a recline preview. I shows 0 records.
&lt;/p&gt;
</description>
                  
        <dc:creator>dominik</dc:creator>

        <link>http://localhost/ticket/2944</link>
        <guid isPermaLink="false">http://localhost/ticket/2944</guid>
        <category>Report</category>
      </item><item>
                  <title>#2945: Pdf preview does not load in IE</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 11:27:49 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 11:27:49 GMT</pubDate>
                  <description>&lt;p&gt;
The pdf preview does not load in IE 9.
&lt;/p&gt;
</description>
                  
        <dc:creator>dominik</dc:creator>

        <link>http://localhost/ticket/2945</link>
        <guid isPermaLink="false">http://localhost/ticket/2945</guid>
        <category>Report</category>
      </item><item>
                  <title>#2948: Negative range breaks datastore backend</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 14:30:54 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 01 Oct 2012 14:31:05 GMT</pubDate>
                  <description>&lt;p&gt;
Recline allows negative ranges. The backend returns an error 500 for that which breaks the recline preview.
&lt;/p&gt;
</description>
                  
        <dc:creator>dominik</dc:creator>

        <link>http://localhost/ticket/2948</link>
        <guid isPermaLink="false">http://localhost/ticket/2948</guid>
        <category>Report</category>
      </item><item>
                  <title>#2957: New datastore on postgres prior to 9.0</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 03 Oct 2012 19:23:34 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 03 Oct 2012 19:23:34 GMT</pubDate>
                  <description>&lt;p&gt;
The &lt;tt&gt;&lt;/tt&gt;GRANT SELECT ON ALL&lt;tt&gt;&lt;/tt&gt; and &lt;tt&gt;&lt;/tt&gt;ALTER DEFAULT PRIVILEGES&lt;tt&gt;&lt;/tt&gt; are not available in Postgres prior to version 9.0.
&lt;/p&gt;
</description>
                  
        <dc:creator>dominik</dc:creator>

        <link>http://localhost/ticket/2957</link>
        <guid isPermaLink="false">http://localhost/ticket/2957</guid>
        <category>Report</category>
      </item><item>
                  <title>#2992: Delete resource should send me back to edit dataset page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 16 Oct 2012 17:19:16 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 16 Oct 2012 17:19:16 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>johnmartin</dc:creator>

        <link>http://localhost/ticket/2992</link>
        <guid isPermaLink="false">http://localhost/ticket/2992</guid>
        <category>Report</category>
      </item><item>
                  <title>#3020: Update CKAN coding standards</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 16 Nov 2012 20:11:51 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 16 Nov 2012 20:11:51 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/3020</link>
        <guid isPermaLink="false">http://localhost/ticket/3020</guid>
        <category>Report</category>
      </item><item>
                  <title>#3030: clean up helper functions</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 18 Dec 2012 12:33:58 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 18 Dec 2012 12:33:58 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/3030</link>
        <guid isPermaLink="false">http://localhost/ticket/3030</guid>
        <category>Report</category>
      </item><item>
                  <title>#2329: Add back in RSS/Atom links on relevant pages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 Apr 2012 12:15:40 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 09:24:31 GMT</pubDate>
                  <description>&lt;p&gt;
E.g. on dataset page, on revision page, on user page and on search results.
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2329</link>
        <guid isPermaLink="false">http://localhost/ticket/2329</guid>
        <category>Report</category>
      </item><item>
                  <title>#2654: UI support for ordering groups on group_read page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 10 Jul 2012 18:11:31 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 08:49:16 GMT</pubDate>
                  <description>&lt;p&gt;
The group_index page has no support in WUI for ordering the groups displayed. Should allow sorting by name
&lt;/p&gt;
&lt;p&gt;
Add support for this for datahub now, and discuss for new 1.9 UI
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2654</link>
        <guid isPermaLink="false">http://localhost/ticket/2654</guid>
        <category>Report</category>
      </item><item>
                  <title>#2886: Configurable related items</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 22 Aug 2012 08:55:18 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 22 Aug 2012 08:55:18 GMT</pubDate>
                  <description>&lt;p&gt;
Related items (Apps &amp;amp; Ideas) have a collection of types, which are currently fixed.  Some of these types are ambiguous, such as ideas in that they may not have a link - and if they do it is likely to be to a blog post - another existing type.
&lt;/p&gt;
&lt;p&gt;
Whilst the URL is required, and we think this should stay required, we should also allow users to change the types found in Apps &amp;amp; Ideas to a shortened list that suits their requirements.
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2886</link>
        <guid isPermaLink="false">http://localhost/ticket/2886</guid>
        <category>Report</category>
      </item><item>
                  <title>#2902: genshi is used in Group controller</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 04 Sep 2012 18:10:30 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 04 Sep 2012 18:10:30 GMT</pubDate>
                  <description>&lt;p&gt;
The Group controller uses the genshi module where it may be better for it to use Markup() in the template.
&lt;/p&gt;
&lt;p&gt;
See &lt;a class="ext-link" href="https://github.com/okfn/ckan/pull/117/files#r1524863"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://github.com/okfn/ckan/pull/117/files#r1524863&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2902</link>
        <guid isPermaLink="false">http://localhost/ticket/2902</guid>
        <category>Report</category>
      </item><item>
                  <title>#2913: IGroupForm has package_form() method</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 11 Sep 2012 14:45:39 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 12:22:59 GMT</pubDate>
                  <description>&lt;p&gt;
Should be group_form() I think
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2913</link>
        <guid isPermaLink="false">http://localhost/ticket/2913</guid>
        <category>Report</category>
      </item><item>
                  <title>#2915: Refactor form_to_db_schema_options()</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 12 Sep 2012 10:37:49 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 12 Sep 2012 10:59:48 GMT</pubDate>
                  <description>&lt;p&gt;
Having two methods form_to_db_schema(self) and form_to_db_schema_options(self, options) seems unnecessary, why not just have form_to_db_schema(self, options=None)?
&lt;/p&gt;
&lt;p&gt;
Fixing this might break existing extensions although I don't think any are using form_to_db_schema_options() so it should be okay.
&lt;/p&gt;
&lt;p&gt;
The same thing goes for db_to_form_schema_options().
&lt;/p&gt;
&lt;p&gt;
Also why are we passing a dict 'options' that always contains the same three keys 'api', 'context' and 'type'? Why not three params api=None, contenxt=None, type=None?
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2915</link>
        <guid isPermaLink="false">http://localhost/ticket/2915</guid>
        <category>Report</category>
      </item><item>
                  <title>#2920: Genshi text template message extractor no longer needed?</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 09:57:29 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 09:57:29 GMT</pubDate>
                  <description>&lt;p&gt;
In setup.py, do we still need:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
('templates/&lt;strong&gt;.txt', 'genshi', {
&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
'template_class': 'genshi.template:TextTemplate'
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
}),
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
in message_extractors? Doesn't like there are any txt files in there
anymore.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2920</link>
        <guid isPermaLink="false">http://localhost/ticket/2920</guid>
        <category>Report</category>
      </item><item>
                  <title>#2921: Add docstring to top of lib/extract.py file</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 10:00:07 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 10:00:07 GMT</pubDate>
                  <description>&lt;p&gt;
I think it couldn't hurt for this module to have a docstring at the top
of the file explaining what the module is for. I know from setup.py that
it's there to provide the extract_ckan() string extractor function for
Babel, but I think looking at the file on its own it's not so obvious.
&lt;/p&gt;
&lt;p&gt;
Also a couple of other small fixes:
&lt;/p&gt;
&lt;p&gt;
jinja2_cleaner looks like a helper function only meant to be used by
extract_ckan(), might make things clearer if it was called
_jinja2_cleaner(), just so it doesn't look like a public function the
module wants to export.
&lt;/p&gt;
&lt;p&gt;
jinja_extensions seems to be a module-level variable that is only used
in one function, could be moved into the function, unless you think
there might be more functions that want it in future.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2921</link>
        <guid isPermaLink="false">http://localhost/ticket/2921</guid>
        <category>Report</category>
      </item><item>
                  <title>#2922: Better docstring for CKANInternationalizationExtension</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 10:01:47 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 10:01:47 GMT</pubDate>
                  <description>&lt;p&gt;
I'm unsure about what's going on here. As I understand it, when we run
&lt;tt&gt;python setup.py extract_messages&lt;/tt&gt; it's going to use the extract_ckan()
function from ckan/lib/extract.py to process the HTML files. For the
HTML files that are jinja2 templates, extract_ckan() will call
jinja2_cleaner() which will call regularise_html() on the strings.  So
the strings are regularised when they are extracted from the source
files.
&lt;/p&gt;
&lt;p&gt;
But then we have the parse() method of &lt;a class="missing wiki"&gt;CkanInternationalizationExtension?&lt;/a&gt;
also calling regularise_html(). I don't get what's happening here. Why
do the strings need to be regularised twice?
&lt;/p&gt;
&lt;p&gt;
My guess is that &lt;a class="missing wiki"&gt;CkanInternationalizationExtension?&lt;/a&gt; is used when the
strings are extracted from the templates at runtime, and they need to be
regularised at this time in order to match them against the regularised
strings in the mo files to find the translations to output?
&lt;/p&gt;
&lt;p&gt;
Maybe &lt;a class="missing wiki"&gt;CkanInternationalizationExtension?&lt;/a&gt; needs a better docstring saying
what it does?
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2922</link>
        <guid isPermaLink="false">http://localhost/ticket/2922</guid>
        <category>Report</category>
      </item><item>
                  <title>#2923: Change regularise -&gt; regularize</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 10:03:02 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 10:03:02 GMT</pubDate>
                  <description>&lt;p&gt;
The function is called regularise_html(), can't remember what file it's in.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2923</link>
        <guid isPermaLink="false">http://localhost/ticket/2923</guid>
        <category>Report</category>
      </item><item>
                  <title>#2924: Better docs for trans js command, and add to release process</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 10:04:31 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 10:04:31 GMT</pubDate>
                  <description>&lt;p&gt;
Add a better docstring to for trans js command explaining what it does and why, and how to use it.
&lt;/p&gt;
&lt;p&gt;
Also add this command to the CKAN Release Process as it's needed there
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2924</link>
        <guid isPermaLink="false">http://localhost/ticket/2924</guid>
        <category>Report</category>
      </item><item>
                  <title>#2925: Remove trans mangle paster command?</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 10:06:08 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 10:06:08 GMT</pubDate>
                  <description>&lt;ul&gt;&lt;li&gt;Is &lt;tt&gt;trans mangle&lt;/tt&gt; really necessary? If you upload a pot file to
Transifex, it can generate a po file for you with 100% strings
translated into a fictional pseudo language where everything is really
long strings of unicode characters. I found this worked well for
coverage testing, and also tests handling of unicode and long strings
all over the place.
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2925</link>
        <guid isPermaLink="false">http://localhost/ticket/2925</guid>
        <category>Report</category>
      </item><item>
                  <title>#2926: I*Form tests for per-type templates</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 16:01:21 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 16:01:21 GMT</pubDate>
                  <description>&lt;p&gt;
Finish the tests for the per-package-type custom template support in IPackageForm, IGroupForm and IOrganizationForm (i.e. the new_template(), read_template() etc. methods).
&lt;/p&gt;
&lt;p&gt;
The new way that template inheritance works in jinja looks like it should allow this to be tested nicely without duplicating entire templates in the example extensions.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2926</link>
        <guid isPermaLink="false">http://localhost/ticket/2926</guid>
        <category>Report</category>
      </item><item>
                  <title>#2927: Test new package/group/organization type URLs support</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 16:02:33 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 16:02:33 GMT</pubDate>
                  <description>&lt;p&gt;
IPackageForm, IGroupForm and IOrganizationForm allow you to define e.g. new package types with new top-level URLs, but the example extensions don't have tests for this yet.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2927</link>
        <guid isPermaLink="false">http://localhost/ticket/2927</guid>
        <category>Report</category>
      </item><item>
                  <title>#2928: Run CKAN tests with example_i*form extensions enabled</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 16:05:34 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 16:05:34 GMT</pubDate>
                  <description>&lt;p&gt;
Before releasing CKAN 2.0 we need to run all the CKAN tests with a modified test-core.ini with the example_idatasetform, example_igroupform and example_iorganizationform plugins enabled. If any tests fail, fix the bugs. This needs to be done for each release so add it to the release process.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2928</link>
        <guid isPermaLink="false">http://localhost/ticket/2928</guid>
        <category>Report</category>
      </item><item>
                  <title>#2929: Remove is_fallback() from I*Form extension interfaces?</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 16:09:57 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 13 Sep 2012 16:09:57 GMT</pubDate>
                  <description>&lt;p&gt;
If a plugin wants to take over the default package type for example, it can return &lt;a class="missing wiki"&gt;dataset?&lt;/a&gt; from its package_types() method. I don't see how there can be a package type that is not the default 'package' and is not returned by the package_types() method of a plugin, because the URLs for such a package type would not be mapped. Am I missing something or is is_fallback() not needed?
&lt;/p&gt;
&lt;p&gt;
Same for IGroupForm and IOrganizationForm
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2929</link>
        <guid isPermaLink="false">http://localhost/ticket/2929</guid>
        <category>Report</category>
      </item><item>
                  <title>#2931: Better docstring for app_globals.py</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 17 Sep 2012 14:13:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 17 Sep 2012 14:16:18 GMT</pubDate>
                  <description>&lt;p&gt;
&lt;strong&gt; The application's Globals object &lt;/strong&gt; is not very informative.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2931</link>
        <guid isPermaLink="false">http://localhost/ticket/2931</guid>
        <category>Report</category>
      </item><item>
                  <title>#2932: Add docstring to system_info.py</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 17 Sep 2012 14:50:29 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 17 Sep 2012 14:50:29 GMT</pubDate>
                  <description>&lt;p&gt;
What is the system_info table for? It looks like a way to override config file settings in the database, perhaps so that admins can use a web interface to change site title etc. Could do with a docstring explaining the intended purpose of the table.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2932</link>
        <guid isPermaLink="false">http://localhost/ticket/2932</guid>
        <category>Report</category>
      </item><item>
                  <title>#2933: Update theming docs</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 17 Sep 2012 15:21:12 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 17 Sep 2012 15:21:12 GMT</pubDate>
                  <description>&lt;p&gt;
There's quite a lot of custom stuff going on, with all the custom jinja extensions, and the use of Fanstatic plus custom fanstatic extensions. People who are new to CKAN wanting to write CKAN themes are likely to be confused. I think the whole lot could do with documentation, maybe in the Theming and Customizing chapter in the sphinx docs.
&lt;/p&gt;
&lt;p&gt;
I suggest completely replacing the contents of doc/theming.rst, and putting a 'legacy theming' link at the bottom linking to a doc/legacy_theming.rst file with the old contents.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2933</link>
        <guid isPermaLink="false">http://localhost/ticket/2933</guid>
        <category>Report</category>
      </item><item>
                  <title>#2964: Last organization admin can remove herself</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:14:18 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:14:18 GMT</pubDate>
                  <description>&lt;p&gt;
If you are the only admin of an organization you can edit the organization's members and demote yourself, then the org has no admins and no one (except sysadmins maybe) can edit it.
&lt;/p&gt;
&lt;p&gt;
Last admin should not be able to remove or demote herself.
&lt;/p&gt;
&lt;p&gt;
Also applies to groups.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2964</link>
        <guid isPermaLink="false">http://localhost/ticket/2964</guid>
        <category>Report</category>
      </item><item>
                  <title>#2966: 'Add' button text is wrong when editing organization members</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:15:49 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:15:49 GMT</pubDate>
                  <description>&lt;p&gt;
e.g. if I just changed a member's capacity I am not adding anything 'save' is better maybe
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2966</link>
        <guid isPermaLink="false">http://localhost/ticket/2966</guid>
        <category>Report</category>
      </item><item>
                  <title>#2967: Organization members edit page reloads after demoting self</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:17:07 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:17:07 GMT</pubDate>
                  <description>&lt;p&gt;
Edit an organizations members page and demote yourself from organization admin, after saving the members edit page reloads even though you are no longer an admin and should no longer be able to access this page.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2967</link>
        <guid isPermaLink="false">http://localhost/ticket/2967</guid>
        <category>Report</category>
      </item><item>
                  <title>#2968: Anyone can access organization members page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:19:15 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:31:10 GMT</pubDate>
                  <description>&lt;p&gt;
The button will not show if you are not authorized but browse to /organization/members/foo and you can edit the members, it does stop you when you try to save your changes, but you shouldn't be able to get to the page at all
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2968</link>
        <guid isPermaLink="false">http://localhost/ticket/2968</guid>
        <category>Report</category>
      </item><item>
                  <title>#2969: Group members page 500s</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:20:54 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:20:54 GMT</pubDate>
                  <description>&lt;p&gt;
The group members page (e.g. /group/members/roger) seems broken, IDs instead of user names are shown for the members, and clicking on a member 500s
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2969</link>
        <guid isPermaLink="false">http://localhost/ticket/2969</guid>
        <category>Report</category>
      </item><item>
                  <title>#2970: Organization and group member links use id not name</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:22:11 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:22:11 GMT</pubDate>
                  <description>&lt;p&gt;
e.g. it the 'Members' button links to /organization/members/0a44... instead of /organization/members/foobar
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2970</link>
        <guid isPermaLink="false">http://localhost/ticket/2970</guid>
        <category>Report</category>
      </item><item>
                  <title>#2971: "Are ytou sure you want to delete this member?" should say which member</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:27:20 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:27:20 GMT</pubDate>
                  <description>&lt;p&gt;
when deleting members from groups and orgs
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2971</link>
        <guid isPermaLink="false">http://localhost/ticket/2971</guid>
        <category>Report</category>
      </item><item>
                  <title>#2972: Remove any imports of authz.py and delete file</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:37:22 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:37:22 GMT</pubDate>
                  <description>&lt;p&gt;
it is no longer used
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2972</link>
        <guid isPermaLink="false">http://localhost/ticket/2972</guid>
        <category>Report</category>
      </item><item>
                  <title>#2973: Move new_authz.py into logic/auth/__init__.py</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:39:05 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:39:05 GMT</pubDate>
                  <description>&lt;p&gt;
Makes sense to keep all auth stuff under logic/auth.
&lt;/p&gt;
&lt;p&gt;
Also decide which functions from new_authz.pu should be marked private with _.
&lt;/p&gt;
&lt;p&gt;
Also decide which functions from new_authz.py are really helpers for the auth functions in get.py, update.py and delete.py, and should maybe moved to another file, e.g. logic/auth/helpers.py
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2973</link>
        <guid isPermaLink="false">http://localhost/ticket/2973</guid>
        <category>Report</category>
      </item><item>
                  <title>#2974: General of all auth functions</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:40:12 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:40:12 GMT</pubDate>
                  <description>&lt;p&gt;
From Toby:
&lt;/p&gt;
&lt;p&gt;
A general cleanup of all auth functions (in logic/auth) to check their fitness, error messages, etc.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2974</link>
        <guid isPermaLink="false">http://localhost/ticket/2974</guid>
        <category>Report</category>
      </item><item>
                  <title>#2975: Tests for auth functions and new actions</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:41:00 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:41:00 GMT</pubDate>
                  <description>&lt;p&gt;
From Toby: tests around the auth functions and new actions - probably needs an improved testing mechanism and things like test data creation on via actions
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2975</link>
        <guid isPermaLink="false">http://localhost/ticket/2975</guid>
        <category>Report</category>
      </item><item>
                  <title>#2976: Polish group and organization member pages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:41:49 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:41:49 GMT</pubDate>
                  <description>&lt;p&gt;
From Toby: A little polish to the member pages and probably a little hardening of
the controller and logic actions
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2976</link>
        <guid isPermaLink="false">http://localhost/ticket/2976</guid>
        <category>Report</category>
      </item><item>
                  <title>#2977: Fix user autocomplete on group and organization member pages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:42:29 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:42:29 GMT</pubDate>
                  <description>&lt;p&gt;
From Toby: @johnmartin the user autocomplete on
member add needs fixing it gets data but does not understand what to do
with it
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2977</link>
        <guid isPermaLink="false">http://localhost/ticket/2977</guid>
        <category>Report</category>
      </item><item>
                  <title>#2978: Tests for permissions for organizations and groups</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:43:26 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:43:26 GMT</pubDate>
                  <description>&lt;p&gt;
From Toby: checking the logic around the who can do what from the user stories -
via some tests may be a good approach
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2978</link>
        <guid isPermaLink="false">http://localhost/ticket/2978</guid>
        <category>Report</category>
      </item><item>
                  <title>#2979: Requesting membership to groups and organizations</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:44:04 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:44:04 GMT</pubDate>
                  <description>&lt;p&gt;
From Toby: The requesting membership user stories and implementation remain needed
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2979</link>
        <guid isPermaLink="false">http://localhost/ticket/2979</guid>
        <category>Report</category>
      </item><item>
                  <title>#2981: Remove config from jinja templates</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:46:00 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:46:00 GMT</pubDate>
                  <description>&lt;p&gt;
From Toby: remove the config from jinja2 templates get all such stuff via g. (before 2.0)
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2981</link>
        <guid isPermaLink="false">http://localhost/ticket/2981</guid>
        <category>Report</category>
      </item><item>
                  <title>#2982: Move functionality from controllers into template helpers</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:46:42 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:46:42 GMT</pubDate>
                  <description>&lt;p&gt;
From Toby: strip more functionality from controllers and add via template helpers
eg activity streams
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2982</link>
        <guid isPermaLink="false">http://localhost/ticket/2982</guid>
        <category>Report</category>
      </item><item>
                  <title>#2983: Refactor lib/base.py to remove circular import issues</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:47:24 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:47:24 GMT</pubDate>
                  <description>&lt;p&gt;
From Toby: c) refactor lib/base.py to remove the circular import issues (render
functions to lib/render.py - would fix much of that)
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2983</link>
        <guid isPermaLink="false">http://localhost/ticket/2983</guid>
        <category>Report</category>
      </item><item>
                  <title>#2984: Auto-populate context with user, model, session, etc.</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:48:21 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:48:21 GMT</pubDate>
                  <description>&lt;p&gt;
From Toby: make the context auto-populated with things like user/model/session if
not user supplied - especially for extensions (pre 2.0) maybe via a helper
or else a decorator on the action - helper seems nicer maybe done via
get_action()
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2984</link>
        <guid isPermaLink="false">http://localhost/ticket/2984</guid>
        <category>Report</category>
      </item><item>
                  <title>#2985: Make lib/helpers.py more template-specific</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:49:48 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:49:48 GMT</pubDate>
                  <description>&lt;p&gt;
From Toby: make lib/helpers more template specific and less generally shared with
none template uses (some functions are shared but many shouldn't be) -
again help avoid circular imports
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2985</link>
        <guid isPermaLink="false">http://localhost/ticket/2985</guid>
        <category>Report</category>
      </item><item>
                  <title>#2986: Make lib/base.py more like it was originally intended</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:50:45 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:50:45 GMT</pubDate>
                  <description>&lt;p&gt;
From Toby: make lib/base.py be more like it was originally intended eg defines
stuff that is shared eg _ but maybe try to include stuff like
render/get_action if the circular import stuff can be solved - which should
be doable if hard and likely needs an extra file or two for the externals _
etc
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2986</link>
        <guid isPermaLink="false">http://localhost/ticket/2986</guid>
        <category>Report</category>
      </item><item>
                  <title>#2987: Remove all direct calls to logic action and auth functions</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:51:27 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:51:27 GMT</pubDate>
                  <description>&lt;p&gt;
From Toby
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2987</link>
        <guid isPermaLink="false">http://localhost/ticket/2987</guid>
        <category>Report</category>
      </item><item>
                  <title>#2988: UI functional tests for CKAN 2.0</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 11:02:15 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 11:02:15 GMT</pubDate>
                  <description>&lt;p&gt;
Afaik the new CKAN 2.0 frontend has no functional tests
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2988</link>
        <guid isPermaLink="false">http://localhost/ticket/2988</guid>
        <category>Report</category>
      </item><item>
                  <title>#2989: "Add dataset to organization" should auto-select the organization</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 11:04:12 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 11:04:12 GMT</pubDate>
                  <description>&lt;p&gt;
'Add dataset to organization' button, when you get through to the third stage of the new dataset form the organization you came from is not selected.
&lt;/p&gt;
&lt;p&gt;
I don't see any option to choose the group when adding or updating a dataset, but if I add a dataset via the "Add dataset to group" button on a group's page, then the dataset seems to get added to that group. (And I can also add/remove existing datasets by editing the group.) I wonder if organizations should work the same way, instead of having an Organization drop-down when creating or updating a dataset. The add dataset page needs to somehow indicate that you're adding a dataset to a certain group or organization though, doesn't currently.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2989</link>
        <guid isPermaLink="false">http://localhost/ticket/2989</guid>
        <category>Report</category>
      </item><item>
                  <title>#2990: Fix descriptions of groups and organizations on /groups and /organizations pages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 11:04:51 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 11:04:51 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2990</link>
        <guid isPermaLink="false">http://localhost/ticket/2990</guid>
        <category>Report</category>
      </item><item>
                  <title>#2991: Add blocks to header.html template</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 16 Oct 2012 11:10:20 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 16 Oct 2012 11:10:20 GMT</pubDate>
                  <description>&lt;p&gt;
Currently if you want to customise the header.html template you have to copy the whole thing, it isn't broken up into blocks like other templates are.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2991</link>
        <guid isPermaLink="false">http://localhost/ticket/2991</guid>
        <category>Report</category>
      </item><item>
                  <title>#2993: "logged_in" and "visitor" show in user list at /users</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 09:42:02 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:40:26 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2993</link>
        <guid isPermaLink="false">http://localhost/ticket/2993</guid>
        <category>Report</category>
      </item><item>
                  <title>#2994: Add dataset and user popovers throughout the site</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:26:04 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:26:04 GMT</pubDate>
                  <description>&lt;p&gt;
If you hover the mouse over a dataset or user in an activity stream, you now get a popover with some info about that dataset or user and a follow/unfollow button.
&lt;/p&gt;
&lt;p&gt;
These popovers should appear wherever datasets or users are listed, throughout the site.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2994</link>
        <guid isPermaLink="false">http://localhost/ticket/2994</guid>
        <category>Report</category>
      </item><item>
                  <title>#2995: Popovers for resources, groups, organizations, tags...</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:27:21 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:27:21 GMT</pubDate>
                  <description>&lt;p&gt;
If you hover the mouse over a dataset or user in an activity stream, you now get a popover with some info about that dataset or user and a follow/unfollow button.
&lt;/p&gt;
&lt;p&gt;
It would be nice to add similar popovers for other types of object in CKAN, e.g. resources, groups, organizations, tags...
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2995</link>
        <guid isPermaLink="false">http://localhost/ticket/2995</guid>
        <category>Report</category>
      </item><item>
                  <title>#2997: Add activity streams to dataset pages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:31:46 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:31:46 GMT</pubDate>
                  <description>&lt;p&gt;
Add an activity stream tab to dataset pages, like we have on user profile pages. Dataset activity streams are already implemented in the backend.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2997</link>
        <guid isPermaLink="false">http://localhost/ticket/2997</guid>
        <category>Report</category>
      </item><item>
                  <title>#2998: Add activity streams to group pages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:33:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:33:14 GMT</pubDate>
                  <description>&lt;p&gt;
Before we do this we should implement smarter group activity streams (i.e. what activities should appear in a group's activity stream?) and following of groups.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2998</link>
        <guid isPermaLink="false">http://localhost/ticket/2998</guid>
        <category>Report</category>
      </item><item>
                  <title>#2999: Add activity streams to organization pages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:34:17 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:34:17 GMT</pubDate>
                  <description>&lt;p&gt;
Before we do this we need to merge the organizations branch into master, we need to implement smarter activity streams for organizations, and we need to implement following of organizations.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2999</link>
        <guid isPermaLink="false">http://localhost/ticket/2999</guid>
        <category>Report</category>
      </item><item>
                  <title>#3000: Add number of followers to dataset pages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:36:00 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Oct 2012 14:36:00 GMT</pubDate>
                  <description>&lt;p&gt;
User profile pages now show some interesting stats about the user: num. datasets, num. edits and num. followers. Would be nice to add some similar info to dataset pages. At least num. followers can be done (already implemented in backend).
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/3000</link>
        <guid isPermaLink="false">http://localhost/ticket/3000</guid>
        <category>Report</category>
      </item><item>
                  <title>#3001: Multilingual plugin crashes CKAN on add dataset when some languages are default</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 18 Oct 2012 16:50:48 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 18 Oct 2012 16:50:48 GMT</pubDate>
                  <description>&lt;p&gt;
Enable the multilingual plugins:
&lt;/p&gt;
&lt;p&gt;
ckan.plugins = stats synchronous_search multilingual_dataset multilingual_group multilingual_tag
&lt;/p&gt;
&lt;p&gt;
and set your default language to one not supported by the multilingual plugin, e.g.
&lt;/p&gt;
&lt;p&gt;
ckan.locale_default = cs_CZ
&lt;/p&gt;
&lt;p&gt;
now run CKAN and try to add a dataset:
&lt;/p&gt;
&lt;p&gt;
File '/home/seanh/Projects/ckan171/ckan/ckanext/multilingual/plugin.py', line 141 in before_index
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
text_field_items&lt;a class="missing wiki"&gt;+ default_lang?&lt;/a&gt;.extend(all_terms)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;a class="missing wiki"&gt;KeyError?&lt;/a&gt;: 'text_cs_CZ'
&lt;/p&gt;
&lt;p&gt;
It doesn't matter what language you are viewing the site in in your browser, the default language setting in the ini file determines whether it crashed or not.
&lt;/p&gt;
&lt;p&gt;
A number of supported languages are defined at the top of ckanext/multilingual/plugin.py. I think if the default language is not one of these it crashes.
&lt;/p&gt;
&lt;p&gt;
I think this affects all versions of CKAN since the multilingual plugin was added so at least 1.7, 1.8 and 2.0
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/3001</link>
        <guid isPermaLink="false">http://localhost/ticket/3001</guid>
        <category>Report</category>
      </item><item>
                  <title>#3007: Adding a dataset creates multiple activities</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 29 Oct 2012 13:15:07 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 29 Oct 2012 13:23:39 GMT</pubDate>
                  <description>&lt;p&gt;
Adding a new dataset creates multiple activity stream activities, e.g. seanh created the dataset foo, seanh add the resource bar to the dataset foo, and seanh updated the dataset foo are all created when I add a new dataset. I wonder if these can be collapsed into a single activity.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/3007</link>
        <guid isPermaLink="false">http://localhost/ticket/3007</guid>
        <category>Report</category>
      </item><item>
                  <title>#3010: Pin images don't appear in data explorer</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 31 Oct 2012 17:45:06 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 31 Oct 2012 17:45:06 GMT</pubDate>
                  <description>&lt;p&gt;
When minified files are in use (set debug = false in ini file) the pin images for points don't show up in the data explorer map view when viewing a resource with geolocation data.
&lt;/p&gt;
&lt;p&gt;
set debug = true will fix the problem by using unminified files instead but also turns on a bunch of debug stuff you wouldn't want on a production site.
&lt;/p&gt;
&lt;p&gt;
middleware.py, around line 73, is where the decision to turn minified files on or off based on the debug setting is made. This can be hacked on a production site to run with unminified files but otherwise run on production mode thereby getting around the issue with the pins. But that doesn't fix the underlying bug.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/3010</link>
        <guid isPermaLink="false">http://localhost/ticket/3010</guid>
        <category>Report</category>
      </item><item>
                  <title>#3014: Crash when deleting a non-empty vocabulary</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 13 Nov 2012 10:50:08 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 13 Nov 2012 10:50:08 GMT</pubDate>
                  <description>&lt;p&gt;
From Knud Möller:
&lt;/p&gt;
&lt;p&gt;
when I try to delete a non-empty tag vocabulary via the API (through HTTP), I get an internal server error. Checking
the logs, this turns out to be a consistency error raised by  sqlalchemy:
&lt;/p&gt;
&lt;p&gt;
Error - &amp;lt;class 'sqlalchemy.exc.&lt;a class="missing wiki"&gt;IntegrityError?&lt;/a&gt;'&amp;gt;: (&lt;a class="missing wiki"&gt;IntegrityError?&lt;/a&gt;) update or delete on table "vocabulary" violates
foreign key constraint "tag_vocabulary_id_fkey" on table "tag"
DETAIL:  Key (id)=(21421955-7560-467c-af30-9f790b73e6ae) is still referenced from table "tag".
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
'DELETE FROM vocabulary WHERE vocabulary.id = %(id)s' {'id': u'21421955-7560-467c-af30-9f790b73e6ae'}
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
URL: &lt;a class="ext-link" href="http://33.33.33.10:5000/api/action/vocabulary_delete"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://33.33.33.10:5000/api/action/vocabulary_delete&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The error makes sense, but I'm wondering if it would be useful to extend the API to also allow the deletion of
non-empty vocabularies, possibly via a parameter (not sure what best practice in API design is). At the very least, it
would be cool if the error message coming back in the response had more information in it.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/3014</link>
        <guid isPermaLink="false">http://localhost/ticket/3014</guid>
        <category>Report</category>
      </item><item>
                  <title>#140: News section on front page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 07 Oct 2009 08:02:21 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 08 Feb 2010 10:32:39 GMT</pubDate>
                  <description>&lt;p&gt;
Have a news section (suggest as a sidebar item).
&lt;/p&gt;
&lt;p&gt;
News section will link to latest 3/4 blog posts on CKAN from blog.okfn.org.
&lt;/p&gt;
&lt;p&gt;
Details:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Suggest pulling via rss or similar.
&lt;/li&gt;&lt;li&gt;Will want to cache this ...
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Cost: 4h?
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/140</link>
        <guid isPermaLink="false">http://localhost/ticket/140</guid>
        <category>Report</category>
      </item><item>
                  <title>#253: Package relationships</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 22 Feb 2010 16:05:21 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:38:46 GMT</pubDate>
                  <description>&lt;h1 id="Overview"&gt;Overview&lt;/h1&gt;
&lt;p&gt;
Functionality to formally associate packages. We see a need for specific parent-child, inheriting or dependency relations. Not only should this help navigation between packages in the web interface, but it also provides a mechanism to automatically pull dependencies when downloading a data package, in a similar manner as we see in software package management.
&lt;/p&gt;
&lt;h1 id="Examples"&gt;Examples&lt;/h1&gt;
&lt;ol&gt;&lt;li&gt;There are 27 packages in data.gov.uk to do with the Data4NR's Health Poverty Index. There is currently no common link between these, unless you search for 'HPI' (which also brings up House Price Index), or look under tag 'health' (which also has 600 other results). There should be a link on each HPI package page to navigate to the other 'sibling' HPI packages, and to a 'root' package that has info about the set. This could be partially achieved using the existing tag or group concepts, but a more explicit/official/obvious marking of their relationship could be beneficial.
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="2"&gt;&lt;li&gt;In ckan.net is freedict, a collection of translation dictionaries. You could make each dictionary a child package and use this system. But it would probably be better to make each dictionary a different resource in the same package. (There are other ideas to denote a resource as the data making up a 'portion' of package, or a 'whole' of the package, to help people downloading datasets in the software package style.)
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="3"&gt;&lt;li&gt;OSM has had some Naptan data imported (bus stops), with special permission - i.e. a more liberal license. It would be useful to show this link on both OSM and Naptan packages in CKAN: OSM 'derives from' Naptan with a comment about the license change. I'm not sure this is useful to an automatic download or use of these datasets, but may aid exploration on the CKAN website and understanding the provenance of the bus stop data on it.
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="4"&gt;&lt;li&gt;IPCC collection of data linked / mirrored. Not sure if there are useful relationships here?
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="5"&gt;&lt;li&gt;Dracos gets postbox locations from crowd sourcing and OSM. We could say Dracos 'derives from' OSM.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
See more examples discussed here: &lt;a class="ext-link" href="http://trac.ckan.org/ticket/253"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://trac.ckan.org/ticket/253&lt;/a&gt;
&lt;/p&gt;
&lt;h1 id="Implementation"&gt;Implementation&lt;/h1&gt;
&lt;p&gt;
This is split into four tickets:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Model: &lt;a class="closed ticket" href="http://localhost/ticket/254" title="enhancement: Package relationships - 1. model (closed: fixed)"&gt;ticket:254&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;Read in WUI: &lt;a class="closed ticket" href="http://localhost/ticket/255" title="enhancement: Package relationships - 2. Read in WUI (closed: fixed)"&gt;ticket:255&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;Edit in WUI: &lt;a class="assigned ticket" href="http://localhost/ticket/256" title="requirement: Package relationships - 3. Edit in WUI (assigned)"&gt;ticket:256&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;API: &lt;a class="closed ticket" href="http://localhost/ticket/257" title="enhancement: Package relationships - 4. Read in API (closed: fixed)"&gt;ticket:257&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
No need for write access to be provided API for the moment.
&lt;/p&gt;
&lt;p&gt;
This ticket also encompasses &lt;a class="closed ticket" href="http://localhost/ticket/169" title="enhancement: Package derivations (closed: duplicate)"&gt;ticket:169&lt;/a&gt; (Package derivations) and &lt;a class="closed ticket" href="http://localhost/ticket/176" title="enhancement: Package dependencies (closed: duplicate)"&gt;ticket:176&lt;/a&gt; (Package dependencies).
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/253</link>
        <guid isPermaLink="false">http://localhost/ticket/253</guid>
        <category>Report</category>
      </item><item>
                  <title>#331: Timezone of CKAN timestamps should be configurable</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 31 May 2010 10:40:40 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:38:21 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/331</link>
        <guid isPermaLink="false">http://localhost/ticket/331</guid>
        <category>Report</category>
      </item><item>
                  <title>#350: Search engine optimisation</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 15 Jun 2010 09:35:41 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:38:10 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/350</link>
        <guid isPermaLink="false">http://localhost/ticket/350</guid>
        <category>Report</category>
      </item><item>
                  <title>#351: Homepage: list new, updated and 'hot' packages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 15 Jun 2010 09:56:56 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:37:57 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/351</link>
        <guid isPermaLink="false">http://localhost/ticket/351</guid>
        <category>Report</category>
      </item><item>
                  <title>#369: "Package Listing Key" should appear on Tag results</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 22 Jul 2010 18:00:34 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:37:46 GMT</pubDate>
                  <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>
                  
        <dc:creator>shudson@…</dc:creator>

        <link>http://localhost/ticket/369</link>
        <guid isPermaLink="false">http://localhost/ticket/369</guid>
        <category>Report</category>
      </item><item>
                  <title>#370: Use better email encryption for author_email and maintainer_email</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 22 Jul 2010 18:03:39 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:37:29 GMT</pubDate>
                  <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>
                  
        <dc:creator>shudson@…</dc:creator>

        <link>http://localhost/ticket/370</link>
        <guid isPermaLink="false">http://localhost/ticket/370</guid>
        <category>Report</category>
      </item><item>
                  <title>#653: Trackback links for packages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 21 Sep 2010 09:40:25 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:37:16 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/653</link>
        <guid isPermaLink="false">http://localhost/ticket/653</guid>
        <category>Report</category>
      </item><item>
                  <title>#737: Markdown syntax summary page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 22 Oct 2010 16:59:09 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 06 Dec 2011 11:17:19 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/737</link>
        <guid isPermaLink="false">http://localhost/ticket/737</guid>
        <category>Report</category>
      </item><item>
                  <title>#765: Read-only mode - API usage</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 26 Oct 2010 11:18:17 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:55:23 GMT</pubDate>
                  <description>&lt;p&gt;
All writes to the API are captured and you are returned an error explaining the reason.
&lt;/p&gt;
&lt;p&gt;
Possible errors:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;503 temporary maintenance
&lt;/li&gt;&lt;li&gt;403 forbidden (if server if permanently read-only)
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/765</link>
        <guid isPermaLink="false">http://localhost/ticket/765</guid>
        <category>Report</category>
      </item><item>
                  <title>#811: Extra field editing form layout breaks when there are long field names</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Nov 2010 11:53:32 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 06 Dec 2011 11:18:09 GMT</pubDate>
                  <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>
                  
        <dc:creator>cygri</dc:creator>

        <link>http://localhost/ticket/811</link>
        <guid isPermaLink="false">http://localhost/ticket/811</guid>
        <category>Report</category>
      </item><item>
                  <title>#812: Package edit form only allows three extra fields</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Nov 2010 11:56:50 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jul 2011 15:48:37 GMT</pubDate>
                  <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>
                  
        <dc:creator>cygri</dc:creator>

        <link>http://localhost/ticket/812</link>
        <guid isPermaLink="false">http://localhost/ticket/812</guid>
        <category>Report</category>
      </item><item>
                  <title>#818: Rethinking the author and maintainer fields</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 17 Nov 2010 14:18:44 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:37:01 GMT</pubDate>
                  <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>
                  
        <dc:creator>cygri</dc:creator>

        <link>http://localhost/ticket/818</link>
        <guid isPermaLink="false">http://localhost/ticket/818</guid>
        <category>Report</category>
      </item><item>
                  <title>#837: CKAN integration with freebase gridworks / google refine</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 30 Nov 2010 18:10:09 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:36:45 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/837</link>
        <guid isPermaLink="false">http://localhost/ticket/837</guid>
        <category>Report</category>
      </item><item>
                  <title>#895: Add version number (or simular) to css/js includes query string</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 06 Jan 2011 19:49:42 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:36:33 GMT</pubDate>
                  <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>
                  
        <dc:creator>memespring</dc:creator>

        <link>http://localhost/ticket/895</link>
        <guid isPermaLink="false">http://localhost/ticket/895</guid>
        <category>Report</category>
      </item><item>
                  <title>#909: DCat importer for CKAN</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 17 Jan 2011 12:05:58 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 10:53:22 GMT</pubDate>
                  <description>&lt;p&gt;
Write an importer that supports most well known variants of DCat in importing the data as CKAN packages. In particular, the following sources should be supported:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;CKANrdf generated exports
&lt;/li&gt;&lt;li&gt;opengov.se RDF (not really DCat)
&lt;/li&gt;&lt;li&gt;Sunlight Nationdatacatalog as harvested by dcat-tools.
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>pudo</dc:creator>

        <link>http://localhost/ticket/909</link>
        <guid isPermaLink="false">http://localhost/ticket/909</guid>
        <category>Report</category>
      </item><item>
                  <title>#1101: Integrate googlanalytics into site nav</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 21 Apr 2011 13:52:06 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:36:22 GMT</pubDate>
                  <description>&lt;p&gt;
There's a stats plugin (e.g. at &lt;a class="ext-link" href="http://trac.ckan.org/ticket/832"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://trac.ckan.org/ticket/832&lt;/a&gt;).
&lt;/p&gt;
&lt;p&gt;
Output from the googleanalytics plugin should append to that page, if the stats plugin is present.
&lt;/p&gt;
&lt;p&gt;
Possibly the stats plugin and the googleanalytics plugin should be merged?
&lt;/p&gt;
&lt;p&gt;
Finally, if the stats plugin is active, then a link to the stats page should be added to the main site footer.
&lt;/p&gt;
</description>
                  
        <dc:creator>sebbacon</dc:creator>

        <link>http://localhost/ticket/1101</link>
        <guid isPermaLink="false">http://localhost/ticket/1101</guid>
        <category>Report</category>
      </item><item>
                  <title>#1120: Atom feeds of each tag</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 May 2011 04:08:05 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:36:08 GMT</pubDate>
                  <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>
                  
        <dc:creator>tsm</dc:creator>

        <link>http://localhost/ticket/1120</link>
        <guid isPermaLink="false">http://localhost/ticket/1120</guid>
        <category>Report</category>
      </item><item>
                  <title>#1144: Support DSPL</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 19 May 2011 00:06:49 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:35:17 GMT</pubDate>
                  <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>
                  
        <dc:creator>timmcnamara</dc:creator>

        <link>http://localhost/ticket/1144</link>
        <guid isPermaLink="false">http://localhost/ticket/1144</guid>
        <category>Report</category>
      </item><item>
                  <title>#1145: Support the Handle System</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 19 May 2011 00:26:15 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:35:02 GMT</pubDate>
                  <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>
                  
        <dc:creator>timmcnamara</dc:creator>

        <link>http://localhost/ticket/1145</link>
        <guid isPermaLink="false">http://localhost/ticket/1145</guid>
        <category>Report</category>
      </item><item>
                  <title>#1179: Support tag aliases</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 07 Jun 2011 06:47:01 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:32:12 GMT</pubDate>
                  <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>
                  
        <dc:creator>timmcnamara</dc:creator>

        <link>http://localhost/ticket/1179</link>
        <guid isPermaLink="false">http://localhost/ticket/1179</guid>
        <category>Report</category>
      </item><item>
                  <title>#1182: Comments from deleted packages appear in "Recent Comments" feed</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Jun 2011 22:24:11 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:31:59 GMT</pubDate>
                  <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>
                  
        <dc:creator>timmcnamara</dc:creator>

        <link>http://localhost/ticket/1182</link>
        <guid isPermaLink="false">http://localhost/ticket/1182</guid>
        <category>Report</category>
      </item><item>
                  <title>#1184: Support Wuala as CKAN storage option</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 14 Jun 2011 06:59:11 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:31:46 GMT</pubDate>
                  <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>
                  
        <dc:creator>timmcnamara</dc:creator>

        <link>http://localhost/ticket/1184</link>
        <guid isPermaLink="false">http://localhost/ticket/1184</guid>
        <category>Report</category>
      </item><item>
                  <title>#1185: Administrators can't delete packages from web UI</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 15 Jun 2011 04:23:38 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:31:29 GMT</pubDate>
                  <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>
                  
        <dc:creator>timmcnamara</dc:creator>

        <link>http://localhost/ticket/1185</link>
        <guid isPermaLink="false">http://localhost/ticket/1185</guid>
        <category>Report</category>
      </item><item>
                  <title>#1188: Allow diffing against initial (blank) package version</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 15 Jun 2011 15:52:40 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:31:15 GMT</pubDate>
                  <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>
                  
        <dc:creator>nickstenning</dc:creator>

        <link>http://localhost/ticket/1188</link>
        <guid isPermaLink="false">http://localhost/ticket/1188</guid>
        <category>Report</category>
      </item><item>
                  <title>#1201: seperate out logic in atom feeds to logic layer.</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 24 Jun 2011 15:21:32 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 08 Jul 2011 11:24:57 GMT</pubDate>
                  <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>
                  
        <dc:creator>kindly</dc:creator>

        <link>http://localhost/ticket/1201</link>
        <guid isPermaLink="false">http://localhost/ticket/1201</guid>
        <category>Report</category>
      </item><item>
                  <title>#1227: Display packages' tags in search results</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 19 Jul 2011 00:11:02 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:29:07 GMT</pubDate>
                  <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>
                  
        <dc:creator>timmcnamara</dc:creator>

        <link>http://localhost/ticket/1227</link>
        <guid isPermaLink="false">http://localhost/ticket/1227</guid>
        <category>Report</category>
      </item><item>
                  <title>#1232: [super] Interface improvements</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jul 2011 16:11:36 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 13 Sep 2011 21:15:36 GMT</pubDate>
                  <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>
                  
        <dc:creator>thejimmyg</dc:creator>

        <link>http://localhost/ticket/1232</link>
        <guid isPermaLink="false">http://localhost/ticket/1232</guid>
        <category>Report</category>
      </item><item>
                  <title>#1233: [super] Improve wiki-style functionality for history</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 20 Jul 2011 16:29:52 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 13 Sep 2011 21:17:48 GMT</pubDate>
                  <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>
                  
        <dc:creator>thejimmyg</dc:creator>

        <link>http://localhost/ticket/1233</link>
        <guid isPermaLink="false">http://localhost/ticket/1233</guid>
        <category>Report</category>
      </item><item>
                  <title>#1273: Create docs for API v3</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Aug 2011 12:41:23 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Aug 2011 12:41:23 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/1273</link>
        <guid isPermaLink="false">http://localhost/ticket/1273</guid>
        <category>Report</category>
      </item><item>
                  <title>#1278: Refactor authorized_query calls</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Aug 2011 13:32:57 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Aug 2011 13:32:57 GMT</pubDate>
                  <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>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/1278</link>
        <guid isPermaLink="false">http://localhost/ticket/1278</guid>
        <category>Report</category>
      </item><item>
                  <title>#1355: Package extras property does not include the newly created ones</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 26 Sep 2011 10:48:46 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:27:36 GMT</pubDate>
                  <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>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/1355</link>
        <guid isPermaLink="false">http://localhost/ticket/1355</guid>
        <category>Report</category>
      </item><item>
                  <title>#1406: Re-enable RSS subscriptions</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 17 Oct 2011 14:22:07 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 10 Nov 2011 13:01:28 GMT</pubDate>
                  <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>
                  
        <dc:creator>zephod</dc:creator>

        <link>http://localhost/ticket/1406</link>
        <guid isPermaLink="false">http://localhost/ticket/1406</guid>
        <category>Report</category>
      </item><item>
                  <title>#1414: track user log-ins on thedatahub.org</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 24 Oct 2011 11:13:02 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 24 Oct 2011 11:13:02 GMT</pubDate>
                  <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>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/1414</link>
        <guid isPermaLink="false">http://localhost/ticket/1414</guid>
        <category>Report</category>
      </item><item>
                  <title>#1423: Edit resources suggestions</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 26 Oct 2011 15:11:46 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:14:38 GMT</pubDate>
                  <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>
                  
        <dc:creator>markbrough</dc:creator>

        <link>http://localhost/ticket/1423</link>
        <guid isPermaLink="false">http://localhost/ticket/1423</guid>
        <category>Report</category>
      </item><item>
                  <title>#1432: [super] Data processing system for CKAN and Webstore</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 01 Nov 2011 10:19:07 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:27:21 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1432</link>
        <guid isPermaLink="false">http://localhost/ticket/1432</guid>
        <category>Report</category>
      </item><item>
                  <title>#1535: Plump for auth header of: X-CKAN-API-KEY</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 07 Dec 2011 17:31:22 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:26:59 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1535</link>
        <guid isPermaLink="false">http://localhost/ticket/1535</guid>
        <category>Report</category>
      </item><item>
                  <title>#1550: Allow simple auth via the API</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 16 Dec 2011 15:29:29 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 11:00:55 GMT</pubDate>
                  <description>&lt;p&gt;
It should be possible to pass userid/username and api key and obtain a response from CKAN for external services that use CKAN auth. Those services shouldn't be talking to the DB directly.
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/1550</link>
        <guid isPermaLink="false">http://localhost/ticket/1550</guid>
        <category>Report</category>
      </item><item>
                  <title>#1578: [super] Re-enable and refactor ratings</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 19 Dec 2011 19:20:43 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jan 2012 02:56:55 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1578</link>
        <guid isPermaLink="false">http://localhost/ticket/1578</guid>
        <category>Report</category>
      </item><item>
                  <title>#1598: Reinstate Ratings</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 29 Dec 2011 16:52:04 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jan 2012 03:26:58 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1598</link>
        <guid isPermaLink="false">http://localhost/ticket/1598</guid>
        <category>Report</category>
      </item><item>
                  <title>#1604: Get ckanext-moderatededits working with CKAN 1.5+ templates</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 31 Dec 2011 17:27:09 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 31 Dec 2011 17:27:09 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1604</link>
        <guid isPermaLink="false">http://localhost/ticket/1604</guid>
        <category>Report</category>
      </item><item>
                  <title>#1606: metadata license config option</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jan 2012 10:45:30 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:26:21 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1606</link>
        <guid isPermaLink="false">http://localhost/ticket/1606</guid>
        <category>Report</category>
      </item><item>
                  <title>#1642: Extra link generators generate garbled HTML</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 12 Jan 2012 15:29:31 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:26:07 GMT</pubDate>
                  <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>
                  
        <dc:creator>pudo</dc:creator>

        <link>http://localhost/ticket/1642</link>
        <guid isPermaLink="false">http://localhost/ticket/1642</guid>
        <category>Report</category>
      </item><item>
                  <title>#1643: Add fixed tags to thedatahub for better browsing</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 12 Jan 2012 18:34:53 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 12 Jan 2012 18:34:53 GMT</pubDate>
                  <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>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/1643</link>
        <guid isPermaLink="false">http://localhost/ticket/1643</guid>
        <category>Report</category>
      </item><item>
                  <title>#1644: Order default dataset page by most downloaded resources on thedatahub</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 12 Jan 2012 18:39:02 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 12 Jan 2012 18:39:02 GMT</pubDate>
                  <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>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/1644</link>
        <guid isPermaLink="false">http://localhost/ticket/1644</guid>
        <category>Report</category>
      </item><item>
                  <title>#1668: repoze version discrepency</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 17 Jan 2012 12:02:26 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 17 Jan 2012 12:02:26 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1668</link>
        <guid isPermaLink="false">http://localhost/ticket/1668</guid>
        <category>Report</category>
      </item><item>
                  <title>#1679: Default roles problem</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 17 Jan 2012 17:57:22 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:25:23 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1679</link>
        <guid isPermaLink="false">http://localhost/ticket/1679</guid>
        <category>Report</category>
      </item><item>
                  <title>#1684: Remove all config from ckanext-archiver</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 19 Jan 2012 14:37:01 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 11:00:37 GMT</pubDate>
                  <description>&lt;p&gt;
ckanext-archiver currently has a settings file (and a default) and it should be passed in all relevant information from the context.
&lt;/p&gt;
&lt;p&gt;
Remove all settings (ARCHIVE_DIR and MAX_CONTENT_LENGTH and others) and pass them in from CKAN.
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/1684</link>
        <guid isPermaLink="false">http://localhost/ticket/1684</guid>
        <category>Report</category>
      </item><item>
                  <title>#1697: A Configurable list of states for a Dataset</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 24 Jan 2012 10:23:50 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:23:09 GMT</pubDate>
                  <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>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1697</link>
        <guid isPermaLink="false">http://localhost/ticket/1697</guid>
        <category>Report</category>
      </item><item>
                  <title>#1717: [super] Search UX improvements</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 Jan 2012 18:53:01 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 24 Feb 2012 13:02:19 GMT</pubDate>
                  <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>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/1717</link>
        <guid isPermaLink="false">http://localhost/ticket/1717</guid>
        <category>Report</category>
      </item><item>
                  <title>#1747: Expire old activities</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 05 Feb 2012 12:56:29 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:24:19 GMT</pubDate>
                  <description>&lt;p&gt;
Currently the activity streams database tables just get longer and longer over time. Do we want to eventually delete the oldest activities, to keep the length of the table within limits?
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/1747</link>
        <guid isPermaLink="false">http://localhost/ticket/1747</guid>
        <category>Report</category>
      </item><item>
                  <title>#1750: Move ckan/lib/activity.py into the model</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 05 Feb 2012 18:18:08 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:24:00 GMT</pubDate>
                  <description>&lt;p&gt;
Move ckan/lib/activity.py moved to into the model - say ckan/model/activity_extension.py, because it's so tightly knit with the model code, whereas most of the lib code is used in the controllers.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/1750</link>
        <guid isPermaLink="false">http://localhost/ticket/1750</guid>
        <category>Report</category>
      </item><item>
                  <title>#1789: Implement a tag_update() logic action function</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Feb 2012 16:36:53 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:23:32 GMT</pubDate>
                  <description>&lt;p&gt;
So users can rename a tag and/or move it between vocabularies using the API.
&lt;/p&gt;
&lt;p&gt;
Currently we have create_tag() and delete_tag(), but if you were to 'update' a tag by deleting it and then recreating it all the datasets that had that tag will have lost it and you'll have to re-add it to them all.
&lt;/p&gt;
&lt;p&gt;
What should happen to datasets that have the tag, if the tag gets moved between vocabularies? All the datasets just keep the tag with the new vocabulary? This will become a problem if/when we support 'radio button'-style vocabularies (where each dataset can only have one tag from the vocabulary).
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/1789</link>
        <guid isPermaLink="false">http://localhost/ticket/1789</guid>
        <category>Report</category>
      </item><item>
                  <title>#1831: Login with email address</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 24 Feb 2012 08:58:26 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 11:08:24 GMT</pubDate>
                  <description>&lt;p&gt;
Users should be able to log in using either their username, or their email address, both of which are unique.
&lt;/p&gt;
&lt;p&gt;
Will require a change to &lt;a class="missing wiki"&gt;UsernamePasswordAuthenticator?&lt;/a&gt; in ckan.lib.authenticator.py and possible a useful User.by_email in the user model if it doesn't already exist.
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/1831</link>
        <guid isPermaLink="false">http://localhost/ticket/1831</guid>
        <category>Report</category>
      </item><item>
                  <title>#2197: Storage Metadata API: add/update not working with local file storage (Pairtree)</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 28 Feb 2012 09:29:37 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 08:48:48 GMT</pubDate>
                  <description>&lt;p&gt;
If OFS is configured with Pairtree to use a local file storage, all POST requests to add/update metadata ( /api/storage/metadata/{label} ) will fail.
&lt;/p&gt;
&lt;p&gt;
This is due to the use of &lt;a class="ext-link" href="https://github.com/okfn/ofs/blob/master/ofs/remote/botostore.py"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;BotoOFS&lt;/a&gt; specific &lt;em&gt;private&lt;/em&gt; methods in &lt;a class="ext-link" href="https://github.com/okfn/ckan/blob/master/ckan/controllers/storage.py"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;StorageAPIController.set_metadata()&lt;/a&gt;, eg: self.ofs.&lt;strong&gt;_require_bucket&lt;/strong&gt;(bucket), self.ofs.&lt;strong&gt;_get_key&lt;/strong&gt;(b, label), self.ofs.&lt;strong&gt;_update_key_metadata&lt;/strong&gt;(k, metadata) ... those methods can't be found in &lt;a class="ext-link" href="https://github.com/okfn/ofs/blob/master/ofs/local/pairtreestore.py"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;POTFS&lt;/a&gt; and this causes errors.
The API should use only &lt;a class="ext-link" href="https://github.com/okfn/ofs/blob/master/ofs/base.py"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;OFSInterface&lt;/a&gt; methods, or should conditionally make calls based off the actual type of &lt;em&gt;self.ofs&lt;/em&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;PS: I did set "ckan" as "Component" in the ticket because storage has been integrated back into the core in CKAN 1.6&lt;/em&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>zydio</dc:creator>

        <link>http://localhost/ticket/2197</link>
        <guid isPermaLink="false">http://localhost/ticket/2197</guid>
        <category>Report</category>
      </item><item>
                  <title>#2284: Local queries/views/viz in Related stuff.</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 12 Apr 2012 08:18:20 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 10:51:53 GMT</pubDate>
                  <description>&lt;p&gt;
From &lt;a class="closed ticket" href="http://localhost/ticket/2204" title="enhancement: [super] Related (Stuff) Extension (closed: fixed)"&gt;#2204&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
not sure how much we have thought through using this for storing queries / views / visualizations coming from our data viewer. In particular, wonder if this necessitates some kind of support for arbitrary json data ...
&lt;/p&gt;
&lt;p&gt;
### Comments
&lt;/p&gt;
&lt;p&gt;
In the simplest form, right now all I need to store is store the url to the resource plus hashbang config for recline. That would be super easy ...
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2284</link>
        <guid isPermaLink="false">http://localhost/ticket/2284</guid>
        <category>Report</category>
      </item><item>
                  <title>#2486: Should be able to use . in dataset names</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 02 Jun 2012 16:46:23 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 14:36:18 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2486</link>
        <guid isPermaLink="false">http://localhost/ticket/2486</guid>
        <category>Report</category>
      </item><item>
                  <title>#2508: Make it possible to run CKAN tests for each language</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 11 Jun 2012 10:42:15 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 14:32:51 GMT</pubDate>
                  <description>&lt;p&gt;
Mistakes in translated strings can cause CKAN to crash or otherwise not work, but it's not practical to manually test every page and function of CKAN in every language that we have new translations for before a CKAN release. It'd be great if the tests could automatically be run for each language.
&lt;/p&gt;
&lt;p&gt;
This is probably a big job, we would have to get the tests to respect a language setting in the ini file, check for any individual test cases that specify the language (e.g. in the URL), and also fix test cases that look for specific English words in HTML output, etc.
&lt;/p&gt;
&lt;p&gt;
In the meantime, a good stop-gap solution might be a script that tests for common mistakes in the po files.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2508</link>
        <guid isPermaLink="false">http://localhost/ticket/2508</guid>
        <category>Report</category>
      </item><item>
                  <title>#2513: Dataproxy should not default to utf8</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 13 Jun 2012 08:23:40 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 10:54:06 GMT</pubDate>
                  <description>&lt;p&gt;
Unless explicitly told by the source web server the dataproxy should not assume that the content it has can be encoded as UTF-8.  Even though the chars from 128 - 255 overlap an attempt to decode some byte array as utf8 will fail whenever a latin1 char whose bitpattern has the MSB set.
&lt;/p&gt;
&lt;p&gt;
This will mean that the UTF8Recoder can be more rigid in its acceptance of data, Postel aside.
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2513</link>
        <guid isPermaLink="false">http://localhost/ticket/2513</guid>
        <category>Report</category>
      </item><item>
                  <title>#2531: New state option: archived / deprecated</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 08:59:47 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 14:30:49 GMT</pubDate>
                  <description>&lt;p&gt;
Deleted means things will get purged at some point.
&lt;/p&gt;
&lt;p&gt;
Archived means they stay around but get hidden from search results and a big warning notice gets displayed saying this is archived / deprecated.
&lt;/p&gt;
&lt;p&gt;
@richard cyganiak ...
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2531</link>
        <guid isPermaLink="false">http://localhost/ticket/2531</guid>
        <category>Report</category>
      </item><item>
                  <title>#2546: ODS Managing homepage content</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 18 Jun 2012 10:54:02 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 09:10:37 GMT</pubDate>
                  <description>&lt;h2 id="Requirements"&gt;Requirements&lt;/h2&gt;
&lt;p&gt;
Require the ability for users to control some level of content that is visible on the home page of their ODS installation.  This may be through RSS/Atom feeds (see &lt;a class="assigned ticket" href="http://localhost/ticket/2234" title="enhancement: Write a CKAN extension for pulling items from RSS/Atom feeds into CKAN ... (assigned)"&gt;#2234&lt;/a&gt;) or another mechanism but should result in admins being able to change blocks of text on their homepage.
&lt;/p&gt;
&lt;p&gt;
This should not be configuration, but accessible through WUI.
&lt;/p&gt;
&lt;h2 id="Interface"&gt;Interface&lt;/h2&gt;
&lt;p&gt;
None
&lt;/p&gt;
&lt;h2 id="UserStories"&gt;User Stories&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;As a system administrator I want to have control over content displayed on the front page beyond featured/popular items.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;As a system administrator I don't want to manage content through having to write an extension.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;/p&gt;
&lt;h2 id="Tasks"&gt;Tasks&lt;/h2&gt;
&lt;p&gt;
[ ] Analysis
&lt;/p&gt;
&lt;h2 id="Estimates"&gt;Estimates&lt;/h2&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2546</link>
        <guid isPermaLink="false">http://localhost/ticket/2546</guid>
        <category>Report</category>
      </item><item>
                  <title>#2554: Research Virtuoso cartridges</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 18 Jun 2012 13:37:25 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 11:07:13 GMT</pubDate>
                  <description>&lt;p&gt;
Look into writing a cartridge for importing CKAN data into a Virtuoso quadstore
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSponger#How"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSponger#How&lt;/a&gt; Does It Work?
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2554</link>
        <guid isPermaLink="false">http://localhost/ticket/2554</guid>
        <category>Report</category>
      </item><item>
                  <title>#2607: 'Upload a file' appears on resource form when storage not enabled</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 27 Jun 2012 13:30:08 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 09:09:43 GMT</pubDate>
                  <description>&lt;p&gt;
if the user tries to upload a file they will get "Failed to get credentials for storage upload. Upload cannot proceed"
&lt;/p&gt;
&lt;p&gt;
Maybe add a test for it this time, this bug has appeared and reappeared before
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2607</link>
        <guid isPermaLink="false">http://localhost/ticket/2607</guid>
        <category>Report</category>
      </item><item>
                  <title>#2732: New file upload functionality</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 23 Jul 2012 15:53:09 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 09:07:50 GMT</pubDate>
                  <description>&lt;p&gt;
We should simplify upload and storage of files, initially only to local storage with archiver eventually being fixed to archive data externally. WIP pad is &lt;a class="ext-link" href="http://ckan.okfnpad.org/uploads"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://ckan.okfnpad.org/uploads&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Simplifying uploads&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Currently uploads are too painful/difficult/fiddly to use and/or configure.  We want to simplify uploads so that they are done directly to the CKAN server, without support for remote services (S3 etc) and/or the dependencies it introduces.
&lt;/p&gt;
&lt;p&gt;
We want to fix:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;File uploads themselves
&lt;/li&gt;&lt;li&gt;Storage of uploaded files
&lt;/li&gt;&lt;li&gt;Notification of the upload to other components
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;strong&gt;File uploads&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
Things file upload should do:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Allow sysadmin to disable
&lt;/li&gt;&lt;li&gt;Allow auth'ed users to upload
&lt;/li&gt;&lt;li&gt;Store whatever they send on disk, and store DB entry linking the file to the person
&lt;/li&gt;&lt;li&gt;When creating the resource, the user should be able to choose from all of the files
they have uploaded but not yet associated with a resource. This will allow for bulk
upload and then a delayed association.  Whenver a user creates a resource they
either upload a file now, or see previously uploaded files.
&lt;/li&gt;&lt;/ul&gt;&lt;pre class="wiki"&gt;Can we do the upload asynchronously and then associate the
uploaded key with the resource before the save ? What happens
if the user tries to submit before asymc upload finishes ? Should
we delay them?
&lt;/pre&gt;&lt;p&gt;
The upload workflow should look like...
&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;File upload should be a straightforward file upload with normal auth checks and normal processing of the posted data.
&lt;/li&gt;&lt;li&gt;
&lt;ol class="loweralpha"&gt;&lt;li&gt;When called via ajax then the ID of the newly created file should be returned,
&lt;/li&gt;&lt;li&gt;When called via WUI then it should also be given the url to redirect to after the file upload has been handled - the id will be passed as a query param.
&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;The resource save should check whether it has a file id and in that case updates the file object to point to the resource.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
This should enable:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Separate file upload into a user's temporary store, either individually or as a batch.
&lt;/li&gt;&lt;li&gt;Creating resources and simply choosing from previously uploaded, unassigned files
&lt;/li&gt;&lt;li&gt;Adding files/data to a resource after the fact.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;File storage&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
File storage should be local to the CKAN install, and not a remote service.  Any archiving to remove storage providers should be outside of the main request.
&lt;/p&gt;
&lt;p&gt;
File storage should:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;allow moving data, a sysadmin should be able to move the storage root and change configuration and  have the system continue running (i.e. don't store absolute paths).
&lt;/li&gt;&lt;li&gt;provide maintainability, it should be easy to determine which old files are not associated with resources  and thus can be cleaned up.
&lt;/li&gt;&lt;li&gt;allow for collection of information (i.e. estimate of storate space used)
&lt;/li&gt;&lt;li&gt;check whether there is enough space and handling the conequences cleanly
&lt;/li&gt;&lt;li&gt;ensure files to be written only underneath its own root folder, checks should be made after any path generation that the file begins with the location of the file storage.
&lt;/li&gt;&lt;li&gt;Have a configurable maximum accepted blob size during upload.
&lt;/li&gt;&lt;li&gt;Should store what meta-data was provided with the upload, such as mimetype.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Somewhere in the DB we should store ...
&lt;/p&gt;
&lt;table class="wiki"&gt;
&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Column&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Notes&lt;/strong&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;id&lt;/td&gt;&lt;td&gt;An identifier
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;owner&lt;/td&gt;&lt;td&gt;The owning user, who uploaded the file
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;path&lt;/td&gt;&lt;td&gt;The path (from the 'storage root') to the file
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;size&lt;/td&gt;&lt;td&gt;The size in bytes of the file on disk
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;mimetype&lt;/td&gt;&lt;td&gt;The mimetype of the file, as provided by the uploader
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;upload_date&lt;/td&gt;&lt;td&gt;When the data was uploaded
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;resource&lt;/td&gt;&lt;td&gt;The ID of the resource it belongs to. A unidirectional relationship.
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;archived_url&lt;/td&gt;&lt;td&gt;The URL where this file has been archived
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;p&gt;
Generating paths should try and separate the files, perhaps based on username of the owner, or some other mechanism to avoid a single folder full of files.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Notifications&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
We need to make sure that it is possible to notify other components within the system that an upload has taken place, or at least make it easy for them to be notified.  The primary use case for this is to notify the component that will translate/upload certain formats to the data store.
&lt;/p&gt;
&lt;p&gt;
We could do this based on the post-upload update to the file model (i.e. when we record the total received size of the file).
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2732</link>
        <guid isPermaLink="false">http://localhost/ticket/2732</guid>
        <category>Report</category>
      </item><item>
                  <title>#2960: Private datasets are not private</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 08 Oct 2012 11:04:15 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 08 Oct 2012 11:04:15 GMT</pubDate>
                  <description>&lt;p&gt;
At the moment everyone can read all resources. There is no support for hiding resources that are in private datasets.
&lt;/p&gt;
</description>
                  
        <dc:creator>dominik</dc:creator>

        <link>http://localhost/ticket/2960</link>
        <guid isPermaLink="false">http://localhost/ticket/2960</guid>
        <category>Report</category>
      </item><item>
                  <title>#2962: Search across multiple ckan instances</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 08 Oct 2012 22:50:22 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 08 Oct 2012 22:50:22 GMT</pubDate>
                  <description>&lt;p&gt;
Could be done by:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;using the solr distributed search
&lt;ul&gt;&lt;li&gt;difficult set up
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;merging result sets from apis
&lt;ul&gt;&lt;li&gt;make sure that results can be merged properly (score, facets, ...)
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>dominik</dc:creator>

        <link>http://localhost/ticket/2962</link>
        <guid isPermaLink="false">http://localhost/ticket/2962</guid>
        <category>Report</category>
      </item><item>
                  <title>#1165: Add multi-site support to ckan</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 May 2011 12:41:07 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 15:34:26 GMT</pubDate>
                  <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>
                  
        <dc:creator>nils.toedtmann</dc:creator>

        <link>http://localhost/ticket/1165</link>
        <guid isPermaLink="false">http://localhost/ticket/1165</guid>
        <category>Report</category>
      </item><item>
                  <title>#1457: Bug with DataNL instance</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 10 Nov 2011 11:37:21 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 10 Nov 2011 11:37:21 GMT</pubDate>
                  <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>
                  
        <dc:creator>jilly.mathews</dc:creator>

        <link>http://localhost/ticket/1457</link>
        <guid isPermaLink="false">http://localhost/ticket/1457</guid>
        <category>Report</category>
      </item><item>
                  <title>#1596: Refactor authz roles</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 22 Dec 2011 10:31:28 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:36:59 GMT</pubDate>
                  <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>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1596</link>
        <guid isPermaLink="false">http://localhost/ticket/1596</guid>
        <category>Report</category>
      </item><item>
                  <title>#1740: Get rid of `from module import ...`</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 01 Feb 2012 11:06:09 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 01 Feb 2012 11:14:44 GMT</pubDate>
                  <description>&lt;p&gt;
It's really bad to do &lt;tt&gt;from module import *&lt;/tt&gt; and CKAN has a lot of them. I suggest a three-pronged approach:
&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Don't add any more of them.
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="2"&gt;&lt;li&gt;When you're programming if you see an easy opportunity to remove one then do so.
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="3"&gt;&lt;li&gt;At some point we should task someone to go through the code and remove them all (which is what this ticket is for), but this will be a big job and may break things.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
We should also get rid of most or all of the &lt;tt&gt;from module import foo&lt;/tt&gt; and &lt;tt&gt;from module import foo, bar&lt;/tt&gt; statements.
&lt;/p&gt;
&lt;p&gt;
I think the right thing to do is just &lt;tt&gt;import module&lt;/tt&gt; and then use &lt;tt&gt;module.foo&lt;/tt&gt; in your code. But if you find yourself doing &lt;tt&gt;module.foo.bar&lt;/tt&gt; then you may have a code smell.
&lt;/p&gt;
&lt;p&gt;
See: &lt;a class="ext-link" href="http://docs.python.org/dev/howto/doanddont.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.python.org/dev/howto/doanddont.html&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/1740</link>
        <guid isPermaLink="false">http://localhost/ticket/1740</guid>
        <category>Report</category>
      </item><item>
                  <title>#1749: Allow creating activity details through API</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sun, 05 Feb 2012 18:10:06 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 14:05:33 GMT</pubDate>
                  <description>&lt;p&gt;
Currently the activity_create() logic action function only lets you create top-level activity stream items, and not their related activity details. It should handle activity details via nested dicts.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/1749</link>
        <guid isPermaLink="false">http://localhost/ticket/1749</guid>
        <category>Report</category>
      </item><item>
                  <title>#1787: [super] Improve RESTful API</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 08 Feb 2012 11:54:42 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 08 Feb 2012 11:54:42 GMT</pubDate>
                  <description>&lt;ul&gt;&lt;li&gt;Lists of entities should be full URLs, rather than just the names
&lt;/li&gt;&lt;li&gt;Discoverability - /api/v3/rest should list the entity types that can be listed
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
This could be v3 of the RESTful interface.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1787</link>
        <guid isPermaLink="false">http://localhost/ticket/1787</guid>
        <category>Report</category>
      </item><item>
                  <title>#1790: Click to delete tags, rather than have all existing tags in the tag text box</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 10 Feb 2012 15:44:34 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 10 Feb 2012 15:44:34 GMT</pubDate>
                  <description>&lt;p&gt;
From Pablo:
&lt;/p&gt;
&lt;p&gt;
Editing the tags field is clumsy when there are too many tags. Could
show existing effectively as tags (like delicious), then allow clicks
to delete. New tags added via text box.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/1790</link>
        <guid isPermaLink="false">http://localhost/ticket/1790</guid>
        <category>Report</category>
      </item><item>
                  <title>#1800: Tidy up *_list() and *_search() functions in ckan/logic/action/get.py</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Feb 2012 15:12:09 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:34:46 GMT</pubDate>
                  <description>&lt;p&gt;
For consistency all the *_list() functions should list objects only and not accept an optional search query. There should be *_search() functions whenever search is needed.
&lt;/p&gt;
&lt;p&gt;
Currently it is inconsistent, e.g. package_list() and resource_list() do not accept a search query option and there are package_search() and resource_search(), but user_list() does accept a query and there is no user_search(). tag_list() also accepts a query, and there is also a tag_search() that apparently duplicates the search functionality.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/1800</link>
        <guid isPermaLink="false">http://localhost/ticket/1800</guid>
        <category>Report</category>
      </item><item>
                  <title>#1824: Add vocabulary pages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 21 Feb 2012 17:24:49 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:35:58 GMT</pubDate>
                  <description>&lt;p&gt;
For a free tag foo you can visit the page at /tag/foo and see a list of all the datasets that have the tag foo, and when the tag appears on dataset view pages etc. it's linked to this tag page.
&lt;/p&gt;
&lt;p&gt;
We should do the same thing for vocabulary tags. A tag bar in vocabulary baz should be hyperlinked to a page /tag/baz/bar, or perhaps /vocab/baz/bar.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/1824</link>
        <guid isPermaLink="false">http://localhost/ticket/1824</guid>
        <category>Report</category>
      </item><item>
                  <title>#2202: Display page view count on dataset and resource pages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 03 Mar 2012 09:04:15 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:35:29 GMT</pubDate>
                  <description>&lt;p&gt;
Just like we display download counts we should display view counts.
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2202</link>
        <guid isPermaLink="false">http://localhost/ticket/2202</guid>
        <category>Report</category>
      </item><item>
                  <title>#2234: Write a CKAN extension for pulling items from RSS/Atom feeds into CKAN templates</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 16 Mar 2012 12:59:15 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 10:52:47 GMT</pubDate>
                  <description>&lt;p&gt;
You configure the extension with some RSS and/or Atom feeds, it automatically reads items from these feeds and makes them available in the template context, you write a custom template to e.g. display 'news' items from a Wordpress blog on your front page.
&lt;/p&gt;
&lt;p&gt;
This extension might be simpler and less fragile than ckanext-wordpresser, and also more generally useful.
&lt;/p&gt;
&lt;p&gt;
Details
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Mark Pilgrim's Universal Feed Parser might be useful for reading the feeds
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Feed items should probably be cached somewhere
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Suggested
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;The news item 'widget' should be wrapped in a known class so that it can be styled easily regardless of the format of any HTML entry.
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;For non-HTML formatted items (Atom should tell you the content type of the entry) maybe we should have a template for rendering each item along with any enclosures that it might reference
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Caching is pretty crucial and should probably obey the ttl of the feed.
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2234</link>
        <guid isPermaLink="false">http://localhost/ticket/2234</guid>
        <category>Report</category>
      </item><item>
                  <title>#2235: Group drop down on dataset edit should use chosen and sort groups by name</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 16 Mar 2012 14:15:57 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:32:06 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2235</link>
        <guid isPermaLink="false">http://localhost/ticket/2235</guid>
        <category>Report</category>
      </item><item>
                  <title>#2258: Customizable contributor agreement</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 26 Mar 2012 08:45:49 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 28 May 2012 11:32:27 GMT</pubDate>
                  <description>&lt;ul&gt;&lt;li&gt;Customize text at bottom of forms
&lt;/li&gt;&lt;li&gt;Also need to make clear that this does not apply to the data itself (that is covered by the license you choose on your dataset ...)
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2258</link>
        <guid isPermaLink="false">http://localhost/ticket/2258</guid>
        <category>Report</category>
      </item><item>
                  <title>#2265: 'More Like This' for a dataset</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 27 Mar 2012 16:20:20 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 14:42:30 GMT</pubDate>
                  <description>&lt;p&gt;
When viewing a dataset, it would be nice to show a couple of 'Related Datasets'. i.e. ones that are similar.
&lt;/p&gt;
&lt;p&gt;
SOLR has a feature for finding documents similar to a particular document, called 'More Like This'.
&lt;/p&gt;
&lt;p&gt;
We would like this for DGU.
&lt;/p&gt;
</description>
                  
        <dc:creator>dread</dc:creator>

        <link>http://localhost/ticket/2265</link>
        <guid isPermaLink="false">http://localhost/ticket/2265</guid>
        <category>Report</category>
      </item><item>
                  <title>#2287: Consistent datetime and time period strings localization</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 12 Apr 2012 18:08:43 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 11 Jun 2012 10:44:05 GMT</pubDate>
                  <description>&lt;p&gt;
Find all places where date, times and time periods are rendered as strings in CKAN. Make them all go through the same code path (e.g. the helper function in helpers.py) with localization support.
&lt;/p&gt;
&lt;p&gt;
For example, on the user index page right now there are time period strings like "less than 1 month" that currently do not get translated (and the way they're implemented doesn't look i18n-friendly).
&lt;/p&gt;
&lt;p&gt;
ISO date format everywhere might be a good idea.
&lt;/p&gt;
&lt;p&gt;
Need to consider local timezone issues.
&lt;/p&gt;
&lt;p&gt;
Python standard library and Babel may have useful helpers for this.
&lt;/p&gt;
&lt;p&gt;
Should the local timezone displayed be a global setting per CKAN instance? Or should it change depending on the location of the user who is viewing the page?
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2287</link>
        <guid isPermaLink="false">http://localhost/ticket/2287</guid>
        <category>Report</category>
      </item><item>
                  <title>#2378: Extract metadata directly from resources that contain it.</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 10 May 2012 11:58:08 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 10:59:45 GMT</pubDate>
                  <description>&lt;p&gt;
Some files that might be uploaded as resources on a dataset, such as some image formats, already contain metadata.  For example some jpeg files might contain Exif ( &lt;a class="ext-link" href="http://en.wikipedia.org/wiki/Exchangeable_image_file_format"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://en.wikipedia.org/wiki/Exchangeable_image_file_format&lt;/a&gt; ) data.
&lt;/p&gt;
&lt;p&gt;
[ ] Obtain list of embedded metadata 'standards'
&lt;/p&gt;
&lt;p&gt;
[ ] Where the metadata is available it  should be added as extra fields on the resource that is uploaded.
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
[ ] HTML?
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
[ ] Image formats (exif/gif etc)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
[ ] PDF
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
[ ] Eventually consider ...
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
[ ] MS Office documents
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2378</link>
        <guid isPermaLink="false">http://localhost/ticket/2378</guid>
        <category>Report</category>
      </item><item>
                  <title>#2404: Auto-screenshot for related items</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 21 May 2012 06:55:47 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 10:52:06 GMT</pubDate>
                  <description>&lt;p&gt;
As a User I want an image generated for my related item automatically so that I do not have to take picture myself and upload it somewhere
&lt;/p&gt;
&lt;p&gt;
Implementation: (?) Use phantomjs or something like &lt;a class="ext-link" href="http://snapito.com/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://snapito.com/&lt;/a&gt;
Investigate for 1.8, will be needed for TDH Oct.
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2404</link>
        <guid isPermaLink="false">http://localhost/ticket/2404</guid>
        <category>Report</category>
      </item><item>
                  <title>#2552: Controlling access to features</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 18 Jun 2012 11:26:10 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 03 Sep 2012 10:52:24 GMT</pubDate>
                  <description>&lt;h2 id="Requirements"&gt;Requirements&lt;/h2&gt;
&lt;p&gt;
To provide a freemium service it is necessary to be able to provide differing &lt;span class="underline"&gt;levels&lt;/span&gt; of functionality based on the &lt;strong&gt;type&lt;/strong&gt; of user (see &lt;a class="assigned ticket" href="http://localhost/ticket/2550" title="enhancement: User types (assigned)"&gt;#2550&lt;/a&gt;). These levels can be specific to the data hub but may require overriding functionality from core to provide these checks.
&lt;/p&gt;
&lt;p&gt;
Initial implementation should focus on limiting access to datastore disk space.
&lt;/p&gt;
&lt;h2 id="Interface"&gt;Interface&lt;/h2&gt;
&lt;p&gt;
These changes are currently only for the data hub and should be kept as much as possible within the data hub extension.
&lt;/p&gt;
&lt;h2 id="UserStories"&gt;User Stories&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;As a system component I want to find out if the current user has access to a feature (i.e. storage) and if so to what extent (xMb, xGb or unlimited).
&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;As a system administrator I don't expect to need to manage the levels of users &lt;strong&gt;or&lt;/strong&gt; the features that this applies to.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
&lt;/p&gt;
&lt;h2 id="Tasks"&gt;Tasks&lt;/h2&gt;
&lt;p&gt;
[ ] Clarification of requirements/analysis
&lt;/p&gt;
&lt;p&gt;
[ ] Tests
&lt;/p&gt;
&lt;p&gt;
[ ] Code
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
[ ] Model
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
[ ] API
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
[ ] UI
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
[ ] Documentation
&lt;/p&gt;
&lt;h2 id="Estimates"&gt;Estimates&lt;/h2&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2552</link>
        <guid isPermaLink="false">http://localhost/ticket/2552</guid>
        <category>Report</category>
      </item><item>
                  <title>#2573: package_search does not allow solr's per-field facet parameters</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 19 Jun 2012 13:27:19 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 14:05:01 GMT</pubDate>
                  <description>&lt;p&gt;
Solr allows its facet parameters to be specified on a per-field basis, eg. &lt;tt&gt;facet.limit&lt;/tt&gt; applies to &lt;em&gt;all&lt;/em&gt; facet fields, but solr allows it to be overriden for a specific field, eg. &lt;tt&gt;facet.tags.limit&lt;/tt&gt;.
&lt;/p&gt;
&lt;p&gt;
We don't support this at the moment because we have a whitelist of valid solr query parameters that we accept.  See &lt;tt&gt;ckan.lib.search.query.VALID_SOLR_PARAMETERS&lt;/tt&gt;.
&lt;/p&gt;
</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2573</link>
        <guid isPermaLink="false">http://localhost/ticket/2573</guid>
        <category>Report</category>
      </item><item>
                  <title>#2810: heroku ckan support</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 07 Aug 2012 18:40:58 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 07 Aug 2012 18:40:58 GMT</pubDate>
                  <description>&lt;p&gt;
Get ckan working on heroku
&lt;/p&gt;
</description>
                  
        <dc:creator>kindly</dc:creator>

        <link>http://localhost/ticket/2810</link>
        <guid isPermaLink="false">http://localhost/ticket/2810</guid>
        <category>Report</category>
      </item><item>
                  <title>#2761: Document all the errors you can get when setting up filestore, and how to fix them</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 Jul 2012 11:36:06 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 Jul 2012 11:36:06 GMT</pubDate>
                  <description>&lt;p&gt;
Add it to a 'Troubleshooting' section on the filestore page: &lt;a class="ext-link" href="http://docs.ckan.org/en/ckan-1.7.1/filestore.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.ckan.org/en/ckan-1.7.1/filestore.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
For the error messages and their solutions, see various threads on ckan-dev
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2761</link>
        <guid isPermaLink="false">http://localhost/ticket/2761</guid>
        <category>Report</category>
      </item><item>
                  <title>#2762: test_related.py crashes</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 Jul 2012 11:55:53 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 Jul 2012 11:55:53 GMT</pubDate>
                  <description>&lt;p&gt;
/home/seanh/Projects/ckan/ckan/ckan/tests/functional/test_related.py
&lt;/p&gt;
&lt;p&gt;
&lt;a class="missing wiki"&gt;ImportError?&lt;/a&gt; (cannot import name assert_regexp_matches)
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2762</link>
        <guid isPermaLink="false">http://localhost/ticket/2762</guid>
        <category>Report</category>
      </item><item>
                  <title>#2919: Remove IController from docs</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 12 Sep 2012 14:47:33 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 12 Sep 2012 14:47:33 GMT</pubDate>
                  <description>&lt;p&gt;
Still in docs but seems gone from code
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2919</link>
        <guid isPermaLink="false">http://localhost/ticket/2919</guid>
        <category>Report</category>
      </item><item>
                  <title>#2936: Updating a group via the API clears its packages</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 19 Sep 2012 09:47:46 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 19 Sep 2012 09:47:46 GMT</pubDate>
                  <description>&lt;p&gt;
If the group dict that you post to the API does not have any 'packages' key then all the group's packages get removed. I think it would be better if you could just update e.g. the group's description without having to also post the list of packages, and apparently this is how other update API actions work.
&lt;/p&gt;
&lt;p&gt;
Might be worth checking all the update API actions for this behaviour, and making sure they're all consistent
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2936</link>
        <guid isPermaLink="false">http://localhost/ticket/2936</guid>
        <category>Report</category>
      </item><item>
                  <title>#2958: Uploading files with unicode characters in filename fails in CKAN 1.7 and 1.8</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 04 Oct 2012 09:29:36 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 04 Oct 2012 09:29:36 GMT</pubDate>
                  <description>&lt;p&gt;
e.g. 2012_08(주요국가).xls
&lt;/p&gt;
&lt;p&gt;
I tested in CKAN 2.0 and it seemed to work fine there.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2958</link>
        <guid isPermaLink="false">http://localhost/ticket/2958</guid>
        <category>Report</category>
      </item><item>
                  <title>#2965: Stats extension broken on 1.8</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:15:41 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 10:15:57 GMT</pubDate>
                  <description>&lt;ul&gt;&lt;li&gt;Graphs not showing (looks like a flot related file is missing)
&lt;/li&gt;&lt;li&gt;Wrong groups counts (e.g. Data Explorer Examples show 1800 datasets when it onlu has 8)
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/2965</link>
        <guid isPermaLink="false">http://localhost/ticket/2965</guid>
        <category>Report</category>
      </item><item>
                  <title>#3003: New pg databases should be created with UTF8 encoding rather than system default</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 19 Oct 2012 09:33:19 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 19 Oct 2012 09:33:19 GMT</pubDate>
                  <description>&lt;p&gt;
Just to track @tauberer patch on Github.
Probably going to 1.8.1
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/3003</link>
        <guid isPermaLink="false">http://localhost/ticket/3003</guid>
        <category>Report</category>
      </item><item>
                  <title>#2763: Multilingual tests failing</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 Jul 2012 11:56:59 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 12:24:24 GMT</pubDate>
                  <description>&lt;p&gt;
test_multilingual_plugin.&lt;a class="missing wiki"&gt;TestDatasetTermTranslation?&lt;/a&gt;.test_dataset_index_translation, test_multilingual_plugin.&lt;a class="missing wiki"&gt;TestDatasetTermTranslation?&lt;/a&gt;.test_group_read_translation both failing for me on master
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2763</link>
        <guid isPermaLink="false">http://localhost/ticket/2763</guid>
        <category>Report</category>
      </item><item>
                  <title>#2846: Organizations allows you to set an organization as the parent organization of itself</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 13 Aug 2012 12:22:16 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 12:24:04 GMT</pubDate>
                  <description>&lt;p&gt;
that doesn't make any sense
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2846</link>
        <guid isPermaLink="false">http://localhost/ticket/2846</guid>
        <category>Report</category>
      </item><item>
                  <title>#2881: Remove or improve 'Domain Model' docs page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 21 Aug 2012 09:05:17 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 22 Aug 2012 09:00:56 GMT</pubDate>
                  <description>&lt;p&gt;
&lt;a class="ext-link" href="http://docs.ckan.org/en/ckan-1.8/domain-model.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.ckan.org/en/ckan-1.8/domain-model.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Currently not very useful. Also these pages:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://docs.ckan.org/en/latest/domain-model-dataset.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.ckan.org/en/latest/domain-model-dataset.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://docs.ckan.org/en/latest/domain-model-resource.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.ckan.org/en/latest/domain-model-resource.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://docs.ckan.org/en/latest/domain-model-task-status.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.ckan.org/en/latest/domain-model-task-status.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
This just seems very incomplete to me (surely there is more to the domain model the dataset, resource and task status?) and very likely to not get updated as changes are mode to the code. Would anyone seriously refer to this rather than just looking at the source code?
&lt;/p&gt;
&lt;p&gt;
If we want to have something along these lines in the docs, I suggest adding docstrings to packages, modules, classes and methods and then using autodoc to pull them into sphinx.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2881</link>
        <guid isPermaLink="false">http://localhost/ticket/2881</guid>
        <category>Report</category>
      </item><item>
                  <title>#2882: Remove User Stories Overview from docs?</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 21 Aug 2012 09:18:43 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 21 Aug 2012 09:18:43 GMT</pubDate>
                  <description>&lt;p&gt;
Why is this here? Is it up to date? Is anyone keeping it up to date? Does this belong in some sort of CKAN planning or roadmap document rather than in the documentation?
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://docs.ckan.org/en/latest/user-stories.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.ckan.org/en/latest/user-stories.html&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2882</link>
        <guid isPermaLink="false">http://localhost/ticket/2882</guid>
        <category>Report</category>
      </item><item>
                  <title>#2883: Add high level dev overview to 'For CKAN Developers' section of docs</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 21 Aug 2012 10:52:35 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 22 Aug 2012 10:04:50 GMT</pubDate>
                  <description>&lt;p&gt;
Here's a draft: &lt;a class="ext-link" href="https://gist.github.com/3414107"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://gist.github.com/3414107&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2883</link>
        <guid isPermaLink="false">http://localhost/ticket/2883</guid>
        <category>Report</category>
      </item><item>
                  <title>#2884: Lock icon shown next to unknown licenses</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 21 Aug 2012 16:01:13 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 21 Aug 2012 16:01:13 GMT</pubDate>
                  <description>&lt;p&gt;
Set the license of a dataset to blank (the first option) or to 'License Not Specified' or 'Other (Non-Commercial)' and a lock icon appears next to the license on the dataset read page. Shouldn't this be a question mark or something?
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2884</link>
        <guid isPermaLink="false">http://localhost/ticket/2884</guid>
        <category>Report</category>
      </item><item>
                  <title>#2890: Collect data previews and data store docs in one chapter</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 28 Aug 2012 10:20:36 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 28 Aug 2012 17:44:27 GMT</pubDate>
                  <description>&lt;p&gt;
Currently there is this page:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://docs.ckan.org/en/latest/data-viewer.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.ckan.org/en/latest/data-viewer.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
which covers Recline Data Explorer and other kinds of data preview in CKAN. It is under the Publishing Datasets section in the documentation. I had to to a search for 'recline' to find it.
&lt;/p&gt;
&lt;p&gt;
Separately there is this page: &lt;a class="ext-link" href="http://docs.ckan.org/en/ckan-1.7.1/datastore.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.ckan.org/en/ckan-1.7.1/datastore.html&lt;/a&gt; which covers datastore, datastorer, and the data api.
&lt;/p&gt;
&lt;p&gt;
I suggest collecting this together in one chapter called 'Data Previews'. If I understand it right the general gist would be:
&lt;/p&gt;
&lt;p&gt;
CKAN has builtin previews of data resources on resource pages, enabled by default.
&lt;/p&gt;
&lt;p&gt;
Images, Google Documents, and web page resources will be loaded into embedded iframes for preview.
&lt;/p&gt;
&lt;p&gt;
Text-like files will be displayed raw.
&lt;/p&gt;
&lt;p&gt;
CSV or Excel files uploaded to CKAN will be previewed using Recline Data Explorer.
&lt;/p&gt;
&lt;p&gt;
Additionally, you can enable CKAN's &lt;a class="missing wiki"&gt;DataStore?&lt;/a&gt;, requires you to install &lt;a class="missing wiki"&gt;ElasticSearch?&lt;/a&gt; and nginx and put datastore.enabled=1 in your ini file. Lets you use the Data API to query data.
&lt;/p&gt;
&lt;p&gt;
Does having &lt;a class="missing wiki"&gt;DataStore?&lt;/a&gt; enabled mean you get preview of more types of resources? Any resource that's available via the Data API will be previewed using Recline,
&lt;/p&gt;
&lt;p&gt;
You can install ckanext-datastorer, and then CSV and Excel files _linked to_ as CKAN resources will be previewed using Recline also. Requires celeryd.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2890</link>
        <guid isPermaLink="false">http://localhost/ticket/2890</guid>
        <category>Report</category>
      </item><item>
                  <title>#2891: Update or remove DataStore google presentation</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 28 Aug 2012 10:23:43 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 28 Aug 2012 11:42:57 GMT</pubDate>
                  <description>&lt;p&gt;
Currently this page:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://docs.ckan.org/en/ckan-1.8/datastore.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.ckan.org/en/ckan-1.8/datastore.html&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
has an embedded Google docs presentation about data store which contains some outdated information, e.g. links to datastoreclient which was merged into ckanclient.
&lt;/p&gt;
&lt;p&gt;
Suggest moving the google presentation into the documentation proper, so it works with grep etc.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2891</link>
        <guid isPermaLink="false">http://localhost/ticket/2891</guid>
        <category>Report</category>
      </item><item>
                  <title>#2892: IDatasetForm's form_to_db_schema() breaks API?</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 28 Aug 2012 11:42:05 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 28 Aug 2012 11:42:43 GMT</pubDate>
                  <description>&lt;p&gt;
It looks like when an IDatasetForm plugin with a form_to_db_schema() method is active, then the posted data dict is validated against the schema even if the user is posting to an API endpoint like /api/action/package_update etc. This breaks the API, for example 'name' and 'title' are optional keys for package_update (you can supply only the 'id'), but the schema validation will fail if either are not present in the posted dict.
&lt;/p&gt;
&lt;p&gt;
It may be we need different schema for package create and package update, currently IDatasetForm has just the one form_to_db_schema() method.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2892</link>
        <guid isPermaLink="false">http://localhost/ticket/2892</guid>
        <category>Report</category>
      </item><item>
                  <title>#2893: Tags missing from form_to_db_package_schema()</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 28 Aug 2012 12:11:04 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 28 Aug 2012 12:11:04 GMT</pubDate>
                  <description>&lt;p&gt;
With an IDatasetForm plugin active with a form_to_db_package_schema() method that returns a schema based on ckan/logic/schema.py:form_to_db_package_schema() I'm getting validation errors like this:
&lt;/p&gt;
&lt;p&gt;
[ckan.controllers.api] Validation error: "{'&lt;span class="underline"&gt;type': 'Validation Error', '&lt;/span&gt;junk': [u'The input field &lt;span class="underline"&gt;junk was not expected.']}"
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
They seem to be caused when a data dict with key 'tags' is passed to e.g. the package_update API, for example in ckan/tests/functional/api/model/test_vocabulary.py there are various tests that get this error when they call package_update (if you run the tests with a suitable IDatasetForm plugin active).
&lt;/p&gt;
&lt;p&gt;
In ckan/logic/schema.py:form_to_db_package_schema() 'tags' is for some reason deliberately removed from the schema.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2893</link>
        <guid isPermaLink="false">http://localhost/ticket/2893</guid>
        <category>Report</category>
      </item><item>
                  <title>#2894: Empty lists get stripped from package dicst in package_show()</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 28 Aug 2012 12:40:34 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 28 Aug 2012 12:40:34 GMT</pubDate>
                  <description>&lt;p&gt;
If there's an IDatasetForm plugin active with a form_to_db_schema(), then packages with e.g. no extras get the 'extras' key entirely stripped by the validation in package_show, which causes some tests to crash, e.g. in ckan/tests/functional/api/test_activity.py (if the tests are run with a suitable IDatasetForm plugin active).
&lt;/p&gt;
&lt;p&gt;
If a package has no extras the dict returned by package_show should still have an 'extras' key with an empty list as the value.
&lt;/p&gt;
&lt;p&gt;
Suspect this also effects packages with no tags, no groups, etc.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2894</link>
        <guid isPermaLink="false">http://localhost/ticket/2894</guid>
        <category>Report</category>
      </item><item>
                  <title>#2896: resource_create crashes on ValidationErrors with KeyError: 'resources'</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 29 Aug 2012 16:29:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 29 Aug 2012 16:29:14 GMT</pubDate>
                  <description>&lt;p&gt;
ckan/logic/action/create.py:resource_create():
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
try:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
pkg_dict = _get_action('package_update')(context, pkg_dict)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
except &lt;a class="missing wiki"&gt;ValidationError?&lt;/a&gt;, e:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
errors = e.error_dict&lt;a class="missing wiki"&gt;resources?&lt;/a&gt;[-1]
raise &lt;a class="missing wiki"&gt;ValidationError?&lt;/a&gt;(errors)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
This assumes that package_update always returns an error dict with 'resources' in it. This assumption doesn't hold.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2896</link>
        <guid isPermaLink="false">http://localhost/ticket/2896</guid>
        <category>Report</category>
      </item><item>
                  <title>#2897: db_to_form_package_schema() crashes historical dataset page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 30 Aug 2012 12:41:35 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 30 Aug 2012 12:41:35 GMT</pubDate>
                  <description>&lt;p&gt;
If there's an IDatasetForm plugin active with a db_to_form_schema() method based on db_to_form_package_schema(), then viewing historical versions of datasets (e.g. &lt;a class="ext-link" href="http://127.0.0.1:5000/dataset/dasd%402012-08-30T12%3A26%3A18.524191"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://127.0.0.1:5000/dataset/dasd%402012-08-30T12%3A26%3A18.524191&lt;/a&gt;) crashes.
&lt;/p&gt;
&lt;p&gt;
Reason is that revison_id and revision_timestamp need to be added to db_to_form_package_schema(), something like:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
schema.update({'revision_id': [validators.ignore_missing, unicode]})
schema.update({'revision_timestamp':
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
[validators.ignore_missing, unicode]})
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2897</link>
        <guid isPermaLink="false">http://localhost/ticket/2897</guid>
        <category>Report</category>
      </item><item>
                  <title>#2900: snippets/package_list.html template crashes on dataset that has no 'notes'</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 30 Aug 2012 14:00:07 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 30 Aug 2012 14:09:48 GMT</pubDate>
                  <description>&lt;p&gt;
Sometimes a dataset dict comes through package_show() with 'notes': None and then the 'notes' key gets stripped from the dict when validation happens (validation only happens if there's an IDatasetForm plugin with a db_to_form_schema() method) and then package_list.html template crashes, e.g. on user profile pages.
&lt;/p&gt;
&lt;p&gt;
Fix in the template? Or in the schema?
&lt;/p&gt;
&lt;p&gt;
The template also crashes on packages with no tags (empty list gets stripped from dict) and probably other empty fields as well
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2900</link>
        <guid isPermaLink="false">http://localhost/ticket/2900</guid>
        <category>Report</category>
      </item><item>
                  <title>#2912: ckanext/organizations: Neither public or private initially selected when adding dataset</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 10 Sep 2012 09:57:56 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 12:24:57 GMT</pubDate>
                  <description>&lt;p&gt;
When adding a dataset with the organizations extension on, neither the Public or the Private radio button is initially selected. Public should be selected.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2912</link>
        <guid isPermaLink="false">http://localhost/ticket/2912</guid>
        <category>Report</category>
      </item><item>
                  <title>#2914: Add form_to_db_schema_options() to IDatasetForm and IGroupForm</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 12 Sep 2012 10:29:55 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 15 Oct 2012 12:25:28 GMT</pubDate>
                  <description>&lt;p&gt;
This optional method is supported when creating or updating groups and packages and is used in &lt;a class="missing wiki"&gt;DefaultGroupForm?&lt;/a&gt; and &lt;a class="missing wiki"&gt;DefaultPackageForm?&lt;/a&gt;, but seems to be missing from the interfaces. Should be added with docstring.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2914</link>
        <guid isPermaLink="false">http://localhost/ticket/2914</guid>
        <category>Report</category>
      </item><item>
                  <title>#3006: Update translations from Transifex</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 29 Oct 2012 10:22:24 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 29 Oct 2012 10:22:24 GMT</pubDate>
                  <description>&lt;p&gt;
There are some new translations already on the CKAN 1.8 resource on Transifex already (e.g. 100% Norwegian translation I think). We should at least pull these from Transifex for 1.8.1, and may as well do a call for translations too.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/3006</link>
        <guid isPermaLink="false">http://localhost/ticket/3006</guid>
        <category>Report</category>
      </item><item>
                  <title>#1745: Dataset search UX improvements as of Jan 2012</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 02 Feb 2012 23:22:21 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 18 Jun 2012 15:29:18 GMT</pubDate>
                  <description>&lt;p&gt;
Changes to make search both more exploratory and more satisfying to use
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Search query build - &lt;a class="closed ticket" href="http://localhost/ticket/1603" title="enhancement: Search query builder (closed: duplicate)"&gt;#1603&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;Ability to add new facet fields "live"
&lt;/li&gt;&lt;li&gt;That is add fields which then contain faceted options (a bit like data.hri.fi)
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;(??) Autocomplete  / drop down on search (i.e. search while you type)
&lt;ul&gt;&lt;li&gt;Dubious about value / cost ratio here
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Probably would involve to pure JS and HTML implementation.
&lt;/p&gt;
&lt;h2 id="Implementation"&gt;Implementation&lt;/h2&gt;
&lt;p&gt;
Probably require
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt; API changes to expose solr style API directly &lt;a class="closed ticket" href="http://localhost/ticket/1737" title="enhancement: Expose solr-based search API (closed: fixed)"&gt;#1737&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/1745</link>
        <guid isPermaLink="false">http://localhost/ticket/1745</guid>
        <category>Report</category>
      </item><item>
                  <title>#2320: Introduce new state: archived</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 23 Apr 2012 20:12:29 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 11:35:19 GMT</pubDate>
                  <description>&lt;p&gt;
Some datasets become obsolete: e.g. &lt;a class="ext-link" href="http://datahub.io/dataset/uncdb"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://datahub.io/dataset/uncdb&lt;/a&gt; Do not want to delete them but want them marked as archived or deprecated or something.
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2320</link>
        <guid isPermaLink="false">http://localhost/ticket/2320</guid>
        <category>Report</category>
      </item><item>
                  <title>#2321: Use resource names/titles in URLs</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Tue, 24 Apr 2012 03:00:12 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 11:36:14 GMT</pubDate>
                  <description>&lt;p&gt;
Would make them much nicer but requires:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Ensure uniqueness (or deal with ambiguity)
&lt;/li&gt;&lt;li&gt;(?) Slug/names versus titles
&lt;ul&gt;&lt;li&gt;Aside: what is currently called name should probably be title
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2321</link>
        <guid isPermaLink="false">http://localhost/ticket/2321</guid>
        <category>Report</category>
      </item><item>
                  <title>#2324: Link API docs to relevant version not just latest</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 25 Apr 2012 10:58:52 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 17 Aug 2012 10:30:11 GMT</pubDate>
                  <description>&lt;p&gt;
The link to the API docs in the footer always points to the latests docs, which may not be correct for the particular CKAN version.
&lt;/p&gt;
&lt;p&gt;
Also, remove the 'API' link (to /api/1) as pointless and misleading
&lt;/p&gt;
</description>
                  
        <dc:creator>amercader</dc:creator>

        <link>http://localhost/ticket/2324</link>
        <guid isPermaLink="false">http://localhost/ticket/2324</guid>
        <category>Report</category>
      </item><item>
                  <title>#2328: Link to Catalog API for each Dataset, Group and Tag</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 26 Apr 2012 12:15:01 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 11:38:51 GMT</pubDate>
                  <description>&lt;p&gt;
At the moment no way for a normal user to find JSON versions of this material. Would it be worth adding back a link somewhere on the page?
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2328</link>
        <guid isPermaLink="false">http://localhost/ticket/2328</guid>
        <category>Report</category>
      </item><item>
                  <title>#2333: Introduce new resource type datastore</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Sat, 28 Apr 2012 22:16:00 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 11:41:13 GMT</pubDate>
                  <description>&lt;p&gt;
This is a resource that is *just* in the datastore. At the moment there are hacky ways to do this (create resource with meaningless URL etc) but we should do this properly:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;New Option: &lt;a class="missing wiki"&gt;DataStore?&lt;/a&gt; Table in add a resource form
&lt;/li&gt;&lt;li&gt;URL field is disabled (or points at /api/data or something rather pointless)
&lt;/li&gt;&lt;li&gt;Download button is disabled
&lt;ul&gt;&lt;li&gt;Better would be to find a way to serialize an ES table or stream it ...
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2333</link>
        <guid isPermaLink="false">http://localhost/ticket/2333</guid>
        <category>Report</category>
      </item><item>
                  <title>#2479: Meanings of Author and Maintainer fields are unclear</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 31 May 2012 08:28:18 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 14:38:35 GMT</pubDate>
                  <description>&lt;p&gt;
CKAN's default schema has fields for Author ('The name of the main contact, for enquiries about this particular dataset') and 'Maintainer ('another important contact person'). The distinction is not clear. Also the fields are often left blank.
&lt;/p&gt;
&lt;p&gt;
The roles that seems most important are those of the original owner/publisher of the data, and the person maintaining the CKAN record/copy of it. So I suggest:
&lt;/p&gt;
&lt;p&gt;
(1) Rename the fields 'Owner' and 'Maintainer'.
&lt;/p&gt;
&lt;p&gt;
(2) Change the explanatory text for the relevant fields:
&lt;/p&gt;
&lt;p&gt;
Owner: 'The person or organisation who create/collect/publish the data in this dataset.'
Owner e-mail: 'E-mail address for enquiries to the Owner named above.'
Maintainer: 'The person maintaining this dataset on [name of CKAN instance], if different from the above.'
Maintainer e-mail: 'E-mail address for enquiries to the Maintainer named above.'
&lt;/p&gt;
&lt;p&gt;
(3) When a logged-in user creates a new dataset, the main form should have a checkbox, checked by default, marked 'I am the maintainer of this dataset'. If checked, the Maintainer name and e-mail fields are populated from the user's profile.
&lt;/p&gt;
</description>
                  
        <dc:creator>markw</dc:creator>

        <link>http://localhost/ticket/2479</link>
        <guid isPermaLink="false">http://localhost/ticket/2479</guid>
        <category>Report</category>
      </item><item>
                  <title>#2480: Better message when dataset has no resources</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 31 May 2012 08:31:33 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 14:38:06 GMT</pubDate>
                  <description>&lt;p&gt;
If a dataset has no resources the resources list currently says
'(none)'.
&lt;/p&gt;
&lt;p&gt;
Here is a suggested improvement, provided that a maintainer is named: 'There are no data resources here yet. For information about this data, contact the dataset maintainer.'
&lt;/p&gt;
</description>
                  
        <dc:creator>markw</dc:creator>

        <link>http://localhost/ticket/2480</link>
        <guid isPermaLink="false">http://localhost/ticket/2480</guid>
        <category>Report</category>
      </item><item>
                  <title>#2483: Non-local resources should not have Download links</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 31 May 2012 12:52:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 14:37:23 GMT</pubDate>
                  <description>&lt;p&gt;
At present, a resource which is just a URL link to an external resource has a 'Download' button on the resource page. This gives the misleading impression that the resource is stored locally.
&lt;/p&gt;
&lt;p&gt;
This is related to another small UI issue: I think the URL of a resource should be much more prominent, not buried in the 'Additional Information' table.
&lt;/p&gt;
&lt;p&gt;
Suggested fix:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Put the URL prominently at the top of the resource page (above the preview) (and make it link to the resource)
&lt;/li&gt;&lt;li&gt;Disable the Download button unless the resource is stored locally.
&lt;/li&gt;&lt;/ul&gt;</description>
                  
        <dc:creator>markw</dc:creator>

        <link>http://localhost/ticket/2483</link>
        <guid isPermaLink="false">http://localhost/ticket/2483</guid>
        <category>Report</category>
      </item><item>
                  <title>#2529: DataHub (or CKAN) widgets</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 15 Jun 2012 08:47:29 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 11:48:37 GMT</pubDate>
                  <description>&lt;p&gt;
Simple widgets in pure JS. For example:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Count of datasets in a group (could generalise to a query but not sure how useful that is ...)
&lt;/li&gt;&lt;li&gt;Embeddable list of top X (5) datasets for a given query
&lt;/li&gt;&lt;li&gt;Embeddable list of *my* datasets
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Either these live at: {site}/widgets and we have some kind of generator (form where I choose my group, or my query).
&lt;/p&gt;
&lt;p&gt;
Or: we have this attached to areas of site where relevant.
&lt;/p&gt;
&lt;p&gt;
Can combine the 2 so that the latter links to the former. Think first will be easier to do and possibly more useful long-term (e.g. can just link people to that page).
&lt;/p&gt;
&lt;p&gt;
Cf. &lt;a class="ext-link" href="http://okfnlabs.org/ckanjs/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://okfnlabs.org/ckanjs/&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>rgrp</dc:creator>

        <link>http://localhost/ticket/2529</link>
        <guid isPermaLink="false">http://localhost/ticket/2529</guid>
        <category>Report</category>
      </item><item>
                  <title>#2543: facet.sort is not available in the package_search action</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 18 Jun 2012 09:55:35 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 14:04:51 GMT</pubDate>
                  <description>&lt;p&gt;
Not all solr facet parameters are available through the pcakage_search action.  In particular, &lt;tt&gt;facet.sort&lt;/tt&gt; has been asked for; but this ticket should check to see if there are other parameters that would be easy to add too.
&lt;/p&gt;
&lt;p&gt;
See: &lt;a class="ext-link" href="http://wiki.apache.org/solr/SimpleFacetParameters#facet.sort"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://wiki.apache.org/solr/SimpleFacetParameters#facet.sort&lt;/a&gt;
&lt;/p&gt;
</description>
                  
        <dc:creator>icmurray</dc:creator>

        <link>http://localhost/ticket/2543</link>
        <guid isPermaLink="false">http://localhost/ticket/2543</guid>
        <category>Report</category>
      </item><item>
                  <title>#2585: Escape solr control characters in search queries, add advanced search screen</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 22 Jun 2012 10:26:13 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 25 Jun 2012 11:51:18 GMT</pubDate>
                  <description>&lt;p&gt;
Suggestion from David Read:
&lt;/p&gt;
&lt;p&gt;
We noticed that some search queries produce unexpected search results in CKAN, due to them containing special characters. For example if you were to search for "Spend over £25,000 - NHS Leeds" then it would not come up with the dataset with that exact name. It was excluding datasets with the word "NHS" due to the dash/minus sign. It works fine if you escape the minus sign: "Spend over £25,000 \- NHS Leeds".
&lt;/p&gt;
&lt;p&gt;
So in data.gov.uk I've added escaping of such control characters in
our plugin and this useful routine:
&lt;/p&gt;
&lt;p&gt;
&lt;a class="ext-link" href="http://fragmentsofcode.wordpress.com/2010/03/10/escape-special-characters-for-solrlucene-query/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://fragmentsofcode.wordpress.com/2010/03/10/escape-special-characters-for-solrlucene-query/&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Perhaps you would consider providing this in CKAN core in future?
&lt;/p&gt;
&lt;p&gt;
I think there is an occasional case when power users would want to use the special characters - brackets, +, -, boolean operators etc. but maybe these could be reserved for an 'advanced search' screen?
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2585</link>
        <guid isPermaLink="false">http://localhost/ticket/2585</guid>
        <category>Report</category>
      </item><item>
                  <title>#2625: Add i18n strings from non-core but supported extensions to ckan.pot file</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jul 2012 13:48:23 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Mon, 02 Jul 2012 13:48:23 GMT</pubDate>
                  <description>&lt;p&gt;
Have to decide which non-core extensions are going to be supported first.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2625</link>
        <guid isPermaLink="false">http://localhost/ticket/2625</guid>
        <category>Report</category>
      </item><item>
                  <title>#2838: Context variables accepted by action functions need to be documented</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 10 Aug 2012 20:35:11 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 10 Aug 2012 20:35:11 GMT</pubDate>
                  <description>&lt;p&gt;
I was doing this:
&lt;/p&gt;
&lt;pre class="wiki"&gt;context = {'model': base.model, 'session': base.model.Session,
                    'user': toolkit.c.user or toolkit.c.author,
                    'extras_as_string': True}
group_dict = logic.get_action('group_show')(context,
                    {'id': group_id})
&lt;/pre&gt;&lt;p&gt;
in an extension and one of the group_dicts fields, one that uses convert_to/from_extras, was coming out with the wrong value. It took me ages to realise that I had to pass &lt;tt&gt;'extras_as_string': True&lt;/tt&gt; in the context. I don't think this or other context variables are documented anywhere.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2838</link>
        <guid isPermaLink="false">http://localhost/ticket/2838</guid>
        <category>Report</category>
      </item><item>
                  <title>#2885: Labels (editor, admin) not translated in authorization pages for datasets or groups</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 22 Aug 2012 08:49:11 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 22 Aug 2012 08:52:04 GMT</pubDate>
                  <description></description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2885</link>
        <guid isPermaLink="false">http://localhost/ticket/2885</guid>
        <category>Report</category>
      </item><item>
                  <title>#2889: Support JSON values in extras, when returning JSON from API</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 24 Aug 2012 12:35:37 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Fri, 24 Aug 2012 12:35:37 GMT</pubDate>
                  <description>&lt;p&gt;
For example, edit the warandpeace dataset and add an extra with key "comments" and value "[{u'date': u'Tue Aug 21 13:01:48 GMT 2012', u'comment': u'testing ckan', u'userId': u'11702'}, {u'date': u'Wed Aug 22 13:01:48 GMT 2012', u'comment': u'testing ckan again', u'userId': u'11702'}]", now visit API URLs such as:
&lt;/p&gt;
&lt;p&gt;
/api/search/dataset?sort=metadata_modified+desc&amp;amp;all_fields=1&amp;amp;limit=10
&lt;/p&gt;
&lt;p&gt;
/api/rest/dataset/warandpeace
&lt;/p&gt;
&lt;p&gt;
/api/action/package_show?id=warandpeace
&lt;/p&gt;
&lt;p&gt;
The value of the extra comes out as a string in the dataset JSON, rather than having its contents unpacked into a list of JSON objects.
&lt;/p&gt;
</description>
                  
        <dc:creator>seanh</dc:creator>

        <link>http://localhost/ticket/2889</link>
        <guid isPermaLink="false">http://localhost/ticket/2889</guid>
        <category>Report</category>
      </item><item>
                  <title>#2869: user profile not linked on disqus until page refresh</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 10:58:34 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 10:58:34 GMT</pubDate>
                  <description>&lt;p&gt;
Reported by Daniel:
&lt;/p&gt;
&lt;p&gt;
Problem: DISQUS comments don't appear with profile details (inc. username).
How to reproduce:
1) Go to a dataset, e.g. I went to &lt;a class="ext-link" href="http://s031.okserver.org:2375/dataset/ff"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/dataset/ff&lt;/a&gt;
2) I logged into DISQUS using the Google Authentication, e.g. in my case that is okfn.daniel.lewis@…
3) I made a comment and submitted
4) It comes up with the comment, but no linked profile until the page gets refreshed
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2869</link>
        <guid isPermaLink="false">http://localhost/ticket/2869</guid>
        <category>Report</category>
      </item><item>
                  <title>#2748: add 'add new resource' button to sidebar</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 25 Jul 2012 10:41:18 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 09:15:44 GMT</pubDate>
                  <description>&lt;p&gt;
When editing a resource you see the current and any other existing resources in sidebar
&lt;/p&gt;
&lt;p&gt;
(e.g. see &lt;a class="ext-link" href="http://s031.okserver.org:2375/en/dataset/format-error-test/resource_edit/d1eac556-c16f-44af-8148-5e3467b57cf8?inner_span=True"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/en/dataset/format-error-test/resource_edit/d1eac556-c16f-44af-8148-5e3467b57cf8?inner_span=True&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
Would be good to have a pretty 'add new' slightly transparent resource folder/pointer undearneath - letting you add resources from the end resource page
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2748</link>
        <guid isPermaLink="false">http://localhost/ticket/2748</guid>
        <category>Report</category>
      </item><item>
                  <title>#2786: target blank HTML downloads</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 01 Aug 2012 11:16:54 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 01 Aug 2012 11:16:54 GMT</pubDate>
                  <description>&lt;p&gt;
e.g. if I click on download here: &lt;a class="ext-link" href="http://s031.okserver.org:2375/dataset/example-dataset/resource/d8797e51-b497-46ca-a274-8675533d110b"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/dataset/example-dataset/resource/d8797e51-b497-46ca-a274-8675533d110b&lt;/a&gt; can it take me to a new tab instead of navigating away from ckan?
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2786</link>
        <guid isPermaLink="false">http://localhost/ticket/2786</guid>
        <category>Report</category>
      </item><item>
                  <title>#2795: Check validation of HTML, CSS, JS</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 02 Aug 2012 10:25:28 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 02 Aug 2012 10:25:28 GMT</pubDate>
                  <description>&lt;p&gt;
Ensure that we are being standards compliant
&lt;/p&gt;
</description>
                  
        <dc:creator>toby</dc:creator>

        <link>http://localhost/ticket/2795</link>
        <guid isPermaLink="false">http://localhost/ticket/2795</guid>
        <category>Report</category>
      </item><item>
                  <title>#2820: English Language: Visualization -&gt; Visualisation</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 09:27:35 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 09:27:35 GMT</pubDate>
                  <description>&lt;p&gt;
Problem: In the English version (which has a UK flag, indicating British English), the word "Visualization" is used. For an example see the "Filter by type" drop down on the /apps page.
Expected: This should be "Visualisation" in British English. Any instances of "Visualize" should be changed to "Visualise" too.
&lt;/p&gt;
</description>
                  
        <dc:creator>danieljohnlewis</dc:creator>

        <link>http://localhost/ticket/2820</link>
        <guid isPermaLink="false">http://localhost/ticket/2820</guid>
        <category>Report</category>
      </item><item>
                  <title>#2821: Featured Items on Filter</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 09:28:24 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 09 Aug 2012 09:44:52 GMT</pubDate>
                  <description>&lt;p&gt;
Problem: On /apps page in the Filter Results box there is a "Only show featured items" checkbox, on selection it comes up with 0 solutions.
Expected: Presumably an admin can create "featured items" so that they can be randomly selected on front page (is this correct)? If there are no "featured items" in the whole database can this check box be hidden?
Bug is: no UI or obvious way to create featured items. Also the
checkbox looks un-styled
&lt;/p&gt;
</description>
                  
        <dc:creator>danieljohnlewis</dc:creator>

        <link>http://localhost/ticket/2821</link>
        <guid isPermaLink="false">http://localhost/ticket/2821</guid>
        <category>Report</category>
      </item><item>
                  <title>#2854: no way to see which dataset an app is related to on /apps page</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 15 Aug 2012 16:38:48 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 15 Aug 2012 16:38:48 GMT</pubDate>
                  <description>&lt;p&gt;
e.g. from &lt;a class="ext-link" href="http://s031.okserver.org:2375/apps?page=1"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/apps?page=1&lt;/a&gt; you cannot edit a related item as an admin or view what dataset the item is related to
&lt;/p&gt;
</description>
                  
        <dc:creator>shevski</dc:creator>

        <link>http://localhost/ticket/2854</link>
        <guid isPermaLink="false">http://localhost/ticket/2854</guid>
        <category>Report</category>
      </item><item>
                  <title>#2898: Looses data entered on step 1 of create dataset after login</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 30 Aug 2012 13:08:14 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 30 Aug 2012 13:08:40 GMT</pubDate>
                  <description>&lt;p&gt;
To reproduce:
&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Enter details for new dataset without being logged in
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="2"&gt;&lt;li&gt;Hit login page for just before step 2
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="3"&gt;&lt;li&gt;Once logged in you end up back at the empty add dataset form (instead of expected 2nd step of dataset edit)
&lt;/li&gt;&lt;/ol&gt;</description>
                  
        <dc:creator>johnmartin</dc:creator>

        <link>http://localhost/ticket/2898</link>
        <guid isPermaLink="false">http://localhost/ticket/2898</guid>
        <category>Report</category>
      </item><item>
                  <title>#2899: Step 2 &gt; Save &amp; add another bug</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 30 Aug 2012 13:15:19 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 30 Aug 2012 13:15:19 GMT</pubDate>
                  <description>&lt;p&gt;
Goto:
&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Add dataset
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="2"&gt;&lt;li&gt;Get to step 2
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="3"&gt;&lt;li&gt;Click "Save &amp;amp; add another" without adding any data
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="4"&gt;&lt;li&gt;Ends on step 3
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
Should: fail to validate and remain on step 2
&lt;/p&gt;
</description>
                  
        <dc:creator>johnmartin</dc:creator>

        <link>http://localhost/ticket/2899</link>
        <guid isPermaLink="false">http://localhost/ticket/2899</guid>
        <category>Report</category>
      </item><item>
                  <title>#2904: Show more formats/groups/tags shouldn't display if there aren't more</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 05 Sep 2012 14:14:04 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 05 Sep 2012 14:14:04 GMT</pubDate>
                  <description>&lt;p&gt;
On the search results page when there are no more formats, groups or tags to display it should not display the show more links.
&lt;/p&gt;
</description>
                  
        <dc:creator>johnmartin</dc:creator>

        <link>http://localhost/ticket/2904</link>
        <guid isPermaLink="false">http://localhost/ticket/2904</guid>
        <category>Report</category>
      </item><item>
                  <title>#2905: Add dataset URL key behaviour</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 05 Sep 2012 14:28:03 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Wed, 05 Sep 2012 14:28:03 GMT</pubDate>
                  <description>&lt;p&gt;
On step 1 for adding a dataset can we add a ajax ping that checks if the URL that is generated by the JS is taken? Behaviour should be as follows:
&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;User types title in box (as current)
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="2"&gt;&lt;li&gt;URL key is regexed by JS (as current)
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="3"&gt;&lt;li&gt;The JS does a ajax call to check if the generated URL key is valid. The ajax callback returns a JSON dump which contains what the URL key should be (e.g. if 'test' was taken it returns 'test-1')
&lt;/li&gt;&lt;/ol&gt;&lt;ol start="4"&gt;&lt;li&gt;If the URL key returned in the ajax is different than the one generated by the JS then:
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
4a. If the user hasn't clicked the edit button then: it automatically updates the URL key field with the URL key supplied in the ajax
&lt;/p&gt;
&lt;p&gt;
4b. If the user has clicked the edit button then: a form error next to the input appears saying that the URL key is taken and within that error is suggests the URL key returned by the ajax as alternative (the user can click said URL key within the error to automatically choose that one)
&lt;/p&gt;
&lt;p&gt;
The URL key isn't reserved by the ajax and upon form submission the usual validation should still apply.
&lt;/p&gt;
</description>
                  
        <dc:creator>johnmartin</dc:creator>

        <link>http://localhost/ticket/2905</link>
        <guid isPermaLink="false">http://localhost/ticket/2905</guid>
        <category>Report</category>
      </item><item>
                  <title>#2908: Dataset related with image should retain aspect ratio</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 06 Sep 2012 11:32:42 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 06 Sep 2012 11:32:42 GMT</pubDate>
                  <description>&lt;p&gt;
At the moment if you have an related item with an image associated to a dataset that appears in the side column it's resized but doesn't keep it's original aspect ratio.
&lt;/p&gt;
</description>
                  
        <dc:creator>johnmartin</dc:creator>

        <link>http://localhost/ticket/2908</link>
        <guid isPermaLink="false">http://localhost/ticket/2908</guid>
        <category>Report</category>
      </item><item>
                  <title>#2909: User profile headers are a bit weird</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 06 Sep 2012 11:35:48 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 06 Sep 2012 11:35:48 GMT</pubDate>
                  <description>&lt;p&gt;
They seem to be not exactly well thought out. Needs some thought on better display of the information that they contain.
&lt;/p&gt;
</description>
                  
        <dc:creator>johnmartin</dc:creator>

        <link>http://localhost/ticket/2909</link>
        <guid isPermaLink="false">http://localhost/ticket/2909</guid>
        <category>Report</category>
      </item><item>
                  <title>#2910: User listings are not very compelling</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 06 Sep 2012 11:39:47 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 06 Sep 2012 11:39:47 GMT</pubDate>
                  <description>&lt;p&gt;
They are currently are just a small image / name. They should be: Larger image, Full name (username), description, edits/dataset
&lt;/p&gt;
</description>
                  
        <dc:creator>johnmartin</dc:creator>

        <link>http://localhost/ticket/2910</link>
        <guid isPermaLink="false">http://localhost/ticket/2910</guid>
        <category>Report</category>
      </item><item>
                  <title>#2867: 1.8 url_for error</title>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 10:57:49 GMT</pubDate>
                  <!-- FIXME: we end up with multiple pubDate -->
                  <pubDate>Thu, 16 Aug 2012 14:44:39 GMT</pubDate>
                  <description>&lt;p&gt;
From: &amp;lt;thedatahub.org@…&amp;gt;
Date: Thu, Aug 16, 2012 at 10:30 AM
Subject: &lt;a class="missing wiki"&gt;WebApp?&lt;/a&gt; Error: &amp;lt;class 'routes.util.&lt;a class="missing wiki"&gt;GenerationException?&lt;/a&gt;'&amp;gt;: url_for can only return a string, got unicode instead: &lt;a class="ext-link" href="https://ckannet-storage.commondatastorage.googleapis.com/file/fd3e00d9-eb0d-479b-8303-38909e5400ca?Signature=cmuU3CzRHQ86F3aZ0gljxv%2B3IqQ%3D&amp;amp;Expires=1345109432&amp;amp;AWSAccessKeyId=GOOGC6OU3AYPNY47B66M&amp;amp;x-goog-meta-uploaded-by=d5c8ed25-70de-4035-b29d-ddbe363913c6"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://ckannet-storage.commondatastorage.googleapis.com/file/fd3e00d9-eb0d-479b-8303-38909e5400ca?Signature=cmuU3CzRHQ86F3aZ0gljxv%2B3IqQ%3D&amp;amp;Expires=1345109432&amp;amp;AWSAccessKeyId=GOOGC6OU3AYPNY47B66M&amp;amp;x-goog-meta-uploaded-by=d5c8ed25-70de-4035-b29d-ddbe363913c6&lt;/a&gt;
To: ckan-sysadmin@…, kindly@…
&lt;/p&gt;
&lt;p&gt;
URL: &lt;a class="ext-link" href="http://ckan.net/storage/f/file/fd3e00d9-eb0d-479b-8303-38909e5400ca"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://ckan.net/storage/f/file/fd3e00d9-eb0d-479b-8303-38909e5400ca&lt;/a&gt;
Module weberror.errormiddleware:162 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;              &lt;span class="underline"&gt;traceback_supplement&lt;/span&gt; = Supplement, self, environ
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
sr_checker = &lt;a class="missing wiki"&gt;ResponseStartChecker?&lt;/a&gt;(start_response)
app_iter = self.application(environ, sr_checker)
return self.make_catching_iter(app_iter, environ, sr_checker)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
except:
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
app_iter = self.application(environ, sr_checker)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module beaker.middleware:73 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;                                                     self.cache_manager)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
environ[self.environ_key] = self.cache_manager
return self.app(environ, start_response)
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return self.app(environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module beaker.middleware:155 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;                          headers.append(('Set-cookie', cookie))
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
return start_response(status, headers, exc_info)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
return self.wrap_app(environ, session_start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
def _get_session(self):
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return self.wrap_app(environ, session_start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module routes.middleware:131 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;                                               r'\1', oldpath)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
response = self.app(environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
# Wrapped in try as in rare cases the attribute will be gone already
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
response = self.app(environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module pylons.wsgiapp:125 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
controller = self.resolve(environ, start_response)
response = self.dispatch(controller, environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if 'paste.testing_variables' in environ and hasattr(response,
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
response = self.dispatch(controller, environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module pylons.wsgiapp:324 in dispatch
&amp;lt;&amp;lt;          if log_debug:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
log.debug("Calling controller class with WSGI interface")
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
return controller(environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
def load_test_env(self, environ):
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return controller(environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module ckan.lib.base:239 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;          try:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
res = WSGIController.&lt;span class="underline"&gt;call&lt;/span&gt;(self, environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
finally:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
model.Session.remove()
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
res = WSGIController.&lt;span class="underline"&gt;call&lt;/span&gt;(self, environ, start_response)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module pylons.controllers.core:221 in &lt;span class="underline"&gt;call&lt;/span&gt;
&amp;lt;&amp;lt;                  return response(environ, self.start_response)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
response = self._dispatch_call()
if not start_response_called:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
self.start_response = start_response
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
response = self._dispatch_call()
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module pylons.controllers.core:172 in _dispatch_call
&amp;lt;&amp;lt;              req.environ&lt;a class="missing wiki"&gt;pylons.action_method?&lt;/a&gt; = func
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
response = self._inspect_call(func)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
else:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if log_debug:
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
response = self._inspect_call(func)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module pylons.controllers.core:107 in _inspect_call
&amp;lt;&amp;lt;                        func.&lt;span class="underline"&gt;name&lt;/span&gt;, args)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
try:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
result = self._perform_call(func, args)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
except HTTPException, httpe:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
if log_debug:
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
result = self._perform_call(func, args)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module pylons.controllers.core:60 in _perform_call
&amp;lt;&amp;lt;          """Hide the traceback for everything above this method"""
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
&lt;span class="underline"&gt;traceback_hide&lt;/span&gt; = 'before_and_this'
return func(&lt;strong&gt;args)
&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
def _inspect_call(self, func):
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return func(&lt;strong&gt;args)
&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module ckan.controllers.storage:190 in file
&amp;lt;&amp;lt;              return fapp(request.environ, self.start_response)
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
else:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
h.redirect_to(file_url)
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
h.redirect_to(file_url)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module ckan.lib.helpers:57 in redirect_to
&amp;lt;&amp;lt;      if are_there_flash_messages():
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
kw&lt;a class="missing wiki"&gt;__no_cache__?&lt;/a&gt; = True
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
return _redirect_to(url_for(*args, &lt;strong&gt;kw))
&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
def url(*args, &lt;strong&gt;kw):
&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
return _redirect_to(url_for(*args, &lt;strong&gt;kw))
&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module ckan.lib.helpers:79 in url_for
&amp;lt;&amp;lt;          # fix ver to include the slash
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
kw&lt;a class="missing wiki"&gt;ver?&lt;/a&gt; = '/%s' % ver
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
my_url = _routes_default_url_for(*args, &lt;strong&gt;kw)
kw&lt;a class="missing wiki"&gt;__ckan_no_root?&lt;/a&gt; = no_root
return _add_i18n_to_url(my_url, locale=locale, &lt;/strong&gt;kw)
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
my_url = _routes_default_url_for(*args, &lt;strong&gt;kw)
&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
Module routes.util:265 in url_for
&amp;lt;&amp;lt;      if not isinstance(url, str) and url is not None:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
raise &lt;a class="missing wiki"&gt;GenerationException?&lt;/a&gt;("url_for can only return a string, got "
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
"unicode instead: %s" % url)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;
if url is None:
&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;
raise &lt;a class="missing wiki"&gt;GenerationException?&lt;/a&gt;(
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote class="citation"&gt;
&lt;blockquote&gt;
&lt;p&gt;
"unicode instead: %s" % url)
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;p&gt;
&lt;a class="missing wiki"&gt;GenerationException?&lt;/a&gt;: url_for can only return a string, got unicode instead: &lt;a class="ext-link" href="https://ckannet-storage.commondatastorage.googleapis.com/file/fd3e00d9-eb0d-479b-8303-38909e5400ca?Signature=cmuU3CzRHQ86F3aZ0gljxv%2B3IqQ%3D&amp;amp;Expires=1345109432&amp;amp;AWSAccessKeyId=GOOGC6OU3AYPNY47B66M&amp;amp;x-goog-meta-uploaded-by=d5c8ed25-70de-4035-b29d-ddbe363913c6"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://ckannet-storage.commondatastorage.googleapis.com/file/fd3e00d9-eb0d-479b-8303-38909e5400ca?Signature=cmuU3CzRHQ86F3aZ0gljxv%2B3IqQ%3D&amp;amp;Expires=1345109432&amp;amp;AWSAccessKeyId=GOOGC6OU3AYPNY47B66M&amp;amp;x-goog-meta-uploaded-by=d5c8ed25-70de-4035-b29d-ddbe363913c6&lt;/a&gt;
CGI Variables
CKAN_CURRENT_URL        '/storage/f/file/fd3e00d9-eb0d-479b-8303-38909e5400ca'
CKAN_LANG        'en'
CKAN_LANG_IS_DEFAULT        True
CONTENT_TYPE        '; charset=utf-8'
DOCUMENT_ROOT        '/etc/apache2/htdocs'
GATEWAY_INTERFACE        'CGI/1.1'
HTTP_ACCEPT        '*/*'
HTTP_ACCEPT_CHARSET        'utf-8;q=0.7,iso-8859-1;q=0.2,*;q=0.1'
HTTP_CONNECTION        'close'
HTTP_HOST        'ckan.net'
HTTP_USER_AGENT        'Mozilla/5.0 (compatible; Ezooms/1.0; ezooms.bot@…)'
PATH_INFO        '/storage/f/file/fd3e00d9-eb0d-479b-8303-38909e5400ca'
PATH_TRANSLATED        '/etc/ckan/datahub/apache.wsgi/storage/f/file/fd3e00d9-eb0d-479b-8303-38909e5400ca'
REMOTE_ADDR        '127.0.0.1'
REMOTE_PORT        '37236'
REQUEST_METHOD        'GET'
REQUEST_URI        '/storage/f/file/fd3e00d9-eb0d-479b-8303-38909e5400ca'
SCRIPT_FILENAME        '/etc/ckan/datahub/apache.wsgi'
SERVER_ADDR        '127.0.0.1'
SERVER_ADMIN        '[no address given]'
SERVER_NAME        'ckan.net'
SERVER_PORT        '80'
SERVER_PROTOCOL        'HTTP/1.0'
SERVER_SIGNATURE        '&amp;lt;address&amp;gt;Apache/2.2.22 (Ubuntu) Server at ckan.net Port 80&amp;lt;/address&amp;gt;\n'
SERVER_SOFTWARE        'Apache/2.2.22 (Ubuntu)'
WSGI Variables
application        &amp;lt;beaker.middleware.&lt;a class="missing wiki"&gt;CacheMiddleware?&lt;/a&gt; object at 0x7f5312a51650&amp;gt;
beaker.cache        &amp;lt;beaker.cache.&lt;a class="missing wiki"&gt;CacheManager?&lt;/a&gt; object at 0x7f5312a51790&amp;gt;
beaker.get_session        &amp;lt;bound method &lt;a class="missing wiki"&gt;SessionMiddleware?&lt;/a&gt;._get_session of &amp;lt;beaker.middleware.&lt;a class="missing wiki"&gt;SessionMiddleware?&lt;/a&gt; object at 0x7f5312a516d0&amp;gt;&amp;gt;
beaker.session        {'_accessed_time': 1345109433.273328, '_creation_time': 1345109433.273328}
mod_wsgi.application_group        'ckan.net|'
mod_wsgi.callable_object        'application'
mod_wsgi.handler_script        &lt;em&gt;
mod_wsgi.input_chunked        '0'
mod_wsgi.listener_host        &lt;/em&gt;
mod_wsgi.listener_port        '8080'
mod_wsgi.process_group        'datahub'
mod_wsgi.request_handler        'wsgi-script'
mod_wsgi.script_reloading        '1'
mod_wsgi.version        (3, 3)
paste.cookies        (&amp;lt;SimpleCookie: &amp;gt;, &lt;em&gt;)
paste.registry        &amp;lt;paste.registry.Registry object at 0x7f5303b05610&amp;gt;
paste.throw_errors        True
pylons.action_method        &amp;lt;bound method &lt;a class="missing wiki"&gt;StorageController?&lt;/a&gt;.file of &amp;lt;ckan.controllers.storage.&lt;a class="missing wiki"&gt;StorageController?&lt;/a&gt; object at 0x7f530891fa10&amp;gt;&amp;gt;
pylons.controller        &amp;lt;ckan.controllers.storage.&lt;a class="missing wiki"&gt;StorageController?&lt;/a&gt; object at 0x7f530891fa10&amp;gt;
pylons.environ_config        {'session': 'beaker.session', 'cache': 'beaker.cache'}
pylons.pylons        &amp;lt;pylons.util.&lt;a class="missing wiki"&gt;PylonsContext?&lt;/a&gt; object at 0x7f52f864f850&amp;gt;
pylons.routes_dict        {'action': u'file', 'controller': u'ckan.controllers.storage:StorageController', 'label': u'file/fd3e00d9-eb0d-479b-8303-38909e5400ca'}
repoze.who.logger        &amp;lt;logging.Logger object at 0x7f53127b2b50&amp;gt;
repoze.who.plugins        {'openid': &amp;lt;&lt;a class="missing wiki"&gt;OpenIdIdentificationPlugin?&lt;/a&gt; 139994769488336&amp;gt;, 'friendlyform': &amp;lt;&lt;a class="missing wiki"&gt;FriendlyFormPlugin?&lt;/a&gt; 139994769488528&amp;gt;, 'ckan.lib.authenticator:UsernamePasswordAuthenticator': &amp;lt;ckan.lib.authenticator.&lt;a class="missing wiki"&gt;UsernamePasswordAuthenticator?&lt;/a&gt; object at 0x7f5312d893d0&amp;gt;, 'auth_tkt': &amp;lt;&lt;a class="missing wiki"&gt;AuthTktCookiePlugin?&lt;/a&gt; 139994771858704&amp;gt;, 'ckan.lib.authenticator:OpenIDAuthenticator': &amp;lt;ckan.lib.authenticator.OpenIDAuthenticator object at 0x7f5312d89350&amp;gt;}
routes.route        &amp;lt;routes.route.Route object at 0x7f531296e690&amp;gt;
routes.url        &amp;lt;routes.util.URLGenerator object at 0x7f52f82cd450&amp;gt;
webob._parsed_query_vars        (GET([]), &lt;/em&gt;)
webob.adhoc_attrs        {'language': 'en-us'}
wsgi process        'Multi process AND threads (?)'
wsgi.file_wrapper        &amp;lt;built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f52f5870cd8&amp;gt;
wsgi.version        (1, 1)
wsgiorg.routing_args        (&amp;lt;routes.util.URLGenerator object at 0x7f52f82cd450&amp;gt;, {'action': u'file', 'controller': u'ckan.controllers.storage:StorageController', 'label': u'file/fd3e00d9-eb0d-479b-8303-38909e5400ca'})
&lt;/p&gt;
</description>
                  
        <dc:creator>ross</dc:creator>

        <link>http://localhost/ticket/2867</link>
        <guid isPermaLink="false">http://localhost/ticket/2867</guid>
        <category>Report</category>
      </item>
  </channel>
</rss>