boonebgorges / buddypress-group-email-subscription

Fine-grained email subscription for activity in BuddyPress groups
36 stars 32 forks source link

Group admin is able to trigger email to everybody but nobody receives the message #183

Closed per4mance closed 4 years ago

per4mance commented 5 years ago

Hi, I use your plugin version 3.9.4 and created a hidden test group. Each group member has the settings of no receiving emails from the group, the group admin also not.

Your plugin says, if the group admin wants to send an email to every group member: "Everyone in the group will receive the email -- regardless of their email settings -- so use with caution"

But nobody receives any notification although it says emails have been sent. After switching the user's email status, this user receives the notification if the group admin sends his message again.

But this makes no sense because I understood your plugin to send all group members an email although they don't want to get notifications.

Am I right?

boonebgorges commented 5 years ago

I've done some testing and can confirm that the behavior has changed since 3.9. When the 'notice' system was modified to use the same asynchronous queue system as other BPGES emails, the notice system began to obey user subscription settings - so a user with setting 'No mail' will not get the notifications.

In my opinion, the "force an email to all members" feature of this plugin is not a very good one, and for my purposes I think it's fine to eliminate it. It feels more respectful of user options - especially in light of GDPR and related regulations - to err on the side of obeying users' settings.

But I can see that this might not be good for all sites, and it's definitely an unintended change.

I believe this is likely to be the same issue as https://wordpress.org/support/topic/notice-to-all-group-members-doesnt-work-in-private-groups-anymore/, so I'm going to try to collect more info on where to go next.

per4mance commented 4 years ago

Thank you for your response and you're correct.

I find this function still useful because we use BP on a website of an elementary school and we have school class groups. Each parent can deactivate the notification. But to get sure a message reaches a parent from group, the teacher should have to use this feature if the message is important.

Or another feature could be that the teacher can enter an email list for sending out group notifications, although a parent is not member of a group.

The main goal is to make digitalization and social school networks very useful for the school daily routine.

More ideas are welcome :-)

per4mance commented 4 years ago

I've one important issue I forgot to mention.

Over and over we know about school shooting sprees all over the world. If a message from a school group has been send out to all group members and this group is connected to a messenger (e.g. Telegram), the spree killer would not have the chance to read these messages because Telegram uses bots.

By now, if group notifications are disabled, the Telegram bot doesn't work also.

wdfee commented 4 years ago

Hi Boone, hi per4mance, yes we need group admins to be able to send notices to all group members, too. We use groups as courses and project working groups. In our case the "force an email to all members" feature is exactly what we need. My suggestion would be to additionally add an site admin setting to enable or disable this feature.

boonebgorges commented 4 years ago

I've introduced a filter for this purpose in 779b20e. Use:

add_filter( 'bpges_force_immediate_admin_notice', '__return_true' );

The filter receives additional info (user ID, etc) so that you can have a more detailed callback, if you want.

I'm still wary of introducing a Dashboard toggle for this, because of the potential implications related to GDPR and other user-focused regulation.

I'm hopeful that this change will be sufficient for those who really want the feature in BPGES 4.0. If there continues to be feedback in favor of a UI toggle, I can consider it for future versions.

StrothiP commented 4 years ago

Dear Boone,

I haven't tested the suggested filter yet, but I guess this is meant to work when 4.0 is released, right? I totally see your point on GDPR, maybe a toggle could be introduced though to overrule the "frequency" settings, not the overall yes / no question.

As in, admin notices can be sent to anyone UNLESS they have the setting set to "no emails". From a GDPR perspective the setting would then not overrule the users intention of receiving emails in general, it would just change the timing for special cases. That should still be in line with GDPR!

For us, users that join our groups are automatically set to "weekly digest". But when I need to communicate something urgently, that setting is still respected. And thus emails are not sent right away. Changing that behavior would already be quite helpful :)

Kind regards, Philip

boonebgorges commented 4 years ago

I guess this is meant to work when 4.0 is released

That's correct.

As in, admin notices can be sent to anyone UNLESS they have the setting set to "no emails".

That's not what my example in https://github.com/boonebgorges/buddypress-group-email-subscription/issues/183#issuecomment-572638931 will do, but you could write a filter that does this.

boonebgorges commented 4 years ago

Marking closed against the 4.0 milestone.