A partial archive of meta.discourse.org as of Tuesday July 18, 2017.

Change notification level with a link

rriemann

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.

mcwumbly

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:

LeoMcA

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.

codinghorror

"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.

LeoMcA

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.

rriemann

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).

LeoMcA

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