Subscriptions
Design needs to support these capabilities:
- listen to all events for a specific resource
- listen to a specific event for all resources
Which means we need two flexible coordinates: one to describe one or more events, and another for describing one or more resources.
Event Classes
Pages
- delete a page (move to archive) (implemented)
- delete a page and its descendants (move to archive)
- add a comment to a page (implemented)
- delete a comment from a page (implemented)
- update a comment on a page (implemented)
- update contents of a page (implemented)
- move a page (implemented)
- change a page property (implemented)
- revert a page (implemented)
- delete security settings of a page (implemented)
- update security settings for a page (implemented)
- set security settings of a page (implemented)
- update tags on a page (implemented)
- a script error occurred on a page (deferred #)
- a user saw the page (deferred #)
Files
- delete a file (move to archive) (implemented)
- delete a file description
- update a file description (implemented)
- move a file (implemented)
- attach a file to a page (implemented)
Users
- add/modify a user (exists) (implemented)
- modify a user (exists) (implemented)
- change a user's password (implemented)
- user logged in (implemented)
Groups (deferred #)
- add/modify a group
- delete a group
- modify a group (Q: how is this different from add/modify?)
- change group members
Archive (deferred #)
- purge a file
- purge all files
- purge page
- restore a file
- restore a page
System/Site
- license updated (deferred #)
- add a ban entry (implemented)
- delete a ban entry (implemented)
- delete the site logo (deferred #)
- update the site logo (deferred #)
- rebuild search index (implemented)
- add a service (deferred #)
- delete a service (deferred #)
- start/restart a service (deferred #)
- update a service (deferred #)
- stop a service (deferred #)
- update site settings (deferred #)
- instance created (implemented)
- instance shutdown (implemented)