Content¶
- Somebody submits a page for review in an area I’m reviewer for
- A Page I created is liked
- A Page I created is shared
- A Page I created is commented upon
- Somebody posts a comment on a Page I commented upon before
Description
The system informs users about relevant changes in the system via a web message box, and via email.
Todo
Implementation is in progress.
ploneintranet.notifications
leverages the ZCA eventing system to keep track of relevant changes
in the system, to inform users about those changes.
Because Plone Intranet provides a rich social user experience, there’s a lot of social activity going on that we should tell users about.
All of the event types described above will, or should, result in event notifications in the Zope3 sense of the word. Zope3 provides a synchronous eventing system that broadcasts events via notifiy().
ploneintranet.notifications
registers subscribers for those events.
Those event subscribers are registered as multiadapters that listen only for events
that are broadcast regarding objects that are marked as
ploneintranet.notifications.interfaces.INotifiable
.
Todo
Can somebody who wrote the implementation actually describe how it hangs together?
If you want to support notifications for a new event type, the steps are as follows:
INotifiable
, in notifications
.notifications
and connect it with a proper handlerTodo
And then what happens?
Web notifications is an inbox-like messaging system that shows you a list of incoming events, reverse chronologically (most recent on top).
Features to develop:
Todo
Not implemented yet
An async web socket enables pushing of event notifications in semi-real-time, and especially the updating of the unread notifications counter.
Todo
Not implemented yet
To avoid death by spam, while enabling a useful email alert system, notifications by email provide a separate channel in addition to the web notifications channel. Unlike the web channel, users can control the frequency of messages sent via email.
This requires a special configuration panel (design todo), which, for each of the event types described above, gives the user a choice between four frequency options:
In addition, the system: