<?xml version="1.0"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>CKAN: Ticket Query</title>
    <link>http://localhost/query?status=!closed&amp;priority=awaiting+triage&amp;order=milestone</link>
    <description>The open source data portal software</description>
    <language>en-US</language>
    <image>
      <title>CKAN</title>
      <url>http://assets.okfn.org/p/ckan/img/ckan_logo_shortname.png</url>
      <link>http://localhost/query?status=!closed&amp;priority=awaiting+triage&amp;order=milestone</link>
    </image>
    <generator>Trac 0.12.3</generator>
    <item>
        <link>http://localhost/ticket/2499</link>
        <guid isPermaLink="false">http://localhost/ticket/2499</guid>
        <title>#2499: Documentation for the internal analytics</title>
        <pubDate>Thu, 07 Jun 2012 11:58:17 GMT</pubDate>
        
        <dc:creator>icmurray</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2499#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2761</link>
        <guid isPermaLink="false">http://localhost/ticket/2761</guid>
        <title>#2761: Document all the errors you can get when setting up filestore, and how to fix them</title>
        <pubDate>Thu, 26 Jul 2012 11:36:06 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2761#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2762</link>
        <guid isPermaLink="false">http://localhost/ticket/2762</guid>
        <title>#2762: test_related.py crashes</title>
        <pubDate>Thu, 26 Jul 2012 11:55:53 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2762#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2771</link>
        <guid isPermaLink="false">http://localhost/ticket/2771</guid>
        <title>#2771: Documentation and examples for IDatasetForm and IGroupForm</title>
        <pubDate>Fri, 27 Jul 2012 12:30:38 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2771#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2919</link>
        <guid isPermaLink="false">http://localhost/ticket/2919</guid>
        <title>#2919: Remove IController from docs</title>
        <pubDate>Wed, 12 Sep 2012 14:47:33 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
Still in docs but seems gone from code
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2919#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2936</link>
        <guid isPermaLink="false">http://localhost/ticket/2936</guid>
        <title>#2936: Updating a group via the API clears its packages</title>
        <pubDate>Wed, 19 Sep 2012 09:47:46 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2936#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2958</link>
        <guid isPermaLink="false">http://localhost/ticket/2958</guid>
        <title>#2958: Uploading files with unicode characters in filename fails in CKAN 1.7 and 1.8</title>
        <pubDate>Thu, 04 Oct 2012 09:29:36 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2958#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2965</link>
        <guid isPermaLink="false">http://localhost/ticket/2965</guid>
        <title>#2965: Stats extension broken on 1.8</title>
        <pubDate>Mon, 15 Oct 2012 10:15:41 GMT</pubDate>
        
        <dc:creator>amercader</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2965#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/3003</link>
        <guid isPermaLink="false">http://localhost/ticket/3003</guid>
        <title>#3003: New pg databases should be created with UTF8 encoding rather than system default</title>
        <pubDate>Fri, 19 Oct 2012 09:33:19 GMT</pubDate>
        
        <dc:creator>amercader</dc:creator>

        <description>&lt;p&gt;
Just to track @tauberer patch on Github.
Probably going to 1.8.1
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/3003#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2537</link>
        <guid isPermaLink="false">http://localhost/ticket/2537</guid>
        <title>#2537: Test and document ckanbuild</title>
        <pubDate>Fri, 15 Jun 2012 15:48:48 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2537#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2538</link>
        <guid isPermaLink="false">http://localhost/ticket/2538</guid>
        <title>#2538: Add multiple-instance support to ckanbuild</title>
        <pubDate>Fri, 15 Jun 2012 15:51:39 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2538#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2539</link>
        <guid isPermaLink="false">http://localhost/ticket/2539</guid>
        <title>#2539: Investigate the existing ckan debian package for ckanbuild</title>
        <pubDate>Fri, 15 Jun 2012 15:54:21 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2539#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2540</link>
        <guid isPermaLink="false">http://localhost/ticket/2540</guid>
        <title>#2540: Implement a way of upgrading ckan sites using ckanbuild</title>
        <pubDate>Fri, 15 Jun 2012 15:55:40 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2540#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2541</link>
        <guid isPermaLink="false">http://localhost/ticket/2541</guid>
        <title>#2541: Add non-core extensions to ckanbuild</title>
        <pubDate>Fri, 15 Jun 2012 15:57:06 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2541#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2542</link>
        <guid isPermaLink="false">http://localhost/ticket/2542</guid>
        <title>#2542: Create jenkins job to run ckanbuild, and run tests</title>
        <pubDate>Fri, 15 Jun 2012 15:58:08 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2542#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2548</link>
        <guid isPermaLink="false">http://localhost/ticket/2548</guid>
        <title>#2548: Object ownership for groups/package</title>
        <pubDate>Mon, 18 Jun 2012 11:02:11 GMT</pubDate>
        
        <dc:creator>ross</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2548#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2547</link>
        <guid isPermaLink="false">http://localhost/ticket/2547</guid>
        <title>#2547: ODS Initial data sets</title>
        <pubDate>Mon, 18 Jun 2012 10:55:06 GMT</pubDate>
        
        <dc:creator>ross</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2547#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/235</link>
        <guid isPermaLink="false">http://localhost/ticket/235</guid>
        <title>#235: Resource format normalization and detection</title>
        <pubDate>Mon, 18 Jan 2010 15:13:24 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/235#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/250</link>
        <guid isPermaLink="false">http://localhost/ticket/250</guid>
        <title>#250: RDF link in Atom feed</title>
        <pubDate>Thu, 18 Feb 2010 15:41:35 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
Add link to RDF representation of a package in our Atom feed.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/250#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1745</link>
        <guid isPermaLink="false">http://localhost/ticket/1745</guid>
        <title>#1745: Dataset search UX improvements as of Jan 2012</title>
        <pubDate>Thu, 02 Feb 2012 23:22:21 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/1745#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1785</link>
        <guid isPermaLink="false">http://localhost/ticket/1785</guid>
        <title>#1785: Replace 'Revisions' page with site-wide activity stream</title>
        <pubDate>Tue, 07 Feb 2012 16:34:18 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/1785#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2257</link>
        <guid isPermaLink="false">http://localhost/ticket/2257</guid>
        <title>#2257: cleanup template vars</title>
        <pubDate>Fri, 23 Mar 2012 14:35:07 GMT</pubDate>
        
        <dc:creator>toby</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2257#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2291</link>
        <guid isPermaLink="false">http://localhost/ticket/2291</guid>
        <title>#2291: DataStorer incorrectly attempts to store JSON in DataStore</title>
        <pubDate>Sat, 14 Apr 2012 19:19:07 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2291#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2320</link>
        <guid isPermaLink="false">http://localhost/ticket/2320</guid>
        <title>#2320: Introduce new state: archived</title>
        <pubDate>Mon, 23 Apr 2012 20:12:29 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2320#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2321</link>
        <guid isPermaLink="false">http://localhost/ticket/2321</guid>
        <title>#2321: Use resource names/titles in URLs</title>
        <pubDate>Tue, 24 Apr 2012 03:00:12 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2321#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2324</link>
        <guid isPermaLink="false">http://localhost/ticket/2324</guid>
        <title>#2324: Link API docs to relevant version not just latest</title>
        <pubDate>Wed, 25 Apr 2012 10:58:52 GMT</pubDate>
        
        <dc:creator>amercader</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2324#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2328</link>
        <guid isPermaLink="false">http://localhost/ticket/2328</guid>
        <title>#2328: Link to Catalog API for each Dataset, Group and Tag</title>
        <pubDate>Thu, 26 Apr 2012 12:15:01 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2328#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2333</link>
        <guid isPermaLink="false">http://localhost/ticket/2333</guid>
        <title>#2333: Introduce new resource type datastore</title>
        <pubDate>Sat, 28 Apr 2012 22:16:00 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2333#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2334</link>
        <guid isPermaLink="false">http://localhost/ticket/2334</guid>
        <title>#2334: Improved data import</title>
        <pubDate>Sat, 28 Apr 2012 22:21:02 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2334#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2335</link>
        <guid isPermaLink="false">http://localhost/ticket/2335</guid>
        <title>#2335: Unicode characters don't work in CKAN ini files</title>
        <pubDate>Mon, 30 Apr 2012 12:42:06 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2335#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2337</link>
        <guid isPermaLink="false">http://localhost/ticket/2337</guid>
        <title>#2337: Sort out ini file confusion in docs</title>
        <pubDate>Mon, 30 Apr 2012 14:57:56 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2337#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2370</link>
        <guid isPermaLink="false">http://localhost/ticket/2370</guid>
        <title>#2370: Add examples of all config settings in default config file</title>
        <pubDate>Thu, 03 May 2012 10:50:37 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2370#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2406</link>
        <guid isPermaLink="false">http://localhost/ticket/2406</guid>
        <title>#2406: Errors in source install doc</title>
        <pubDate>Mon, 21 May 2012 10:11:33 GMT</pubDate>
        
        <dc:creator>markw</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2406#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2407</link>
        <guid isPermaLink="false">http://localhost/ticket/2407</guid>
        <title>#2407: 'Access denied' message is unhelpful</title>
        <pubDate>Mon, 21 May 2012 15:01:40 GMT</pubDate>
        
        <dc:creator>markw</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2407#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2415</link>
        <guid isPermaLink="false">http://localhost/ticket/2415</guid>
        <title>#2415: Confusing message on attempting to register new account with upper case</title>
        <pubDate>Wed, 23 May 2012 13:19:49 GMT</pubDate>
        
        <dc:creator>markw</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2415#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2426</link>
        <guid isPermaLink="false">http://localhost/ticket/2426</guid>
        <title>#2426: Get rid of CKAN's formalchemy dependency</title>
        <pubDate>Fri, 25 May 2012 11:47:42 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description></description>
        <category>Results</category>
        <comments>http://localhost/ticket/2426#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2427</link>
        <guid isPermaLink="false">http://localhost/ticket/2427</guid>
        <title>#2427: Reduce cruft installed into CKAN's virtualenv due to Pylons</title>
        <pubDate>Fri, 25 May 2012 11:48:27 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description></description>
        <category>Results</category>
        <comments>http://localhost/ticket/2427#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2473</link>
        <guid isPermaLink="false">http://localhost/ticket/2473</guid>
        <title>#2473: Make datstorer store field ordering in _meta field</title>
        <pubDate>Tue, 29 May 2012 12:11:32 GMT</pubDate>
        
        <dc:creator>kindly</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2473#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2475</link>
        <guid isPermaLink="false">http://localhost/ticket/2475</guid>
        <title>#2475: Upgrade trac.ckan.org to trac 0.12.3</title>
        <pubDate>Tue, 29 May 2012 18:46:16 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2475#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2477</link>
        <guid isPermaLink="false">http://localhost/ticket/2477</guid>
        <title>#2477: Add extensions section to readthedocs</title>
        <pubDate>Wed, 30 May 2012 15:54:04 GMT</pubDate>
        
        <dc:creator>shevski</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2477#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2478</link>
        <guid isPermaLink="false">http://localhost/ticket/2478</guid>
        <title>#2478: Get NeverNotifyUpdaterPlugin installed on trac.ckan.org</title>
        <pubDate>Wed, 30 May 2012 16:52:14 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description></description>
        <category>Results</category>
        <comments>http://localhost/ticket/2478#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2479</link>
        <guid isPermaLink="false">http://localhost/ticket/2479</guid>
        <title>#2479: Meanings of Author and Maintainer fields are unclear</title>
        <pubDate>Thu, 31 May 2012 08:28:18 GMT</pubDate>
        
        <dc:creator>markw</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2479#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2480</link>
        <guid isPermaLink="false">http://localhost/ticket/2480</guid>
        <title>#2480: Better message when dataset has no resources</title>
        <pubDate>Thu, 31 May 2012 08:31:33 GMT</pubDate>
        
        <dc:creator>markw</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2480#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2483</link>
        <guid isPermaLink="false">http://localhost/ticket/2483</guid>
        <title>#2483: Non-local resources should not have Download links</title>
        <pubDate>Thu, 31 May 2012 12:52:14 GMT</pubDate>
        
        <dc:creator>markw</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2483#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2485</link>
        <guid isPermaLink="false">http://localhost/ticket/2485</guid>
        <title>#2485: Encourage leak containment by limiting the number of requests a CKAN process serves</title>
        <pubDate>Fri, 01 Jun 2012 11:47:09 GMT</pubDate>
        
        <dc:creator>nils.toedtmann</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2485#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2516</link>
        <guid isPermaLink="false">http://localhost/ticket/2516</guid>
        <title>#2516: Make 'Assign to:' field on trac.ckan.org into a dropdown list</title>
        <pubDate>Wed, 13 Jun 2012 09:07:22 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
there's a setting for this
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2516#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2520</link>
        <guid isPermaLink="false">http://localhost/ticket/2520</guid>
        <title>#2520: Document undocumented config options</title>
        <pubDate>Wed, 13 Jun 2012 11:52:48 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2520#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2529</link>
        <guid isPermaLink="false">http://localhost/ticket/2529</guid>
        <title>#2529: DataHub (or CKAN) widgets</title>
        <pubDate>Fri, 15 Jun 2012 08:47:29 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2529#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2543</link>
        <guid isPermaLink="false">http://localhost/ticket/2543</guid>
        <title>#2543: facet.sort is not available in the package_search action</title>
        <pubDate>Mon, 18 Jun 2012 09:55:35 GMT</pubDate>
        
        <dc:creator>icmurray</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2543#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2572</link>
        <guid isPermaLink="false">http://localhost/ticket/2572</guid>
        <title>#2572: clean up stats plugin</title>
        <pubDate>Tue, 19 Jun 2012 11:24:14 GMT</pubDate>
        
        <dc:creator>toby</dc:creator>

        <description>&lt;p&gt;
attempt to disengage the stats plugin from core as much as possible
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2572#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2579</link>
        <guid isPermaLink="false">http://localhost/ticket/2579</guid>
        <title>#2579: move sort_by functions into lib.helpers</title>
        <pubDate>Thu, 21 Jun 2012 12:29:58 GMT</pubDate>
        
        <dc:creator>toby</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2579#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2585</link>
        <guid isPermaLink="false">http://localhost/ticket/2585</guid>
        <title>#2585: Escape solr control characters in search queries, add advanced search screen</title>
        <pubDate>Fri, 22 Jun 2012 10:26:13 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2585#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2619</link>
        <guid isPermaLink="false">http://localhost/ticket/2619</guid>
        <title>#2619: Omit private datasets from public activity streams</title>
        <pubDate>Thu, 28 Jun 2012 11:49:00 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2619#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2625</link>
        <guid isPermaLink="false">http://localhost/ticket/2625</guid>
        <title>#2625: Add i18n strings from non-core but supported extensions to ckan.pot file</title>
        <pubDate>Mon, 02 Jul 2012 13:48:23 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
Have to decide which non-core extensions are going to be supported first.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2625#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2663</link>
        <guid isPermaLink="false">http://localhost/ticket/2663</guid>
        <title>#2663: h.resource_display_name needs love</title>
        <pubDate>Wed, 11 Jul 2012 14:42:26 GMT</pubDate>
        
        <dc:creator>toby</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2663#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2708</link>
        <guid isPermaLink="false">http://localhost/ticket/2708</guid>
        <title>#2708: limit extra data for package/group show</title>
        <pubDate>Wed, 18 Jul 2012 14:40:20 GMT</pubDate>
        
        <dc:creator>toby</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2708#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2758</link>
        <guid isPermaLink="false">http://localhost/ticket/2758</guid>
        <title>#2758: file storage gives error if config not available but no useful user information</title>
        <pubDate>Thu, 26 Jul 2012 07:28:29 GMT</pubDate>
        
        <dc:creator>toby</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2758#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2773</link>
        <guid isPermaLink="false">http://localhost/ticket/2773</guid>
        <title>#2773: About page needs improving</title>
        <pubDate>Mon, 30 Jul 2012 11:13:15 GMT</pubDate>
        
        <dc:creator>markw</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2773#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2788</link>
        <guid isPermaLink="false">http://localhost/ticket/2788</guid>
        <title>#2788: Speed improvements on creating/updating and indexing</title>
        <pubDate>Wed, 01 Aug 2012 14:56:32 GMT</pubDate>
        
        <dc:creator>amercader</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2788#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2829</link>
        <guid isPermaLink="false">http://localhost/ticket/2829</guid>
        <title>#2829: Archiver fails on 403 http response</title>
        <pubDate>Thu, 09 Aug 2012 10:34:44 GMT</pubDate>
        
        <dc:creator>toby</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2829#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2838</link>
        <guid isPermaLink="false">http://localhost/ticket/2838</guid>
        <title>#2838: Context variables accepted by action functions need to be documented</title>
        <pubDate>Fri, 10 Aug 2012 20:35:11 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2838#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2885</link>
        <guid isPermaLink="false">http://localhost/ticket/2885</guid>
        <title>#2885: Labels (editor, admin) not translated in authorization pages for datasets or groups</title>
        <pubDate>Wed, 22 Aug 2012 08:49:11 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description></description>
        <category>Results</category>
        <comments>http://localhost/ticket/2885#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2889</link>
        <guid isPermaLink="false">http://localhost/ticket/2889</guid>
        <title>#2889: Support JSON values in extras, when returning JSON from API</title>
        <pubDate>Fri, 24 Aug 2012 12:35:37 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2889#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2329</link>
        <guid isPermaLink="false">http://localhost/ticket/2329</guid>
        <title>#2329: Add back in RSS/Atom links on relevant pages</title>
        <pubDate>Thu, 26 Apr 2012 12:15:40 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
E.g. on dataset page, on revision page, on user page and on search results.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2329#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2654</link>
        <guid isPermaLink="false">http://localhost/ticket/2654</guid>
        <title>#2654: UI support for ordering groups on group_read page</title>
        <pubDate>Tue, 10 Jul 2012 18:11:31 GMT</pubDate>
        
        <dc:creator>ross</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2654#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2886</link>
        <guid isPermaLink="false">http://localhost/ticket/2886</guid>
        <title>#2886: Configurable related items</title>
        <pubDate>Wed, 22 Aug 2012 08:55:18 GMT</pubDate>
        
        <dc:creator>ross</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2886#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2902</link>
        <guid isPermaLink="false">http://localhost/ticket/2902</guid>
        <title>#2902: genshi is used in Group controller</title>
        <pubDate>Tue, 04 Sep 2012 18:10:30 GMT</pubDate>
        
        <dc:creator>ross</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2902#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2913</link>
        <guid isPermaLink="false">http://localhost/ticket/2913</guid>
        <title>#2913: IGroupForm has package_form() method</title>
        <pubDate>Tue, 11 Sep 2012 14:45:39 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
Should be group_form() I think
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2913#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2915</link>
        <guid isPermaLink="false">http://localhost/ticket/2915</guid>
        <title>#2915: Refactor form_to_db_schema_options()</title>
        <pubDate>Wed, 12 Sep 2012 10:37:49 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2915#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2917</link>
        <guid isPermaLink="false">http://localhost/ticket/2917</guid>
        <title>#2917: Organization admins can delete themselves</title>
        <pubDate>Wed, 12 Sep 2012 12:10:43 GMT</pubDate>
        
        <dc:creator>ross</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2917#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2920</link>
        <guid isPermaLink="false">http://localhost/ticket/2920</guid>
        <title>#2920: Genshi text template message extractor no longer needed?</title>
        <pubDate>Thu, 13 Sep 2012 09:57:29 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2920#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2921</link>
        <guid isPermaLink="false">http://localhost/ticket/2921</guid>
        <title>#2921: Add docstring to top of lib/extract.py file</title>
        <pubDate>Thu, 13 Sep 2012 10:00:07 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2921#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2922</link>
        <guid isPermaLink="false">http://localhost/ticket/2922</guid>
        <title>#2922: Better docstring for CKANInternationalizationExtension</title>
        <pubDate>Thu, 13 Sep 2012 10:01:47 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2922#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2923</link>
        <guid isPermaLink="false">http://localhost/ticket/2923</guid>
        <title>#2923: Change regularise -&gt; regularize</title>
        <pubDate>Thu, 13 Sep 2012 10:03:02 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
The function is called regularise_html(), can't remember what file it's in.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2923#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2924</link>
        <guid isPermaLink="false">http://localhost/ticket/2924</guid>
        <title>#2924: Better docs for trans js command, and add to release process</title>
        <pubDate>Thu, 13 Sep 2012 10:04:31 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2924#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2925</link>
        <guid isPermaLink="false">http://localhost/ticket/2925</guid>
        <title>#2925: Remove trans mangle paster command?</title>
        <pubDate>Thu, 13 Sep 2012 10:06:08 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2925#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2926</link>
        <guid isPermaLink="false">http://localhost/ticket/2926</guid>
        <title>#2926: I*Form tests for per-type templates</title>
        <pubDate>Thu, 13 Sep 2012 16:01:21 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2926#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2927</link>
        <guid isPermaLink="false">http://localhost/ticket/2927</guid>
        <title>#2927: Test new package/group/organization type URLs support</title>
        <pubDate>Thu, 13 Sep 2012 16:02:33 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2927#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2928</link>
        <guid isPermaLink="false">http://localhost/ticket/2928</guid>
        <title>#2928: Run CKAN tests with example_i*form extensions enabled</title>
        <pubDate>Thu, 13 Sep 2012 16:05:34 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2928#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2929</link>
        <guid isPermaLink="false">http://localhost/ticket/2929</guid>
        <title>#2929: Remove is_fallback() from I*Form extension interfaces?</title>
        <pubDate>Thu, 13 Sep 2012 16:09:57 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2929#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2931</link>
        <guid isPermaLink="false">http://localhost/ticket/2931</guid>
        <title>#2931: Better docstring for app_globals.py</title>
        <pubDate>Mon, 17 Sep 2012 14:13:14 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
&lt;strong&gt; The application's Globals object &lt;/strong&gt; is not very informative.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2931#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2932</link>
        <guid isPermaLink="false">http://localhost/ticket/2932</guid>
        <title>#2932: Add docstring to system_info.py</title>
        <pubDate>Mon, 17 Sep 2012 14:50:29 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2932#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2933</link>
        <guid isPermaLink="false">http://localhost/ticket/2933</guid>
        <title>#2933: Update theming docs</title>
        <pubDate>Mon, 17 Sep 2012 15:21:12 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2933#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2956</link>
        <guid isPermaLink="false">http://localhost/ticket/2956</guid>
        <title>#2956: Allow for resource editing in CKAN 2.0</title>
        <pubDate>Wed, 03 Oct 2012 15:11:40 GMT</pubDate>
        
        <dc:creator>johnmartin</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2956#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2961</link>
        <guid isPermaLink="false">http://localhost/ticket/2961</guid>
        <title>#2961: Preview plugin endpoint</title>
        <pubDate>Mon, 08 Oct 2012 11:39:27 GMT</pubDate>
        
        <dc:creator>dominik</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2961#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2964</link>
        <guid isPermaLink="false">http://localhost/ticket/2964</guid>
        <title>#2964: Last organization admin can remove herself</title>
        <pubDate>Mon, 15 Oct 2012 10:14:18 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2964#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2966</link>
        <guid isPermaLink="false">http://localhost/ticket/2966</guid>
        <title>#2966: 'Add' button text is wrong when editing organization members</title>
        <pubDate>Mon, 15 Oct 2012 10:15:49 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2966#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2967</link>
        <guid isPermaLink="false">http://localhost/ticket/2967</guid>
        <title>#2967: Organization members edit page reloads after demoting self</title>
        <pubDate>Mon, 15 Oct 2012 10:17:07 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2967#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2968</link>
        <guid isPermaLink="false">http://localhost/ticket/2968</guid>
        <title>#2968: Anyone can access organization members page</title>
        <pubDate>Mon, 15 Oct 2012 10:19:15 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2968#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2969</link>
        <guid isPermaLink="false">http://localhost/ticket/2969</guid>
        <title>#2969: Group members page 500s</title>
        <pubDate>Mon, 15 Oct 2012 10:20:54 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2969#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2970</link>
        <guid isPermaLink="false">http://localhost/ticket/2970</guid>
        <title>#2970: Organization and group member links use id not name</title>
        <pubDate>Mon, 15 Oct 2012 10:22:11 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
e.g. it the 'Members' button links to /organization/members/0a44... instead of /organization/members/foobar
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2970#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2971</link>
        <guid isPermaLink="false">http://localhost/ticket/2971</guid>
        <title>#2971: "Are ytou sure you want to delete this member?" should say which member</title>
        <pubDate>Mon, 15 Oct 2012 10:27:20 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
when deleting members from groups and orgs
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2971#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2972</link>
        <guid isPermaLink="false">http://localhost/ticket/2972</guid>
        <title>#2972: Remove any imports of authz.py and delete file</title>
        <pubDate>Mon, 15 Oct 2012 10:37:22 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
it is no longer used
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2972#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2973</link>
        <guid isPermaLink="false">http://localhost/ticket/2973</guid>
        <title>#2973: Move new_authz.py into logic/auth/__init__.py</title>
        <pubDate>Mon, 15 Oct 2012 10:39:05 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2973#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2974</link>
        <guid isPermaLink="false">http://localhost/ticket/2974</guid>
        <title>#2974: General of all auth functions</title>
        <pubDate>Mon, 15 Oct 2012 10:40:12 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2974#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2975</link>
        <guid isPermaLink="false">http://localhost/ticket/2975</guid>
        <title>#2975: Tests for auth functions and new actions</title>
        <pubDate>Mon, 15 Oct 2012 10:41:00 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2975#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2976</link>
        <guid isPermaLink="false">http://localhost/ticket/2976</guid>
        <title>#2976: Polish group and organization member pages</title>
        <pubDate>Mon, 15 Oct 2012 10:41:49 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2976#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2977</link>
        <guid isPermaLink="false">http://localhost/ticket/2977</guid>
        <title>#2977: Fix user autocomplete on group and organization member pages</title>
        <pubDate>Mon, 15 Oct 2012 10:42:29 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2977#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2978</link>
        <guid isPermaLink="false">http://localhost/ticket/2978</guid>
        <title>#2978: Tests for permissions for organizations and groups</title>
        <pubDate>Mon, 15 Oct 2012 10:43:26 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2978#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2979</link>
        <guid isPermaLink="false">http://localhost/ticket/2979</guid>
        <title>#2979: Requesting membership to groups and organizations</title>
        <pubDate>Mon, 15 Oct 2012 10:44:04 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
From Toby: The requesting membership user stories and implementation remain needed
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2979#changelog</comments>
    </item>
 </channel>
</rss>