<?xml version="1.0"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>CKAN: Ticket #43: Generic Attributes for Packages</title>
    <link>http://localhost/ticket/43</link>
    <description>&lt;h1 id="AsA"&gt;As A&lt;/h1&gt;
&lt;p&gt;
User
&lt;/p&gt;
&lt;h1 id="IWantTo"&gt;I Want To&lt;/h1&gt;
&lt;p&gt;
Add arbitrary named attributes to packages (an attribute being a name, type, value triple).
&lt;/p&gt;
&lt;h1 id="Details"&gt;Details&lt;/h1&gt;
&lt;ul&gt;&lt;li&gt;We will do this using a dedicated (versioned) table associated to Package
&lt;/li&gt;&lt;li&gt;Do we allow multiple attributes of the same name?
&lt;ul&gt;&lt;li&gt;For the present: No (since we will key by attribute name)
&lt;/li&gt;&lt;li&gt;Could allow for single attribute but with multiple values using json list ...
&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;What types do we allow or do we just rely on JSON to take care of this?
&lt;/li&gt;&lt;/ul&gt;&lt;h1 id="QuestionsOriginal"&gt;Questions (Original)&lt;/h1&gt;
&lt;ul&gt;&lt;li&gt;How complex is this to implement?
&lt;/li&gt;&lt;li&gt;What would an arbitrary user be able to edit? Possibilities:
&lt;ol&gt;&lt;li&gt;'create new attribute' and setting the value (so name and type would be chosen from predefined list).
&lt;/li&gt;&lt;li&gt;'create', setting of name and value (but not type -- type already set in predefined list)
&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;Could just use (machine) tags -- though this could be seen as a bit of a hack.
&lt;/li&gt;&lt;li&gt;Would solve having to create special file/url attributes (though I think that perhaps file stuff is important enough to merit first class support in the domain model -- though, that said, since one won't want to have a file limit adding unlimited file support is very similar to unlimited attributes of arbitrary type).
&lt;/li&gt;&lt;/ul&gt;</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/ticket/43</link>
    </image>
    <generator>Trac 0.12.3</generator>
    <item>
      
        <dc:creator>rgrp</dc:creator>

      <pubDate>Wed, 27 Feb 2008 18:03:50 GMT</pubDate>
      <title>milestone set</title>
      <link>http://localhost/ticket/43#comment:1</link>
      <guid isPermaLink="false">http://localhost/ticket/43#comment:1</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;milestone&lt;/strong&gt;
                set to &lt;em&gt;v0.6&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>rgrp</dc:creator>

      <pubDate>Mon, 23 Jun 2008 18:02:20 GMT</pubDate>
      <title>priority changed; milestone deleted</title>
      <link>http://localhost/ticket/43#comment:2</link>
      <guid isPermaLink="false">http://localhost/ticket/43#comment:2</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;priority&lt;/strong&gt;
                changed from &lt;em&gt;major&lt;/em&gt; to &lt;em&gt;minor&lt;/em&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;milestone&lt;/strong&gt;
                &lt;em&gt;v0.6&lt;/em&gt; deleted
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
This is currently low priority and should only happen after move to vdm 0.2 (sqlalchemy etc).
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>rgrp</dc:creator>

      <pubDate>Fri, 08 May 2009 10:52:23 GMT</pubDate>
      <title>priority, description changed; milestone set</title>
      <link>http://localhost/ticket/43#comment:3</link>
      <guid isPermaLink="false">http://localhost/ticket/43#comment:3</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;priority&lt;/strong&gt;
                changed from &lt;em&gt;minor&lt;/em&gt; to &lt;em&gt;critical&lt;/em&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;
              modified (&lt;a href="/ticket/43?action=diff&amp;amp;version=3"&gt;diff&lt;/a&gt;)
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;milestone&lt;/strong&gt;
                set to &lt;em&gt;v0.9&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
Started work on this using "extra" table. See &lt;a class="missing changeset" title="No default repository defined"&gt;r426&lt;/a&gt;.
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>rgrp</dc:creator>

      <pubDate>Wed, 01 Jul 2009 09:39:55 GMT</pubDate>
      <title>milestone changed</title>
      <link>http://localhost/ticket/43#comment:4</link>
      <guid isPermaLink="false">http://localhost/ticket/43#comment:4</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;milestone&lt;/strong&gt;
                changed from &lt;em&gt;v0.9&lt;/em&gt; to &lt;em&gt;v0.95&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
Making this versioned/revisioned turns out to be slightly more complex than anticipated (need a stateful associated list). So defer to 0.95
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>rgrp</dc:creator>

      <pubDate>Tue, 04 Aug 2009 18:32:42 GMT</pubDate>
      <title></title>
      <link>http://localhost/ticket/43#comment:5</link>
      <guid isPermaLink="false">http://localhost/ticket/43#comment:5</guid>
      <description>
        &lt;p&gt;
Done in model in &lt;a class="missing changeset" title="No default repository defined"&gt;changeset:7f9b19d4d54a&lt;/a&gt;: "Implement a fully *versioned* &lt;a class="missing wiki"&gt;PackageExtra?&lt;/a&gt; domain object in the model and attach to the Package object via a simple dict-like attribute named 'extras'.".
&lt;/p&gt;
&lt;p&gt;
However still need to integrate into WUI which can only happen after conversion to formalchemy (&lt;a class="closed ticket" href="http://localhost/ticket/76" title="enhancement: Convert to use formalchemy for all forms (closed: fixed)"&gt;ticket:76&lt;/a&gt;) is complete.
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>rgrp</dc:creator>

      <pubDate>Wed, 23 Sep 2009 12:43:22 GMT</pubDate>
      <title>status changed; resolution set</title>
      <link>http://localhost/ticket/43#comment:6</link>
      <guid isPermaLink="false">http://localhost/ticket/43#comment:6</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;
                changed from &lt;em&gt;new&lt;/em&gt; to &lt;em&gt;closed&lt;/em&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;resolution&lt;/strong&gt;
                set to &lt;em&gt;fixed&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;p&gt;
Split out wui work in two new tickets &lt;a class="closed ticket" href="http://localhost/ticket/124" title="enhancement: Display Generic Package Attributes in WUI (closed: fixed)"&gt;ticket:124&lt;/a&gt; (show) and &lt;a class="closed ticket" href="http://localhost/ticket/125" title="enhancement: Edit Generic Package Attributes in WUI (closed: duplicate)"&gt;ticket:125&lt;/a&gt; (edit) and therefore marking this as done.
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item>
 </channel>
</rss>