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,,,,