Commons 3.x has relatively simple email notifications requirements. They are related to the activity stream requirements in that the stream and email notifications share a similar purpose (informing community members about new activity on a site). As a result, it would be ideal to present the settings for email subscriptions and stream subscriptions to updates on specific threads through a unified UI.
The requirements are described in more detail in the above Google Doc matrix, but essentially they come down to:
- Group members can subscribe to content in a group or mute all notifications for a group
- Community members can subscribe to new comments on a thread without commenting on the thread.
- Provide a unified UI for managing email subscription to a group, email subscription to an individual thread
Other kinds of site activity will display in the site activity stream, but we're keeping email notifications simple.
I see 3 general approaches here:
1) Use Comment notify + simple OG content subscriptions and build a unified UI, probably specific to Commons
This would require us to implement #288726: Allow users to subscribe without posting a comment and then provide a unified UI for pulling in thread-specific subscriptions from Comment notify and the thread-specific activity stream subscriptions. It seems likely that this UI would end up being implemented in a way that is specific to Commons, or at least specific to those particular contrib modules.
2) Extend Message notify module
We will likely use the Message module to power the Activity streams in Commons.
By using Message notify for email notifications, we would have a shared architecture for both types of notifications (email and stream), which may simplify the process of providing a unified end-user UI for managing user subscriptions and generally making these related features work together smoothly.
3) Push the Notifications and Messaging modules towards stable Drupal 7 releases
http://drupal.org/project/messaging http://drupal.org/project/notifications both have a substantial Drupal 6 install base, but a limited Drupal 7 install base and a non-trivial amount of bugs in the 7.x branch, which suggests that the effort to update these modules to Drupal 7 is large.
Beyond that, we'd still need to provide an integrated UI. My experience with working with the Drupal 6 versions of Messaging and Notifications is that they are architecturally complex. Also, Messaging and Notifications haven't historically been developed with a focus on large site scalability (eg http://drupal.org/node/1070164 http://drupal.org/node/868446).
4) Use Subscriptions module and implement a custom UI
I'm not particularly familiar with this module beyond recalling that it predates Messaging Notifications. Subscriptions has a smaller site install base (around ~5,000 sites) than Messaging and Notifications. It seems like the need to implement a unified UI for email and activity stream notifications still exists with this solution.
I favor what I see as the opportunity to build on the simplest architecture and ideally, also one that's highly generalizable. So, I prefer approaches 2 and 1, in that order.
Whichever solution we implement, I'd like us to use a system like http://drupal.org/project/queue_mail that uses the Drupal queue system for sending mail.
Comments
Comment #1
izkreny commentedI prefer also Message notify (2) because of its smooth translation support - Message notify - Multilingual email notifications.
Comment #2
christianchristensen commentedHere is a wiki/quick summary of install profiles and links to the messaging types that have been implemented: http://groups.drupal.org/node/223994
Comment #3
jsibley commentedFor group notifications, I would like to suggest you take a look at og_mailinglist. Although there isn't a D7 version available yet, several interested parties have offered a bounty to sapped up development.
The key advantage, I believe, is that og_mailinglist supports inbound emails for responses to discussions and for new discussions. I currently have it working on a small site using Mailgun.
I don't know how scalable it is now, but there are a number of listserv groups who might be interested in moving to a platform like Commons if it allowed users to participate in discussions via email.
Comment #4
lightsurge commentedLargely for the reasons in http://drupal.org/node/1557764#comment-6034368 I back message notify, I think email notifications should be an extension of an internal messaging system, such that I can still have my notifications even if I don't have an email address.
Comment #5
ezra-g commentedThanks for weighing in here, @lightsurge.
Marking as "needs review" and updating the issue title to reflect the current state of the proposal.
Comment #6
crimsondryad commentedI agree with @lightsurge. In general message notify seems like a much better way to implement. I'm also looking at the underlying features of the Message module, it seems like it is more extensible than hacking an OG solution.
Comment #7
amitaibuNote that Commerce Kickstart V2 is now also using Message + Message notify.
Comment #8
jsibley commentedEven if you don't implement the ability to respond via email, I would encourage you to choose a path that will make this easy to support in the future.
Many potential users, particularly those who are used to listservs and are not tech-savvy, do not want to have to go to a forum-type site.
I'm not wedded to og_mailinglist, but it is one module that allows email responses that are placed in the appropriate og groups.
Comment #9
ezra-g commentedBased on the discussion above, this is fixed.