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.

6 лайков

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 лайка

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 лайка

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

2 лайка

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 лайка

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 лайка

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 лайка

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

Приношу извинения за оживление этой старой темы, но это самое свежее обсуждение, которое мне удалось найти.

Меня интересует возможность предоставить ссылку, которая переводит зарегистрированных пользователей нашего частного Discourse прямо на страницу с текстом вроде «Вы уверены, что хотите [уровень уведомлений] для [категория]? Да/Нет», и независимо от их ответа затем показывает им соответствующую категорию.

Является ли моим лучшим вариантом использование стороннего инструмента, как предлагалось выше, или за это время появились встроенные возможности?

Сценарий использования: мы используем определённые категории в качестве лёгких «групп по интересам». Я хотел бы иметь возможность предоставить ссылку в конце живого вебинара, чтобы заинтересованные люди могли перейти по ней и начать просматривать соответствующую категорию/группу по интересам. (Наша текущая альтернатива — прерывать вебинар, чтобы продемонстрировать через общий экран, как изменить уровень уведомлений, иначе люди теряются в процессе.)

1 лайк

Также добавлю, что у нас есть некоторый интерес к этому. Наш вариант использования — подкатегория «Объявления» для каждой основной категории. В идеале мы могли бы просто отправлять пользователям ссылку. После нажатия её настройки уведомлений для подкатегории «Объявления» автоматически изменятся на «Следить».

Редактирование: Нашли этот фрагмент от Джеффа и Сэма. Мы не используем ответ по почте, но для тех, кто это делает, это может быть вариантом.

3 лайка

Я написал этот компонент темы, который может помочь с описанным здесь случаем использования. Он предназначен для отслеживания категории (но, размышляя об этом, я мог бы расширить его так, чтобы кнопка заставляла пользователя отслеживать эту тему). Это просто способ сделать действие «Отслеживать» более доступным для обнаружения, особенно для пользователей с низким уровнем технической грамотности (что составляет значительную часть пользователей моих сообществ).

3 лайка