Change notification level with a link

Hello guys,

  • we already have an integration for blog comments
  • we have the ability to draft links to send templated messages to groups or indviduals

Couldn’t we create a route and a dialog to let people switch their notification level to a suggested value for a given group, tag or category?

Like: https://meta.discourse.org/change-notification?level=watching&category=blog

Use Case

  1. Button on blog: Click here to subscribe to new topics and its comments.
  2. User clicks on link to change the notification level from what-ever to tracking with category = blog posts
  3. Discourse checks if user is logged in and may ask first to register
  4. Discourse asks user to confirm the change of its notification level for the given category/tag/group

I guess there are many other use cases, especially if an existing community changes to Discourse and the responsible admins wants to support everyone to not miss any notification.

The same dialogue could be used to mute notification emails. This is already been solved. Unfortunately, those links only allow to mute, not to un-mute or watch.

5 Likes

I think the same thing for topics would be good too. That way, someone who is mentioned in a topic could opt into tracking or watching it, which they can’t do currently, as you point out:

2 Likes

I see two ways of doing this:

Approach 1

As a route under topics, categories, tags and groups.

So if I wanted to create a link to watch a category:

/c/feature/notify/watch

Or track a topic:

/t/change-notification-level-with-a-link/57784/notify/track

Or set a tag to normal:

/tags/pr-welcome/notify/normal

Or mute a group inbox:

/my/messages/group/admins/notify/mute

Approach 2

Like proposed in the original topic, one route to rule them all.

So if I wanted to watch a category, topic, tag and group inbox all at the same time:

/notify/watch?category=feature&topic=57784&tag=pr-welcome&group=admins

Or if I wanted to track multiple categories at the same time:

/notify/track?category[]=feature&category[]=dev&category[]=ux

Or if I wanted to mute a subcategory:

/notify/mute?category=plugin:broken-plugin

Common to both

Once the user visits the link, they’re asked to confirm they want to change the notification level on the categories/topics/tags/inboxes.

If they’re not logged in they’re prompted to do so, or sign up.


The second approach has its advantages in that you can change the notification level on multiple categories/topics/tags/inboxes at the same time, but I prefer the first approach as it’s more elegant and intuitive.

What are the @team’s thoughts on this?

This is something we want within Mozilla, and we’re willing to invest development resources (i.e. me) to make it happen.

3 Likes

“With a link” is a non-starter, it has to be confirmed with an explicit user action like clicking or tapping on a button. Otherwise you could trick people with active cookies on that URL into setting whatever notification level you wanted in a variety of ways.

Oh definitely, I was focused on what routes to use, rather than the whole flow. Edited the post to clarify it’d require explicit action.

2 Likes

I totally agree with everything that has been said.

Any progress on this feature request? It would allow easy sign up to Discourse powered newsletters based on categories (watch first).

3 Likes

I haven’t done any further work on it, so don’t let me stop you from working on it.

Such a feature would be the only missing piece to use a category with default notification watch-first-post as an interactive newsletter that allows subscribers to quote easily and interact with other subscribers in the replies to that newsletter topic.

The only hurdle is the subscription process. Ideally, people would click a link, sign in/register with few clicks and confirm than the notification level change to x for cat/group/tag/topic y with x and y being specified in the link.

To draw even more attention to this feature, I will finish this post with a nice gif.

2 Likes

Workaround: Use an Discourse API call, e.g. powered by https://stdlib.com/ (free quota).

Apologies for resurrecting this old thread, but it is the most recent discussion I was able to find.

I am interested in providing a link that takes the registered users of our private Discourse directly to a page that reads something like “Are you sure you want to [notification level] for [category]? Yes/No” and, whatever their response, they then get shown the relevant category.

Is my best option using a third-party tool as suggested above, or have built-in options become available in the meantime?

Use case: we use certain categories as light-weight “interest groups”. I’d like to be able to provide a link at the end of a live webinar that allows interested folks to click through and start watching the relevant category/interest group. (Our current alternative is to take time out of the webinar to screen share how to change the notification level, otherwise people get lost along the way.)

Also adding that we have a bit of interest in this. Our use case is a Announcements subcategory for each main Category. Ideally we can just send users a link. Once clicked it changes their notifcation for the announcements subcategory to watching.

Edit: Found this snippet from Jeff and Sam. We don’t use reply by mail, but for those who do this might be an option

2 Likes