Ticket #323 (new enhancement) — at Version 2

Opened 4 years ago

Last modified 4 years ago

Notification message

Reported by: dread Owned by: dread
Priority: blocker Milestone: v1.1
Component: ckan Keywords:
Cc: Repository:
Theme:

Description (last modified by dread) (diff)

Which events to notify on

Listed by domain object, these are the notification message 'change types' that will be sent:

  • Revision
  • Package
  • PackageResource

Also it is clear that it could be useful to know when db-wide maintenance is carried out:

  • db - 'clean', 'rebuild' (db is wiped and replaced with new data), 'upgrade' (migration)

Ignored domain objects

These parts of the domain model will not carry notifications as no use case has been identified for them:

  • Group
  • Tag
  • Rating
  • User - list of users is sensitive info
  • Relationships - complicated
  • Authz - complicated and sensitive info
  • License - change of a license's metadata is a question for the 'license service'

Message format

A notification message's header contains the routing key, identifying the object and ID. The client is probably interested in the object (all use cases so far), so it makes sense to send the object in the payload. This should be the JSON-encoded dictionary exactly as provided for the object's REST Entity.

For the 'db' notifications there shall be no payload.

Change History

comment:1 Changed 4 years ago by dread

  • Description modified (diff)

comment:2 Changed 4 years ago by dread

  • Description modified (diff)
Note: See TracTickets for help on using tickets.