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.