#8: Email notifications
- Contents
- Proposed by
- Jon Stahl, ONE/Northwest
- Seconded by
- Marshall Mayer, LiveModern.com
- Proposal type
- Forum functions
- State
- deferred
Motivation
Web forums need to be able to actively "draw back" their users. Email notifications are a simple, lowest-common-denominator way to do this for users who do not use RSS.
Proposal
Enable users to "subscribe" to a forum or to a conversation by clicking a "subscribe" button.
For conversation subscriptions, send user a notification of each new reply to the conversation.
For forum subscriptions, send a user a notification of each new conversation in the forum. (This is lower priority than conversation subscriptions.)
All notifications should include a hyperlink to the relevant conversation or reply.
Users should be able to view and manage all of their subscriptions on a "my subscriptions" page.
When a user has subscribed to a conversation or forum, the subscribe link should change to an "unsubscribe" link.
Optional: allow user to choose between receiving notifications for each reply/conversation and receiving a daily digest.
RSS and subscription emails
I have already written RSS/atom/RDF/etc support using my fatsyndication product. See http://svn.plone.org/view/collective/PloneboardSyndication/ .
As for subscription services, I firmly believe that this should be abstracted out into a separate product that can be reused for subscriptions to arbitrary things. I sketched out some very basic interfaces at http://svn.plone.org/view/collective/basesubscription/ and I actually have a fair chunk of implementation in a fatsubscription product sitting on my dev server.
That was all before I heard about PloneSubscription from Ingeniweb @ http://cvs.sourceforge.net/viewcvs.py/ingeniweb/PloneSubscription/ . I only saw this two days ago, and haven't had a chance to figure out if it does exactly what I'm after - in a generic enough way.
Bottom line, neither of these two features should live in Ploneboard, IMHO.
Integration
I agree that PB should use tools that are already out there. The tools need to be integrated however, and not every time by every instance. Pick one that shows the most promise, and go with it as part of the product, and if someone wants to pick a different one they can. either way, the functionality has to be part of the product or it won't be adopted readily.
If we're inventing any wheels...
... then let's please try to do so in a reusable way - is all I'm saying. Subscription services are useful in numerous cases. Let's do it properly once and be done with, rather than have half-arsed implementations across numerous products, and others that would benefit from it having no implementation at all.
Integration is, of course, important too, but it does not preclude reuse.
Documentation on PloneboardSyndication?
Is there any documentation on PloneboardSyndication that you could share?
Docs
PloneboardSyndication uses code from fatsyndication (and ultimately, interfaces and templates from basesyndication). If you want an idea of how it works, you should look at both of those products. Everything is in the collective @ http://svn.plone.org/view/collective/.
At the most basic level, though, once you've installed PloneboardSyndication correctly, your Ploneboard* objects will all have views available that produce syndication feeds of various flavours. Currently, that amounts to atom.xml, feed.rdf, feed11.rdf, and rss.xml. No links to these views are (currently) placed in any of the Ploneboard templates, though, so you'll probably need to make arrangements for publicising them in your sites if you want to.
We used CMFNotification
Does CMFNotification work with replies?
CNX email subscription in progress
It's fairly well along, and is intended for public release; see for current code http://rhaptos.org/cgi-bin/viewcvs.cgi/RhaptosSubscriptionTool/trunk/
Quite possibly a good fit (and maybe I'll even use Ploneboard instead, if I have a chance.)
notifications for Plone 3
There is a limitation in the rules system that causes some problems - for example, it doesn't appear possible to write one single rule that detects both new forum posts in unmoderated forums, and the publish transition in moderated forums :-( Since the subscriber list is stored in the action, this means you need two separate subscriber lists, one for moderated forums and the other for unmoderated forums. One solution would be to store the list in a separate utility and share the list between the two rules, but that is adding extra complexity - it would be better to tweak the rules system IMHO.
email notifications..
more on notifications..
http://plone.org/documentation/how-to/send-announcements/#1202153645
not a complete implementation in terms of users in control etc but suits us and might be useful for someone.
Keep it simple
In the first iteration, Ploneboard shouldn't attempt to invent an entire notification/subscription framework on its own.
PloneHelpCenter implements the notification in a simple way, having a simple property that turns on/off mail notification is more than good enough for 90% of the use cases. Individual settings on each thread is overkill.
We should of course have RSS integration too, shouldn't be hard at all with Plone 2.1.