<?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=summary</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=summary</link>
    </image>
    <generator>Trac 0.12.3</generator>
    <item>
        <link>http://localhost/ticket/2989</link>
        <guid isPermaLink="false">http://localhost/ticket/2989</guid>
        <title>#2989: "Add dataset to organization" should auto-select the organization</title>
        <pubDate>Mon, 15 Oct 2012 11:04:12 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
'Add dataset to organization' button, when you get through to the third stage of the new dataset form the organization you came from is not selected.
&lt;/p&gt;
&lt;p&gt;
I don't see any option to choose the group when adding or updating a dataset, but if I add a dataset via the "Add dataset to group" button on a group's page, then the dataset seems to get added to that group. (And I can also add/remove existing datasets by editing the group.) I wonder if organizations should work the same way, instead of having an Organization drop-down when creating or updating a dataset. The add dataset page needs to somehow indicate that you're adding a dataset to a certain group or organization though, doesn't currently.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2989#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/369</link>
        <guid isPermaLink="false">http://localhost/ticket/369</guid>
        <title>#369: "Package Listing Key" should appear on Tag results</title>
        <pubDate>Thu, 22 Jul 2010 18:00:34 GMT</pubDate>
        
        <dc:creator>shudson@…</dc:creator>

        <description>&lt;p&gt;
Currently there's a nice legend titled "Package Listing Key" that appears in right side of "Browse Packages" results. The same key should show on other search results like when searching for a tag.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/369#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2993</link>
        <guid isPermaLink="false">http://localhost/ticket/2993</guid>
        <title>#2993: "logged_in" and "visitor" show in user list at /users</title>
        <pubDate>Wed, 17 Oct 2012 09:42:02 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description></description>
        <category>Results</category>
        <comments>http://localhost/ticket/2993#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/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/2265</link>
        <guid isPermaLink="false">http://localhost/ticket/2265</guid>
        <title>#2265: 'More Like This' for a dataset</title>
        <pubDate>Tue, 27 Mar 2012 16:20:20 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
When viewing a dataset, it would be nice to show a couple of 'Related Datasets'. i.e. ones that are similar.
&lt;/p&gt;
&lt;p&gt;
SOLR has a feature for finding documents similar to a particular document, called 'More Like This'.
&lt;/p&gt;
&lt;p&gt;
We would like this for DGU.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2265#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2607</link>
        <guid isPermaLink="false">http://localhost/ticket/2607</guid>
        <title>#2607: 'Upload a file' appears on resource form when storage not enabled</title>
        <pubDate>Wed, 27 Jun 2012 13:30:08 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
if the user tries to upload a file they will get "Failed to get credentials for storage upload. Upload cannot proceed"
&lt;/p&gt;
&lt;p&gt;
Maybe add a test for it this time, this bug has appeared and reappeared before
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2607#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2411</link>
        <guid isPermaLink="false">http://localhost/ticket/2411</guid>
        <title>#2411: .ini file is a mess</title>
        <pubDate>Tue, 22 May 2012 11:41:40 GMT</pubDate>
        
        <dc:creator>markw</dc:creator>

        <description>&lt;p&gt;
The .ini file needs cleaning up in assorted ways which Toby will expand upon.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2411#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2870</link>
        <guid isPermaLink="false">http://localhost/ticket/2870</guid>
        <title>#2870: 1.8 tag_list not defined</title>
        <pubDate>Thu, 16 Aug 2012 10:58:52 GMT</pubDate>
        
        <dc:creator>ross</dc:creator>

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

        <description>&lt;p&gt;
Currently have 'active' and 'deleted' suggest also:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;'draft'
&lt;/li&gt;&lt;li&gt;'hidden'
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
(Do we need both). Also write out workflows related to these.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1697#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/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/2997</link>
        <guid isPermaLink="false">http://localhost/ticket/2997</guid>
        <title>#2997: Add activity streams to dataset pages</title>
        <pubDate>Wed, 17 Oct 2012 14:31:46 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
Add an activity stream tab to dataset pages, like we have on user profile pages. Dataset activity streams are already implemented in the backend.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2997#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2998</link>
        <guid isPermaLink="false">http://localhost/ticket/2998</guid>
        <title>#2998: Add activity streams to group pages</title>
        <pubDate>Wed, 17 Oct 2012 14:33:14 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

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

        <description>&lt;p&gt;
Before we do this we need to merge the organizations branch into master, we need to implement smarter activity streams for organizations, and we need to implement following of organizations.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2999#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1667</link>
        <guid isPermaLink="false">http://localhost/ticket/1667</guid>
        <title>#1667: Add an extension point for rendering activity streams</title>
        <pubDate>Tue, 17 Jan 2012 10:29:11 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
Currently rendering of activity stream events to HTML works by looking up a rendering function in a dictionary that maps activity types ('new package', 'changed group', etc.) to rendering functions that take an activity stream event and return the rendered HTML.
&lt;/p&gt;
&lt;p&gt;
There needs to be an extension point where extensions can register their own rendering functions for particular activity types.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1667#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/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/2991</link>
        <guid isPermaLink="false">http://localhost/ticket/2991</guid>
        <title>#2991: Add blocks to header.html template</title>
        <pubDate>Tue, 16 Oct 2012 11:10:20 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
Currently if you want to customise the header.html template you have to copy the whole thing, it isn't broken up into blocks like other templates are.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2991#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2905</link>
        <guid isPermaLink="false">http://localhost/ticket/2905</guid>
        <title>#2905: Add dataset URL key behaviour</title>
        <pubDate>Wed, 05 Sep 2012 14:28:03 GMT</pubDate>
        
        <dc:creator>johnmartin</dc:creator>

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

        <description>&lt;p&gt;
If you hover the mouse over a dataset or user in an activity stream, you now get a popover with some info about that dataset or user and a follow/unfollow button.
&lt;/p&gt;
&lt;p&gt;
These popovers should appear wherever datasets or users are listed, throughout the site.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2994#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/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/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/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/1643</link>
        <guid isPermaLink="false">http://localhost/ticket/1643</guid>
        <title>#1643: Add fixed tags to thedatahub for better browsing</title>
        <pubDate>Thu, 12 Jan 2012 18:34:53 GMT</pubDate>
        
        <dc:creator>shevski</dc:creator>

        <description>&lt;p&gt;
Similar to publicdata.eu, want to have themed areas such as finance, environment, census, etc and country tags
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1643#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/3005</link>
        <guid isPermaLink="false">http://localhost/ticket/3005</guid>
        <title>#3005: Add following/unfollowing of groups: model, API, frontend, tests</title>
        <pubDate>Tue, 23 Oct 2012 17:35:44 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description></description>
        <category>Results</category>
        <comments>http://localhost/ticket/3005#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2914</link>
        <guid isPermaLink="false">http://localhost/ticket/2914</guid>
        <title>#2914: Add form_to_db_schema_options() to IDatasetForm and IGroupForm</title>
        <pubDate>Wed, 12 Sep 2012 10:29:55 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
This optional method is supported when creating or updating groups and packages and is used in &lt;a class="missing wiki"&gt;DefaultGroupForm?&lt;/a&gt; and &lt;a class="missing wiki"&gt;DefaultPackageForm?&lt;/a&gt;, but seems to be missing from the interfaces. Should be added with docstring.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2914#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2883</link>
        <guid isPermaLink="false">http://localhost/ticket/2883</guid>
        <title>#2883: Add high level dev overview to 'For CKAN Developers' section of docs</title>
        <pubDate>Tue, 21 Aug 2012 10:52:35 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
Here's a draft: &lt;a class="ext-link" href="https://gist.github.com/3414107"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://gist.github.com/3414107&lt;/a&gt;
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2883#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/1165</link>
        <guid isPermaLink="false">http://localhost/ticket/1165</guid>
        <title>#1165: Add multi-site support to ckan</title>
        <pubDate>Thu, 26 May 2011 12:41:07 GMT</pubDate>
        
        <dc:creator>nils.toedtmann</dc:creator>

        <description>&lt;p&gt;
Currently, each ckan site needs its own ckan wsgi process. That eats a lot of resources where many ckan sites are served from one machine (e.g. eu3).
&lt;/p&gt;
&lt;p&gt;
That would dramatically change if a ckan process could behave like multiple ckans (e.g. like Apache's "&amp;lt;&lt;a class="missing wiki"&gt;VirtualHost?&lt;/a&gt;&amp;gt;", or tracd). Depending on the "Host:" header in the HTTP1.1 request, it would choose which local ckan ini file to obey.
&lt;/p&gt;
&lt;p&gt;
I see two ways to constitute the map hostname-to-ini-file map:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;ckan reads a set of ini files, and each ini file declares which servers names it is responsible for
&lt;/li&gt;&lt;li&gt;In a global ini file, there are directives mapping servernames to ini files.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
In either case there should be a global ckan ini having the default settings for all local ckan sites. Each site ini could be very short then, just having e.g. title, name, database credentials, active plugins etc.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1165#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/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/2683</link>
        <guid isPermaLink="false">http://localhost/ticket/2683</guid>
        <title>#2683: Add no-cache header to _tracking API call's response to make sure it doesn't get cached</title>
        <pubDate>Mon, 16 Jul 2012 13:49:37 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description></description>
        <category>Results</category>
        <comments>http://localhost/ticket/2683#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/3000</link>
        <guid isPermaLink="false">http://localhost/ticket/3000</guid>
        <title>#3000: Add number of followers to dataset pages</title>
        <pubDate>Wed, 17 Oct 2012 14:36:00 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
User profile pages now show some interesting stats about the user: num. datasets, num. edits and num. followers. Would be nice to add some similar info to dataset pages. At least num. followers can be done (already implemented in backend).
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/3000#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2861</link>
        <guid isPermaLink="false">http://localhost/ticket/2861</guid>
        <title>#2861: Add qa breadcrumb</title>
        <pubDate>Thu, 16 Aug 2012 10:47:26 GMT</pubDate>
        
        <dc:creator>shevski</dc:creator>

        <description>&lt;p&gt;
can we add in the breadcrumb navigation to qa pages so that you can go back to &lt;a class="ext-link" href="http://s031.okserver.org:2375/qa"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/qa&lt;/a&gt; from sub pages such as &lt;a class="ext-link" href="http://s031.okserver.org:2375/qa/dataset/five_stars"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/qa/dataset/five_stars&lt;/a&gt;
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2861#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/3025</link>
        <guid isPermaLink="false">http://localhost/ticket/3025</guid>
        <title>#3025: Add requests to core requirements</title>
        <pubDate>Tue, 27 Nov 2012 21:35:24 GMT</pubDate>
        
        <dc:creator>amercader</dc:creator>

        <description>&lt;p&gt;
Because yes please
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/3025#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/895</link>
        <guid isPermaLink="false">http://localhost/ticket/895</guid>
        <title>#895: Add version number (or simular) to css/js includes query string</title>
        <pubDate>Thu, 06 Jan 2011 19:49:42 GMT</pubDate>
        
        <dc:creator>memespring</dc:creator>

        <description>&lt;p&gt;
Updates to css after a new deploy don't come through without a hard refresh. Adding the version number to the include urls will solve this e.g.
&lt;/p&gt;
&lt;p&gt;
mycssfile.css?v=12345678
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/895#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1824</link>
        <guid isPermaLink="false">http://localhost/ticket/1824</guid>
        <title>#1824: Add vocabulary pages</title>
        <pubDate>Tue, 21 Feb 2012 17:24:49 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
For a free tag foo you can visit the page at /tag/foo and see a list of all the datasets that have the tag foo, and when the tag appears on dataset view pages etc. it's linked to this tag page.
&lt;/p&gt;
&lt;p&gt;
We should do the same thing for vocabulary tags. A tag bar in vocabulary baz should be hyperlinked to a page /tag/baz/bar, or perhaps /vocab/baz/bar.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1824#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2200</link>
        <guid isPermaLink="false">http://localhost/ticket/2200</guid>
        <title>#2200: Add vocabulary_id option to tag_show() logic action function</title>
        <pubDate>Wed, 29 Feb 2012 16:41:18 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
Currently tag_show() only works with free tags, it's not possible to get a tag_show for a vocabulary tag.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2200#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/3007</link>
        <guid isPermaLink="false">http://localhost/ticket/3007</guid>
        <title>#3007: Adding a dataset creates multiple activities</title>
        <pubDate>Mon, 29 Oct 2012 13:15:07 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
Adding a new dataset creates multiple activity stream activities, e.g. seanh created the dataset foo, seanh add the resource bar to the dataset foo, and seanh updated the dataset foo are all created when I add a new dataset. I wonder if these can be collapsed into a single activity.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/3007#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1565</link>
        <guid isPermaLink="false">http://localhost/ticket/1565</guid>
        <title>#1565: Admin dashboard finished?</title>
        <pubDate>Mon, 19 Dec 2011 11:11:32 GMT</pubDate>
        
        <dc:creator>jilly mathews</dc:creator>

        <description>&lt;p&gt;
Is testing complete and ready for release?
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1565#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1185</link>
        <guid isPermaLink="false">http://localhost/ticket/1185</guid>
        <title>#1185: Administrators can't delete packages from web UI</title>
        <pubDate>Wed, 15 Jun 2011 04:23:38 GMT</pubDate>
        
        <dc:creator>timmcnamara</dc:creator>

        <description>&lt;p&gt;
Administrators have "View", "Edit" and "History" tabs. However, I can't see a way to delete a package from the web UI.
&lt;/p&gt;
&lt;p&gt;
Version: CKAN.net as of today
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1185#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1749</link>
        <guid isPermaLink="false">http://localhost/ticket/1749</guid>
        <title>#1749: Allow creating activity details through API</title>
        <pubDate>Sun, 05 Feb 2012 18:10:06 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
Currently the activity_create() logic action function only lets you create top-level activity stream items, and not their related activity details. It should handle activity details via nested dicts.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1749#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1188</link>
        <guid isPermaLink="false">http://localhost/ticket/1188</guid>
        <title>#1188: Allow diffing against initial (blank) package version</title>
        <pubDate>Wed, 15 Jun 2011 15:52:40 GMT</pubDate>
        
        <dc:creator>nickstenning</dc:creator>

        <description>&lt;p&gt;
Currently the history page only allows diffing between different versions of a package, but there doesn't appear to be any easy way to see the changes introduced by the first version of a package.
&lt;/p&gt;
&lt;p&gt;
I'm requesting the ability to diff against a "blank slate" initial state of a project, so I can see the content of the first project commit.
&lt;/p&gt;
&lt;p&gt;
Not sure if this is a vdm feature, so I'm putting this ticket in against ckan.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1188#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/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/2688</link>
        <guid isPermaLink="false">http://localhost/ticket/2688</guid>
        <title>#2688: Allow ordering of groups in WUI</title>
        <pubDate>Tue, 17 Jul 2012 10:27:55 GMT</pubDate>
        
        <dc:creator>ross</dc:creator>

        <description>&lt;p&gt;
Currently the group_index page just shows the entire list of groups, forcing the ordering to be by name.  It would be better if it could be sortable by name (or reversed) or by package_count (or reversed)
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2688#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1550</link>
        <guid isPermaLink="false">http://localhost/ticket/1550</guid>
        <title>#1550: Allow simple auth via the API</title>
        <pubDate>Fri, 16 Dec 2011 15:29:29 GMT</pubDate>
        
        <dc:creator>ross</dc:creator>

        <description>&lt;p&gt;
It should be possible to pass userid/username and api key and obtain a response from CKAN for external services that use CKAN auth. Those services shouldn't be talking to the DB directly.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1550#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/1573</link>
        <guid isPermaLink="false">http://localhost/ticket/1573</guid>
        <title>#1573: Apps and Ideas</title>
        <pubDate>Mon, 19 Dec 2011 11:36:33 GMT</pubDate>
        
        <dc:creator>jilly mathews</dc:creator>

        <description>&lt;p&gt;
Estimate 2 weeks for someone to finish and test.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1573#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/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/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/1120</link>
        <guid isPermaLink="false">http://localhost/ticket/1120</guid>
        <title>#1120: Atom feeds of each tag</title>
        <pubDate>Mon, 02 May 2011 04:08:05 GMT</pubDate>
        
        <dc:creator>tsm</dc:creator>

        <description>&lt;p&gt;
Tags could/should have an Atom feed. This would mean that every edit to relevant packages could be easily monitored. See &lt;a class="missing changeset" title="No default repository defined"&gt;[1]&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;a class="missing changeset" title="No default repository defined"&gt;[1]&lt;/a&gt; &lt;a class="ext-link" href="http://lists.okfn.org/pipermail/ckan-discuss/2011-May/001162.html"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://lists.okfn.org/pipermail/ckan-discuss/2011-May/001162.html&lt;/a&gt;
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1120#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2984</link>
        <guid isPermaLink="false">http://localhost/ticket/2984</guid>
        <title>#2984: Auto-populate context with user, model, session, etc.</title>
        <pubDate>Mon, 15 Oct 2012 10:48:21 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
From Toby: make the context auto-populated with things like user/model/session if
not user supplied - especially for extensions (pre 2.0) maybe via a helper
or else a decorator on the action - helper seems nicer maybe done via
get_action()
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2984#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2404</link>
        <guid isPermaLink="false">http://localhost/ticket/2404</guid>
        <title>#2404: Auto-screenshot for related items</title>
        <pubDate>Mon, 21 May 2012 06:55:47 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
As a User I want an image generated for my related item automatically so that I do not have to take picture myself and upload it somewhere
&lt;/p&gt;
&lt;p&gt;
Implementation: (?) Use phantomjs or something like &lt;a class="ext-link" href="http://snapito.com/"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://snapito.com/&lt;/a&gt;
Investigate for 1.8, will be needed for TDH Oct.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2404#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/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/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/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/1457</link>
        <guid isPermaLink="false">http://localhost/ticket/1457</guid>
        <title>#1457: Bug with DataNL instance</title>
        <pubDate>Thu, 10 Nov 2011 11:37:21 GMT</pubDate>
        
        <dc:creator>jilly.mathews</dc:creator>

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

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

        <description>&lt;p&gt;
Just a ticket to keep track of a few suggested template changes.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/3016#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/837</link>
        <guid isPermaLink="false">http://localhost/ticket/837</guid>
        <title>#837: CKAN integration with freebase gridworks / google refine</title>
        <pubDate>Tue, 30 Nov 2010 18:10:09 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

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

        <description>&lt;p&gt;
Most articles still refer and link to ckan.net, wiki.ckan.net and to packages
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1384#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2725</link>
        <guid isPermaLink="false">http://localhost/ticket/2725</guid>
        <title>#2725: Case sensitivity on tags</title>
        <pubDate>Sun, 22 Jul 2012 09:34:27 GMT</pubDate>
        
        <dc:creator>shevski</dc:creator>

        <description>&lt;p&gt;
My feeling is that 'country-US' and 'country-us' should be the same tag. However currently tags with caps are treated differently
&lt;/p&gt;
&lt;p&gt;
see &lt;a class="ext-link" href="http://s031.okserver.org:2375/en/dataset/test-dataset"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/en/dataset/test-dataset&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
with TEST and test - there also get indexed twice in the search page
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2725#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/2795</link>
        <guid isPermaLink="false">http://localhost/ticket/2795</guid>
        <title>#2795: Check validation of HTML, CSS, JS</title>
        <pubDate>Thu, 02 Aug 2012 10:25:28 GMT</pubDate>
        
        <dc:creator>toby</dc:creator>

        <description>&lt;p&gt;
Ensure that we are being standards compliant
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2795#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2943</link>
        <guid isPermaLink="false">http://localhost/ticket/2943</guid>
        <title>#2943: Chrome does not resize preview</title>
        <pubDate>Mon, 01 Oct 2012 11:08:06 GMT</pubDate>
        
        <dc:creator>dominik</dc:creator>

        <description>&lt;p&gt;
Chrome does not resize iframe after a full refresh/ on first load
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2943#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2874</link>
        <guid isPermaLink="false">http://localhost/ticket/2874</guid>
        <title>#2874: Clean up bin directory</title>
        <pubDate>Fri, 17 Aug 2012 08:01:48 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
Full of obsolete material
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2874#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1790</link>
        <guid isPermaLink="false">http://localhost/ticket/1790</guid>
        <title>#1790: Click to delete tags, rather than have all existing tags in the tag text box</title>
        <pubDate>Fri, 10 Feb 2012 15:44:34 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

        <description>&lt;p&gt;
From Pablo:
&lt;/p&gt;
&lt;p&gt;
Editing the tags field is clumsy when there are too many tags. Could
show existing effectively as tags (like delicious), then allow clicks
to delete. New tags added via text box.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1790#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2890</link>
        <guid isPermaLink="false">http://localhost/ticket/2890</guid>
        <title>#2890: Collect data previews and data store docs in one chapter</title>
        <pubDate>Tue, 28 Aug 2012 10:20:36 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

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

        <description>&lt;p&gt;
When a package has been deleted, say for spam moderation, comments still appear in the recent comments section.
&lt;/p&gt;
&lt;p&gt;
This is a problem because non-admin users will be shown a warning that they're not authorised to view the package if they click on the link.
&lt;/p&gt;
&lt;p&gt;
At CKAN.net currently, this affects the most recent comment.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1182#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1557</link>
        <guid isPermaLink="false">http://localhost/ticket/1557</guid>
        <title>#1557: Complete Webstore Preview Extension</title>
        <pubDate>Mon, 19 Dec 2011 10:40:53 GMT</pubDate>
        
        <dc:creator>jilly mathews</dc:creator>

        <description>&lt;p&gt;
Finish any work out standing on web store preview extension to be able to package and release.
&lt;/p&gt;
&lt;p&gt;
Ref James and I going through existing features and trying to mention any polishing that needed doing to get exiting features ready for release with projects such as CKAN hosted.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1557#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/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/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/2813</link>
        <guid isPermaLink="false">http://localhost/ticket/2813</guid>
        <title>#2813: Confusing sidebar on demo dataset page</title>
        <pubDate>Wed, 08 Aug 2012 10:03:26 GMT</pubDate>
        
        <dc:creator>markw</dc:creator>

        <description>&lt;p&gt;
On a dataset page on demo.ckan.org, the left sidebar is confusing.
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;It starts with some random links. Actually they are links to groups which the dataset is in, but this isn't clear.
&lt;/li&gt;&lt;li&gt;The sidebar elements that are actually part of the dataset are 'Datset extent' and 'License', so these should be right at the top (if they belong in the sidebar at all), instead of which they are right at the bottom in the junk part of the page (i.e. probably lower than the bottom of the main page, and hence lower than anyone will scroll).
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2813#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2287</link>
        <guid isPermaLink="false">http://localhost/ticket/2287</guid>
        <title>#2287: Consistent datetime and time period strings localization</title>
        <pubDate>Thu, 12 Apr 2012 18:08:43 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

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

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

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

        <description></description>
        <category>Results</category>
        <comments>http://localhost/ticket/1273#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/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/2258</link>
        <guid isPermaLink="false">http://localhost/ticket/2258</guid>
        <title>#2258: Customizable contributor agreement</title>
        <pubDate>Mon, 26 Mar 2012 08:45:49 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;ul&gt;&lt;li&gt;Customize text at bottom of forms
&lt;/li&gt;&lt;li&gt;Also need to make clear that this does not apply to the data itself (that is covered by the license you choose on your dataset ...)
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2258#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/909</link>
        <guid isPermaLink="false">http://localhost/ticket/909</guid>
        <title>#909: DCat importer for CKAN</title>
        <pubDate>Mon, 17 Jan 2011 12:05:58 GMT</pubDate>
        
        <dc:creator>pudo</dc:creator>

        <description>&lt;p&gt;
Write an importer that supports most well known variants of DCat in importing the data as CKAN packages. In particular, the following sources should be supported:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;CKANrdf generated exports
&lt;/li&gt;&lt;li&gt;opengov.se RDF (not really DCat)
&lt;/li&gt;&lt;li&gt;Sunlight Nationdatacatalog as harvested by dcat-tools.
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/909#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/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/2888</link>
        <guid isPermaLink="false">http://localhost/ticket/2888</guid>
        <title>#2888: Datapreview in Iframe</title>
        <pubDate>Thu, 23 Aug 2012 18:11:01 GMT</pubDate>
        
        <dc:creator>kindly</dc:creator>

        <description>&lt;p&gt;
Try and put datapreview in Iframe.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2888#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2513</link>
        <guid isPermaLink="false">http://localhost/ticket/2513</guid>
        <title>#2513: Dataproxy should not default to utf8</title>
        <pubDate>Wed, 13 Jun 2012 08:23:40 GMT</pubDate>
        
        <dc:creator>ross</dc:creator>

        <description>&lt;p&gt;
Unless explicitly told by the source web server the dataproxy should not assume that the content it has can be encoded as UTF-8.  Even though the chars from 128 - 255 overlap an attempt to decode some byte array as utf8 will fail whenever a latin1 char whose bitpattern has the MSB set.
&lt;/p&gt;
&lt;p&gt;
This will mean that the UTF8Recoder can be more rigid in its acceptance of data, Postel aside.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2513#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2735</link>
        <guid isPermaLink="false">http://localhost/ticket/2735</guid>
        <title>#2735: Dataset order on user page</title>
        <pubDate>Mon, 23 Jul 2012 17:01:17 GMT</pubDate>
        
        <dc:creator>shevski</dc:creator>

        <description>&lt;p&gt;
I think the datasets on user pages &lt;a class="ext-link" href="http://s031.okserver.org:2375/user/me"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://s031.okserver.org:2375/user/me&lt;/a&gt;
should be ordered by latest updated (with most recent at the top) instead of in alphabetical order.
&lt;/p&gt;
&lt;p&gt;
What do you think?
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2735#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2908</link>
        <guid isPermaLink="false">http://localhost/ticket/2908</guid>
        <title>#2908: Dataset related with image should retain aspect ratio</title>
        <pubDate>Thu, 06 Sep 2012 11:32:42 GMT</pubDate>
        
        <dc:creator>johnmartin</dc:creator>

        <description>&lt;p&gt;
At the moment if you have an related item with an image associated to a dataset that appears in the side column it's resized but doesn't keep it's original aspect ratio.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2908#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/1679</link>
        <guid isPermaLink="false">http://localhost/ticket/1679</guid>
        <title>#1679: Default roles problem</title>
        <pubDate>Tue, 17 Jan 2012 17:57:22 GMT</pubDate>
        
        <dc:creator>dread</dc:creator>

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

        <description></description>
        <category>Results</category>
        <comments>http://localhost/ticket/2992#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1341</link>
        <guid isPermaLink="false">http://localhost/ticket/1341</guid>
        <title>#1341: Delete spam users from ckan</title>
        <pubDate>Wed, 14 Sep 2011 10:10:34 GMT</pubDate>
        
        <dc:creator>kindly</dc:creator>

        <description>&lt;p&gt;
Spam users where added to thedatahub and we need to clean them.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1341#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2814</link>
        <guid isPermaLink="false">http://localhost/ticket/2814</guid>
        <title>#2814: Demo: upload file behaves oddly</title>
        <pubDate>Wed, 08 Aug 2012 10:06:00 GMT</pubDate>
        
        <dc:creator>markw</dc:creator>

        <description>&lt;ol start="3"&gt;&lt;li&gt;Uploading a file behaves counter-intuitively (I would suggest wrongly).
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
When adding a new resource by uploading a file, I select a file called
say create-group.png. I expect the following to happen:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;the pathname of that file is filled in the box;
&lt;/li&gt;&lt;li&gt;nothing is actually uploaded till I hit 'add' (confirming that I've got the right file etc).
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Instead of this,
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;the file is immediately and, seemingly, irrevocably uploaded;
&lt;/li&gt;&lt;li&gt;the box is filled with a mysterious URL (&lt;a class="ext-link" href="https://commondatastorage.googleapis.com/ckan-demo"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;https://commondatastorage.googleapis.com/ckan-demo&lt;/a&gt; ...)
&lt;/li&gt;&lt;li&gt;the mysterious URL is so long I can't even see the final element, which is my file name.
&lt;/li&gt;&lt;/ul&gt;</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2814#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/1227</link>
        <guid isPermaLink="false">http://localhost/ticket/1227</guid>
        <title>#1227: Display packages' tags in search results</title>
        <pubDate>Tue, 19 Jul 2011 00:11:02 GMT</pubDate>
        
        <dc:creator>timmcnamara</dc:creator>

        <description>&lt;p&gt;
In when displaying search results, it would be useful to also display the tags of a package. Sometimes it's difficult to infer the scope of what the package does from the title and the first sentence of the description. Tags are quite concise way to display rich information.
&lt;/p&gt;
&lt;p&gt;
ENV=datacatalos.org, with CKAN 1.4.2a
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1227#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/2202</link>
        <guid isPermaLink="false">http://localhost/ticket/2202</guid>
        <title>#2202: Display page view count on dataset and resource pages</title>
        <pubDate>Sat, 03 Mar 2012 09:04:15 GMT</pubDate>
        
        <dc:creator>rgrp</dc:creator>

        <description>&lt;p&gt;
Just like we display download counts we should display view counts.
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2202#changelog</comments>
    </item><item>
        <link>http://localhost/ticket/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/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/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/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>
 </channel>
</rss>