<?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;owner=icmurray&amp;desc=1&amp;order=component</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;owner=icmurray&amp;desc=1&amp;order=component</link>
    </image>
    <generator>Trac 0.12.3</generator>
    <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/2277</link>
        <guid isPermaLink="false">http://localhost/ticket/2277</guid>
        <title>#2277: Use the new atom feeds in IATI</title>
        <pubDate>Mon, 02 Apr 2012 17:10:28 GMT</pubDate>
        
        <dc:creator>icmurray</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2277#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2298</link>
        <guid isPermaLink="false">http://localhost/ticket/2298</guid>
        <title>#2298: Add sort-by controls to the search results page</title>
        <pubDate>Mon, 16 Apr 2012 09:39:22 GMT</pubDate>
        
        <dc:creator>icmurray</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2298#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2310</link>
        <guid isPermaLink="false">http://localhost/ticket/2310</guid>
        <title>#2310: Refactor the search-query construction in feeds.py</title>
        <pubDate>Mon, 16 Apr 2012 16:01:31 GMT</pubDate>
        
        <dc:creator>icmurray</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2310#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2350</link>
        <guid isPermaLink="false">http://localhost/ticket/2350</guid>
        <title>#2350: Hooks  in package controller for validating form data</title>
        <pubDate>Tue, 01 May 2012 14:16:01 GMT</pubDate>
        
        <dc:creator>icmurray</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2350#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2405</link>
        <guid isPermaLink="false">http://localhost/ticket/2405</guid>
        <title>#2405: Improvements to data viewer embed</title>
        <pubDate>Mon, 21 May 2012 06:59:25 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2405#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/2550</link>
        <guid isPermaLink="false">http://localhost/ticket/2550</guid>
        <title>#2550: User types</title>
        <pubDate>Mon, 18 Jun 2012 11:06:30 GMT</pubDate>
        
        <dc:creator>ross</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2550#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2603</link>
        <guid isPermaLink="false">http://localhost/ticket/2603</guid>
        <title>#2603: Remove deprecated 'fields' parameter from resource_search</title>
        <pubDate>Tue, 26 Jun 2012 17:10:01 GMT</pubDate>
        
        <dc:creator>icmurray</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2603#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2621</link>
        <guid isPermaLink="false">http://localhost/ticket/2621</guid>
        <title>#2621: Remove the deprecated 'fields' parameter from tag_search and tag_autocomplete</title>
        <pubDate>Thu, 28 Jun 2012 16:22:49 GMT</pubDate>
        
        <dc:creator>icmurray</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2621#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2679</link>
        <guid isPermaLink="false">http://localhost/ticket/2679</guid>
        <title>#2679: Change default behaviour of TemplateController.view to 404.</title>
        <pubDate>Mon, 16 Jul 2012 10:55:33 GMT</pubDate>
        
        <dc:creator>icmurray</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2679#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2709</link>
        <guid isPermaLink="false">http://localhost/ticket/2709</guid>
        <title>#2709: Atom feeds are undocumented</title>
        <pubDate>Wed, 18 Jul 2012 15:11:50 GMT</pubDate>
        
        <dc:creator>markw</dc:creator>

        <description>&lt;p&gt;
There doesn't seem to be any documentation yet for Atom feeds.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2709#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2784</link>
        <guid isPermaLink="false">http://localhost/ticket/2784</guid>
        <title>#2784: model dictize sensitive data</title>
        <pubDate>Wed, 01 Aug 2012 09:51:25 GMT</pubDate>
        
        <dc:creator>icmurray</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2784#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2859</link>
        <guid isPermaLink="false">http://localhost/ticket/2859</guid>
        <title>#2859: Fix the build</title>
        <pubDate>Thu, 16 Aug 2012 09:26:57 GMT</pubDate>
        
        <dc:creator>icmurray</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2859#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2959</link>
        <guid isPermaLink="false">http://localhost/ticket/2959</guid>
        <title>#2959: Changing a Group's name through the action api disassociates it from its datasets in the index</title>
        <pubDate>Thu, 04 Oct 2012 15:18:55 GMT</pubDate>
        
        <dc:creator>icmurray</dc:creator>

        <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>
        <category>Results</category>
        <comments>http://localhost/ticket/2959#changelog</comments>
    </item>
 </channel>
</rss>