Groups can set category and tag notification levels

A feature requested a few times over the years is to be able to set users’ category and tag notification levels based on the group they’re added to. We added this feature to our beta branch today.

In the group management UI, there are two new sections: Categories and Tags. They work the same way as the existing user preferences.

When a user is added to a group, their notification preferences will be updated. If the user already has a category/tag in their preferences, then the group will only raise the notification level. For example, if the user is set to track a category, and is then added to a group that is set to watch the category, then their preferences will be changed to watch it. If they’ve opted to watch it, but the group would mute it, they will continue to watch it after being added to the group.

After being added to a group, users are free to change their notification settings to be different from the group’s defaults.

When users are removed from a group, their notification levels aren’t changed.

Category permissions are enforced as always, so a group can’t make a user track a category that they aren’t permitted to see.

44 Likes

:+1: Great ! :slightly_smiling_face:
And what do you think about an optional feature that would sync the muted categories and the activity tab (by not displaying the muted categories)?
Some here (in french) would like to be able to isolate the activity of a group within some categories.
I’ve seen that it’s already possible to filter the activity tab with one category_id in the url… so… plugin ? usefulness? :thinking: Or maybe it’s even already implemented, i didn’t realize that the muted categories wouldn’t appear on the categories or latest pages :sweat_smile:

2 Likes

Great work on a super useful feature. We will make good use of this.

What then is the point of the ‘Mute’ option, if it can never be applied? Or can this in fact be applied if they are ‘Normal’, just not if they are ‘Watching’, ‘Tracking’, or ‘WFPing’?


Feature request #1 - have ‘Normal’ as an option

The situation is a mute-all forum, where I want to use a group to change a category or tag status from ‘Muted’ to ‘Normal’ (not to a version of ‘watching’).

Feature request #2 - ability to over-ride watching preferences for a group if desired

I think that this would allow consistent behaviour with the Category and Tag watching for the whole forum in Settings.

6 Likes

What happens to existing members of a group when the group settings are changed? If I add a tag as tracking will all members start tracking that tag (if they aren’t already watching it)? Or will they have to leave/join for that behavior to be triggered?

3 Likes

Mute can still be applied if no explicit preference for the category has been expressed in the past, and the default is Normal.

2 Likes

If the user is using normal notification level for a category, which means they haven’t included the category in their user preferences, then a group can mute the category for them. If they have specified tracking or higher, then the group won’t override their preference for that category.

Sounds useful for sites that have enabled the “mute all categories by default” setting. So if “mute all categories by default” is enabled, the group category settings would include an input for normal tracking level.

How would it work if I was added to two groups? If I work on building accounting software for my company, I’m added to the Finance group which mutes the dev category and I’m added to the Developer group that tracks the dev category, which one wins?

Current members’ preferences aren’t changed, but I think it makes sense that the group change should apply to them.

4 Likes

Sweet; would you mind updating the OP to.make this clear?

Yup. Is that implemented, or are you agreeing that it is an idea with merit?

Good point, that clearly can’t be the way it would work. It might have to stay as a Rails console thing.

Totally agree! Or at least there be an option for this - it would make a lot of sense to me to have this consistent with the site settings.

1 Like

Any idea on when this feature will be rolled out?

1 Like

Every feature in #feature:announcements is available right away.

If you are self-hosted, visit /admin/upgrade and update to latest to use it.

If you are under our official hosting and not able to find it, contact our support channel.

5 Likes

This is a super-useful feature, great job!

One thing that could be added: have a similar interface on category options.

For instance, if I want 10 of 15 groups to track a certain new category, it would be actually easier if there was this option in category management where I could see and easily add all the groups to track it. This way I wouldn’t need to go into every single group and check that option.

A bit like you guys did with theme components, where you can go to a specific theme and add the components you want, but also go to the component and easily check all the themes you want it to be enabled in.

5 Likes

What happens when a group’s “Category default notifications” settings are changed – say, to “Watched” from “Tracked”? Will existing members of the group have their notifications raised?

1 Like

@alehandrof Still to do is to apply the changes to existing group members.

5 Likes

Is there are a timeline for this? I was literally just about to switch over from my old plugin to yours, but we might run into this in the coming weeks as we’re organizing some of our working groups.

1 Like

You can do a workaround by making a new group, adding the default notifications to it, and then copying the group members into it. You can then delete the group.

Data Explorer would be needed with a suitable query of course for larger groups.

3 Likes

Thanks for the workaround. I think I can use my own plugin to make sure that groups have correct settings and then switch to the default setting, which would allow folks to manage the notifications themselves (and send them a message about it).

Can someone help me with a query to check which members of group X are watching category Y?

Edit: it might be helpful if I could run that as a report that notifies when the results arenonempty, so that I can follow up with the person – it’s an organizational expectation that some folks are following specific announcements.

Is this still planned, and if so is there any ETA? We ran into an issue with this not happening last night and while we now understand why it would be great if the behavior was consistent.

4 Likes

This feature is a game changer for me.

We have categories that are the areas for particular groups to post and share information. We would like membership of the group to effectively ‘subscribe’ the members to those categories, so that they receive the notifications in that category by default. At the same time we want the categories to be open so that non-group members can view them, without receiving all the notifications by default.

If I’m interpreting this correctly, this new functionality should enable that - so the action of joining a group can be set to automatically ‘subscribe’ the user to watch specific categories?

The ability to add this retrospectively to all group members would be important for us to be able to introduce this - in the same way the notification message appears asking if you want to apply this retrospectively when adding default notification settings at Category level. Will that functionality be in the official release?

6 Likes

I’m thrilled to see that when I edit a group’s “default categories watching” I even get asked whether I want to apply the changes historically (i.e. to existing users) or just for users added in the future. This is excellent!

However, while this worked with the first group I edited, the question did not come up when I added other groups thereafter. Is this perhaps a bug?

Edit: I have been playing with this feature for a while now and I believe is is not working as intended:

This is not how my instance behaves ( 2.8.0.beta4 0e53769f71). For example, I have a group with 21 members where most (or everyone) is watching first post on catergory A. When I now set the group to watch category A, I am told that if I want to apply this change historically, it will affect 1 user. I don’t understand why it doesn’t affect all 21 members.

Similarly, I have a group with 42 members, most of whom are already watching first post in category B. If I now set the group to watch category B, it affects 6 users…

How can I debug this?

Edit2: I can confirm that the category is only set to Watching for those members who don’t have any setting for this category yet.

3 Likes