id	summary	reporter	owner	description	type	status	priority	milestone	component	resolution	keywords	cc	repo	theme
322	Client interface for Notification Service	dread	dread	"=== Use cases ===
 * Register for package changes
 * Register for all revisions
 * Notified of a package change
 * Notified of a revision
 * Deregistration
 * Configuration of port in pylons config

=== Design ===
 * Default port: 5672 (standard for AMQP)
 * Exchange name: 'ckan'
 * Exchange type: topic exchange (most flexible)
 * Routing keys: (see below)

=== Routing detail ===
Routing key format: ""OBJ_TYPE""
(NB tags should be identified by their name, not ID)

Example routing keys
 * 'package' - Package edited/created
 * 'resource' - Resource edited/created
 * 'revision' - Any change
 * 'db.clean'
 * 'db.rebuild'

Example queue bindings that clients may use: 
 * * - no filtering - client receives all notifications
 * package - only changes to packages
 * revision - all revisions
 * db - all database operations

=== Versioning ===
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?

=== Documentation ===
   * How to use
   * simple example of an external client?"	enhancement	closed	blocker	v1.1	ckan	fixed				
