BuddyPress Group Email Subscription

Email Options on settings page

Email Options on settings page

Authors: Deryk Wenaus, Boone Gorges, David Cartwright

BuddyPress Group Email Subscription allows group members to receive email notifications for all types of group activity, especially forum posts. Each user can choose how they want to subscribe to the group.

EMAIL SUBSCRIPTION LEVELS: There are 5 levels of email subscription options:

  1. No Email – Read this group on the web
  2. Weekly Summary Email – A summary of new topics each week
  3. Daily Digest Email – All the day’s activity bundled into a single email
  4. New Topics Email – Send new topics as they arrive (but don’t send replies)
  5. All Email – Send all group activity as it arrives

DEFAULT SUBSCRIPTION STATUS: Group admins can choose one of the 5 subscription levels as a default that gets applied when new members join.

DIGEST AND SUMMARY EMAILS: The daily digest email is sent every morning and contains all the emails from all the groups a user is subscribed to. The digest begins with a helpful topic summary. The weekly summary email contains just the topic titles from the past week. Summary and digest timing can be configured in the back end.

EMAILS FOR TOPICS I’VE STARTED OR COMMENTED ON: Users receive email notifications when someone replies to a topic they create or comment on (similar to Facebook). This happens whether they are subscribed or not. Users can control this behaviour in their notifications page.

Email options on group pages

Email options on group pages

TOPIC FOLLOW AND MUTE: Users who are not fully subscribed to a group (ie. maybe they are on digest) can choose to get immediate email updates for specific topic threads. Any subsequent replies to that thread will be emailed to them. In an opposite way, users who are fully subscribed to a group but want to stop getting emails from a specific (perhaps annoying) thread can choose to mute that topic.

ADMIN NOTIFICATION: Group admins can send out an email to all group members from the group’s admin section. The email will be sent to all group members regardless of subscription status. This feature is helpful to quickly communicate to the whole group, but it should be used with caution.

SPAM PROTECTION: To protect against spam, you can set a minimum number of days users need to be registered before their group activity will be emailed to other users. This feature is off by default, but can be enabled in the admin.

The plugin is fully internationalized.

NOTE TO PLUGIN AUTHORS: If your plugin posts updates to the standard BuddyPress activity stream, then group members who are subscribed via 3. Daily Digest and 5. All Email will get your updates automatically. However people subscribed as 2. Weekly Summary and 4. New Topic will not. If you feel some of your plugin’s updates are very important and want to make sure all subscribed members them, then you can filter ‘ass_this_activity_is_important’ and return TRUE when $type matches your activity. See the ass_this_activity_is_important() function in bp-activity-subscription-functions.php for code you can copy and use. An example: adding a new wiki page would be considered important and should be filtered in, whereas a comment on a wiki page would be less important and should not be hooked in.

BuddyPress Group Email Subscription has been downloaded 72,987 times. Are you using this plugin? Consider a donation.

Version history

2.3 – May 12, 2010
Initial release

26 thoughts on “BuddyPress Group Email Subscription

  1. Pingback: Teleogistic / New BuddyPress plugin: BuddyPress Group Email Subscription

  2. Wesley Shaw

    Another great plugin on your list. Curious about how it handles digests when there’s been no activity on the group in question. I’ve seen both approaches before, the “no email if no activity” and the “email telling you there was no activity”. I prefer the former, but wonder how you all have set it.

    Thanks for this. Trying to decide whether to swap this in for the Group Activity Subscription plugin I’m currently using (thanks for your part in that one, too).

    -Wes

    Reply
  3. Ray

    Hey Boone,

    I’ve checked out the new code, but haven’t tested the plugin yet!

    To help with email throttling, I’ve made a very small addition to the ass_digest_fire() function in bp-activity-subscription-digest.php:
    http://pastebin.com/9K7L8x8d

    I’ve basically added a variable to count sent emails and it delays execution of the script for 10 seconds for every 50 emails sent.

    You could also potentially use BP’s internal messaging system to send out emails so a copy is available in the user’s BP inbox.

    Great work! Send my regards to Derek and David!

    Reply
  4. Boone Gorges Post author

    Wesley – if I’m reading my code correctly (always a crapshoot!) then the plugin does NOT send digests when there is no activity to report. I guess I just implemented it without really thinking through – I can see the value in at least making it possible to receive “No new activity” mails. Something to mull over.

    Ray – As usual, you rock. I have to figure out a way to test that sort of behavior without risking crashing a production site :-D

    Reply
  5. Erich73

    I am not using this Plugin (yet), but am very curious to install once it is out of its beta-status and ready for prodcution-site.

    Am willing to pay for a Pro-version as well.

    Boone for President !

    Reply
  6. Wesley Shaw

    Boone: just installed it and it seems to be working cleanly well.

    One question: I already have some groups on my site and I’d like to default all users to a daily updates until they get back in to the site to set them to something else. Is this possible? From what I can tell right now, the default for existing users is to go to no emails.

    Again, great work.

    Reply
  7. Wesley Shaw

    Thanks for the speedy response. I’ve regrettably reverted back to your older plugin (BuddyPress Group Activity Notifications) since I can’t risk losing all my users who only watch their inboxes for group updates. If there’s anything hackish I can do in the code to change the default (like in the admin section for the old plugin), I’d be happy to hack. But if not, I’ll wait. I know you’ve got your hands full. Thanks again for this lovely plugin.

    Reply
    1. Boone Gorges Post author

      Hi Wesley – Sorry for the delay in responding, I’ve been on my honeymoon.

      I believe that the behavior you’re describing is by design. The link isn’t supposed to go anywhere. The anchor id is required for the JS to work. When you click on Get Email Updates, you should get a jQuery slider with your subscription options. If you’re not, it’s possible that you’ve got a JS conflict. What theme are you using?

      Reply
  8. Matt Zimmermann

    Hi Boone,

    Great looking plugin. Unfortunately, I am a noob and messed things up. After installing the plugin, I went and made a couple other site changes. One of which was to accidentally turn off the ability for users to create groups and such. With that off, my site and admin have gone down and I have no clue how to fix it.

    All I get is this error: Fatal error: Class ‘BP_Group_Extension’ not found in /home/cafedrac/public_html/inn/wp-content/plugins/buddypress-group-email-subscription/bp-activity-subscription-main.php on line 7

    Any insight would be appreciated. I really hope I don’t have to reinstall everything from the start again.

    Cheers!

    Reply
    1. Boone Gorges Post author

      Hi Matt, Sorry I didn’t get back to you sooner – I’ve been on my honeymoon. Any time something breaks your site like that, you should try to fix the problem by accessing the wp-content/plugins folder via FTP and renaming the directory containing the plugin causing the problem. In this case, you’d change buddypress-group-email-subscription to buddypress-group-email-subscription-backup or something like that. WP won’t be able to find the files, so it will deactivate the plugin, and the site should come back to life.

      As for the root problem, that the plugin breaks when groups are turned off: I will have a look at this soon. It will be an easy fix to make sure that this doesn’t happen to anyone else. (Though of course the plugin is useless if you’ve turned off groups, it certainly shouldn’t crash your whole site!)

      Reply
  9. Matt Zimmermann

    Hi Boone,

    I was able to get things back to normal. I went in through FTP and renamed the BP Group Extension folder. Then the admin came back. I re-enabled groups and renamed the folder again and all seems good now.

    Cheers!

    Reply
  10. Wesley Shaw

    Congrats on the marriage, and you’re still faster at getting back to people on this site than many other developers are on their own sites. Certainly to be commended.

    I just found the bug this morning and, not surprisingly, it’s not in your code but in another plugin (this one driving a google calendar sidebar, and it breaks every other JS-enabled script on my site).

    Thanks for getting back to me.

    Reply
  11. david thomas

    Hello Boone

    The plugin shows that I have subscribed to “all mail”, but two people have posted to the group (20 hours ago), and I did not get any emails.

    I deactivated the group management plugin a few days ago. But the problem seems to persist.

    http://blog.davidhthomas.net

    Congrats on marriage. I hope your honeymoon was wonderful.

    thanks for any help,
    David

    Reply
  12. david thomas

    I got one group email notice from 3pm today. Hopefully it will work now. But did not get the one previous to that from last night, with all settings the same, that I know of.

    Thanks,

    D

    Reply
  13. david thomas

    Hello again Boone

    http://blog.davidhthomas.net

    I have deactivated group management. But BP email features are functioning very sporadically, if that is possible.

    I subscribed to the group by an alias. But I get no emails, none, no daily digest (to which I was subscribed) and no mass emails (which should go to all members regardless of subscription).

    Another member gets my mass emails, but blank daily digests. As admin, I get digests with posts in them, the same day she gets a blank one.

    I do not think any members have gotten my mass emails, except perhaps a few, somehow.

    Please let me know if other plugins clash with yours. I need to be able to communicate with the group, since this is a new venture. Otherwise, I lose their interest. I have begun to write them individual emails outside the group email system. Those, of course, are getting to their destination, including the alias I set up.

    Thanks for your help!!
    David

    Reply
  14. Idealien

    I have installed the plugin on a fresh WP3.0 / Buddypress 1.2.5.2 (With MU) setup. The selection option for users to specify group email options do show up, but as yet have not had any messages sent successfully for any of the formats with test details.

    If there is anything I can do to help debug / test the plugin, I’d be happy to.

    Reply
  15. Wayne Moses Burke

    Two questions:

    1. If I understand correctly, the plugin currently emails the excerpt of whatever is posted. Could it be made a setting to allow the entire post to be emailed?

    2. Is it possible for people to respond to the emails and have their responses be included in the forum discussion? I assume this is more difficult than my other question, but I’m curious if this could be integrated into this plugin, and if so how easy it would be.

    Thanks.

    Reply
  16. Boone Gorges Post author

    Hi Wayne. 1 is a little tricky, because the plugin works by hooking into activity items, and activity items do not save the entire content of a forum post. That said, it’s an obvious feature that I imagine I’ll implement sometime in the nearish future.

    2 is a lot harder. I’m hoping that there will be more developments in reply-by-email in WordPress in general. If there are, then we can take those developments and apply them to this plugin and elsewhere in BuddyPress. In the meantime, it’s an enormous job that I’m afraid I don’t have the guts to tackle alone :)

    Reply
  17. Janno hordijk

    Thanx for this plugin. I’ve got only one problem: it seems that the users cannot safe their new settings about the notifications. Even the admin of that group cannot safe them. You can change the settings but after saving the old settings are shown again.

    Is it a ‘feature’ or is it some setting I should change in my site to reflect the changes?

    Best regard, Janno

    Reply
  18. deryk

    hey boone, can you remove the part of this post which states it’s in Beta, someone recently contacted me mentioning that this plugin was still in beta.

    Reply
  19. nicole

    HI there
    I seem to be having the same problem that I have found many people are having with this plugin.
    I have installed it, but it does not appear in either the dashboard (I do not see “Group Email Options” under the buddypress menu, nore on the front end (I do not see Email Options in the admin for the group)
    Can you please help. I am using WP 3.2.1 & BP 1.2.9 & no change when I upgraded to 1.2.10
    Any help is appreciated.

    Reply
  20. mt78

    Hi Boone, firstly thanks a lot for this plugin. Useful plugin but not working with WP 3.5.2 – BP. 1.7.2 and bbPress 2.3.2. Could you pls make a test? In my installation does not work set email status to all users by the administrator. Does not save the email status which is set by the user. (sorry for my bad english).

    Reply

Leave a Reply