<?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;keywords=~ie&amp;order=type</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;keywords=~ie&amp;order=type</link>
    </image>
    <generator>Trac 0.12.3</generator>
    <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/1789</link>
        <guid isPermaLink="false">http://localhost/ticket/1789</guid>
        <title>#1789: Implement a tag_update() logic action function</title>
        <pubDate>Thu, 09 Feb 2012 16:36:53 GMT</pubDate>
        
        <dc:creator>seanh</dc:creator>

        <description>&lt;p&gt;
So users can rename a tag and/or move it between vocabularies using the API.
&lt;/p&gt;
&lt;p&gt;
Currently we have create_tag() and delete_tag(), but if you were to 'update' a tag by deleting it and then recreating it all the datasets that had that tag will have lost it and you'll have to re-add it to them all.
&lt;/p&gt;
&lt;p&gt;
What should happen to datasets that have the tag, if the tag gets moved between vocabularies? All the datasets just keep the tag with the new vocabulary? This will become a problem if/when we support 'radio button'-style vocabularies (where each dataset can only have one tag from the vocabulary).
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/1789#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/2961</link>
        <guid isPermaLink="false">http://localhost/ticket/2961</guid>
        <title>#2961: Preview plugin endpoint</title>
        <pubDate>Mon, 08 Oct 2012 11:39:27 GMT</pubDate>
        
        <dc:creator>dominik</dc:creator>

        <description>&lt;p&gt;
Users could write ckan extensions that offer previews for a certain datatype.
&lt;/p&gt;
&lt;p&gt;
Advantages:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;We can say that you can add your own previews
&lt;/li&gt;&lt;li&gt;Every preview would have to define it's own dependencies
&lt;/li&gt;&lt;li&gt;External development (community creates new extensions?)
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Questions to answer:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Specification of the interface
&lt;/li&gt;&lt;li&gt;Precedence of previews for the same data types
&lt;/li&gt;&lt;li&gt;Plugins only define the datatype that they are responsible for or do we call a function that returns whether the extension is responsible.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
As far as I can see, this should be fairly easy to implement by following these instructions: &lt;a class="ext-link" href="http://docs.ckan.org/en/latest/writing-extensions.html#writing-a-plugin-interface"&gt;&lt;span class="icon"&gt;​&lt;/span&gt;http://docs.ckan.org/en/latest/writing-extensions.html#writing-a-plugin-interface&lt;/a&gt;
&lt;/p&gt;
</description>
        <category>Results</category>
        <comments>http://localhost/ticket/2961#changelog</comments>
    </item>
 </channel>
</rss>