<?xml version="1.0"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>CKAN: Ticket #322: Client interface for Notification Service</title>
    <link>http://localhost/ticket/322</link>
    <description>&lt;h3 id="Usecases"&gt;Use cases&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Register for package changes
&lt;/li&gt;&lt;li&gt;Register for all revisions
&lt;/li&gt;&lt;li&gt;Notified of a package change
&lt;/li&gt;&lt;li&gt;Notified of a revision
&lt;/li&gt;&lt;li&gt;Deregistration
&lt;/li&gt;&lt;li&gt;Configuration of port in pylons config
&lt;/li&gt;&lt;/ul&gt;&lt;h3 id="Design"&gt;Design&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;Default port: 5672 (standard for AMQP)
&lt;/li&gt;&lt;li&gt;Exchange name: 'ckan'
&lt;/li&gt;&lt;li&gt;Exchange type: topic exchange (most flexible)
&lt;/li&gt;&lt;li&gt;Routing keys: (see below)
&lt;/li&gt;&lt;/ul&gt;&lt;h3 id="Routingdetail"&gt;Routing detail&lt;/h3&gt;
&lt;p&gt;
Routing key format: "OBJ_TYPE"
(NB tags should be identified by their name, not ID)
&lt;/p&gt;
&lt;p&gt;
Example routing keys
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;'package' - Package edited/created
&lt;/li&gt;&lt;li&gt;'resource' - Resource edited/created
&lt;/li&gt;&lt;li&gt;'revision' - Any change
&lt;/li&gt;&lt;li&gt;'db.clean'
&lt;/li&gt;&lt;li&gt;'db.rebuild'
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
Example queue bindings that clients may use:
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;* - no filtering - client receives all notifications
&lt;/li&gt;&lt;li&gt;package - only changes to packages
&lt;/li&gt;&lt;li&gt;revision - all revisions
&lt;/li&gt;&lt;li&gt;db - all database operations
&lt;/li&gt;&lt;/ul&gt;&lt;h3 id="Versioning"&gt;Versioning&lt;/h3&gt;
&lt;p&gt;
Since message payloads will be tied into the REST Entities, it makes sense to join up with the REST versioning. This could be achieved by providing new exchanges called 'ckan-1.1' perhaps?
&lt;/p&gt;
&lt;h3 id="Documentation"&gt;Documentation&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;How to use
&lt;/li&gt;&lt;li&gt;simple example of an external client?
&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/322</link>
    </image>
    <generator>Trac 0.12.3</generator>
    <item>
      
        <dc:creator>dread</dc:creator>

      <pubDate>Mon, 24 May 2010 17:57:56 GMT</pubDate>
      <title>description changed</title>
      <link>http://localhost/ticket/322#comment:1</link>
      <guid isPermaLink="false">http://localhost/ticket/322#comment:1</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;
              modified (&lt;a href="/ticket/322?action=diff&amp;amp;version=1"&gt;diff&lt;/a&gt;)
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>pudo</dc:creator>

      <pubDate>Tue, 25 May 2010 07:50:56 GMT</pubDate>
      <title></title>
      <link>http://localhost/ticket/322#comment:2</link>
      <guid isPermaLink="false">http://localhost/ticket/322#comment:2</guid>
      <description>
        &lt;p&gt;
This looks very reasonable. Maybe we should have a webhooks client as a simple demo for this?
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>pudo</dc:creator>

      <pubDate>Tue, 25 May 2010 17:12:10 GMT</pubDate>
      <title></title>
      <link>http://localhost/ticket/322#comment:3</link>
      <guid isPermaLink="false">http://localhost/ticket/322#comment:3</guid>
      <description>
        &lt;p&gt;
Replying to &lt;a href="http://localhost/ticket/322#comment:2" title="Comment 2 for Ticket #322"&gt;pudo&lt;/a&gt;:
&lt;/p&gt;
&lt;blockquote class="citation"&gt;
&lt;p&gt;
This looks very reasonable. Maybe we should have a webhooks client as a simple demo for this?
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
c.f. &lt;a class="closed ticket" href="http://localhost/ticket/327" title="defect: Create a web hook worker for CKAN (closed: wontfix)"&gt;#327&lt;/a&gt;
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>dread</dc:creator>

      <pubDate>Thu, 27 May 2010 17:05:12 GMT</pubDate>
      <title>description changed</title>
      <link>http://localhost/ticket/322#comment:4</link>
      <guid isPermaLink="false">http://localhost/ticket/322#comment:4</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;
              modified (&lt;a href="/ticket/322?action=diff&amp;amp;version=4"&gt;diff&lt;/a&gt;)
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>dread</dc:creator>

      <pubDate>Tue, 15 Jun 2010 10:48:25 GMT</pubDate>
      <title>description, summary changed</title>
      <link>http://localhost/ticket/322#comment:5</link>
      <guid isPermaLink="false">http://localhost/ticket/322#comment:5</guid>
      <description>
          &lt;ul&gt;
            &lt;li&gt;&lt;strong&gt;description&lt;/strong&gt;
              modified (&lt;a href="/ticket/322?action=diff&amp;amp;version=5"&gt;diff&lt;/a&gt;)
            &lt;/li&gt;
            &lt;li&gt;&lt;strong&gt;summary&lt;/strong&gt;
                changed from &lt;em&gt;Interface for Notification Service&lt;/em&gt; to &lt;em&gt;Client interface for Notification Service&lt;/em&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
      </description>
      <category>Ticket</category>
    </item><item>
      
        <dc:creator>dread</dc:creator>

      <pubDate>Mon, 28 Jun 2010 11:00:21 GMT</pubDate>
      <title>status changed; resolution set</title>
      <link>http://localhost/ticket/322#comment:6</link>
      <guid isPermaLink="false">http://localhost/ticket/322#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;
Done but not pushed. Took 3.5 days.
&lt;/p&gt;
      </description>
      <category>Ticket</category>
    </item>
 </channel>
</rss>