Short note to let you know that I committed a notification plugin to the
sandbox under the xwiki-sandbox/plugins/notification folder. The plugin
uses the scheduler plugin (the version used is the one under
xwiki-sandbox/plugins/tasks/ , currently being reviewed and completed by
Vincent), and the mailsender plugin (see my previous email). I'm aware
this will raise issues since we already have the notification plugin
"net.jkraemer.xwiki.plugins.emailnotify", but I needed the following
behaviour:
- retrive the recent changes by querying the database (as opposed to
emailnotify, which uses the in memory notifications caught by
XWikiDocChangeNotificationInterface),
- use mail templates as provided by the mailsender plugin for sending
customized messages,
- scheduling tasks that can be managed through the scheduler plugin.
The plugin currently comes with a XWiki.NotificationRule class
consisting of the following fields:
- watched documents (comma separated)
- watched spaces (comma separated)
- watched documents query
Users wishing to be notified have to attach one or several rule objects
to their account page.
The message used for sending the notifications is an instance of
XWiki.Mail attached to the document XWiki.NotificationMessage (this
should be configurable later on).
Here's the current API of the plugin, comments are welcome:
==========
int registerNotificationRuleForUser(String userFullName, String
watchedSpaces, String watchedDocuments, String watchedDocumentsQuery)
int addWatchedDocumentForUser(String userFullName, String watchedDocument)
int addWatchedSpaceForUser(String userFullName, String watchedSpace)
==========
Pending: draw a sound plan for a unified notification plugin and merge
the API with the emailnotify one, add support for group notification,
let users choose the notification frequency they wish, write tests and
XWiki documents..
Here's the JIRA issue that relates to this plugin:
http://jira.xwiki.org/jira/browse/XPEMAIL-2
Cheers
Stéphane