Что происходит с постом в заглушенной категории с отслеживаемым тегом?

Всем привет,

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

Иногда этим проектам нужно публично что-то объявить (важные новости, просьба о помощи и т. д.).

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

В данный момент я вынужден использовать две категории: одну для обычной работы, которая по умолчанию отключена, и другую с обычными настройками. Такая конфигурация очень неудобна: нам приходится удваивать количество настроек, а пользователи видят вдвое больше категорий при выборе места для публикации…

Можете ли вы подсказать, как локально:

  • Приоритизировать настройки тегов над настройками категорий?
  • Приоритизировать настройки подписки над настройками отключения?
  • Или предложить другой способ достичь моей цели?

Заранее спасибо.

Для таких сообщений должна быть отдельная публичная категория, например, «Крупные публичные обновления проектов», тогда вы сможете добавить к ней тег с названием проекта.

Спасибо за ваш ответ.
Мы переходим на предложенную вами схему, так как она действительно кажется более интуитивной.

Но проблема всё ещё остаётся.
У нас будет две категории:

  • Announcement (Объявления)
  • Work in Progress (В работе)

А также теги для каждого проекта.

Желаемое поведение:

  • В категории Announcement все пользователи должны видеть посты по любым проектам/тегам.
  • В категории W-i-P пользователь должен иметь возможность отключать уведомления по проектам/тегам, в которых он не участвует.

Поэтому я думаю, настройки должны быть следующими:

  • Announcement: по умолчанию Track (Отслеживать) или Watch (Следить)
  • W-i-P: по умолчанию Normal (Обычный)
  • Теги: дать пользователю возможность выбрать, за какими тегами следить или какие отключить, и, возможно, добавить компонент темы на главную страницу, чтобы легко переключать уровень уведомлений для выбранных тегов.

Однако эта настройка также отключит уведомления по тегу в категории объявлений.
Есть ли способ предотвратить такое поведение?

  • Либо сделать так, чтобы настройки Tracked или Watch имели приоритет над Mute (Отключено), если тег и категория имеют разные настройки (сообщение будет отключено только при комбинации настроек «Mute/Mute» или «Mute/Normal», что является наиболее интуитивным поведением. То есть, «Лучше перестраховаться»: в случае конфликта настроек правило должно заключаться в том, чтобы не скрывать пост. А настройка Normal ни с чем не конфликтует.)

  • Либо сделать так, чтобы настройка категории (для конкретной категории) имела приоритет над настройкой тега? Можно ли это реализовать с помощью компонента темы? Думаю, нет, но я недостаточно продвинут для работы с плагинами.

Альтернативой было бы убрать теги из объявлений, но это кажется совершенно неудовлетворительным решением. Не будет возможности получить обзор всех постов, касающихся одного проекта.

Да, Ока, я считаю, что мы уже обсуждали это ранее. Могут возникнуть проблемы с приоритетом в зависимости от того, чего вы на самом деле хотите достичь. Например: пользователь отключен, но вы хотите, чтобы его ответы отображались, когда речь идет об отслеживаемой теме. Отслеживаемая тема внутри отключенной категории. Отслеживаемые теги внутри отключенной категории (ваш случай) или для отключенных тем. Отключенные теги внутри отслеживаемой категории или для отслеживаемых тем. (Примечание: отслеживаемые или наблюдаемые темы)

Я даже не до конца уверен, как именно всё это работает.
Имеет ли отключение сейчас всегда приоритет?

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

Я не проводил широкого тестирования (так как довольно сложно уведомить самого себя; мы делаем это с помощью do-admin, когда у нас обоих есть время), но я не нашёл ни одного случая, когда это не так.

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

Редактирование: Возможно, я нашёл настройку: remove muted tags from latest?
Я проведу ещё несколько тестов.
Редактирование 2: Похоже, это касается только конфликтов между тегами, а не между тегами и категорией. Такая настройка была бы очень полезна.

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

Вот пример кода, который может помочь вам начать:

Привет! Я только что зарегистрировался, так как искал информацию о том, что можно сделать для форума на базе Discourse (хотя этому обсуждению уже 4 года, но оно кажется наиболее подходящим).

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

Пример этого в контексте этого форума: Я скрыл тег ai-bot, но слежу за тегом completed. В результате я ожидаю, что никогда не получу уведомление о темах с тегом ai-bot, даже если они также содержат тег completed. Однако однажды я получил уведомление о Enabling AI Bot in Chat, в котором есть оба тега, из-за того, как сейчас работает система.

Есть ли способ добавить опцию, чтобы пользователь мог решить, какой тег и/или категория имеет приоритет, или чтобы администраторы могли сами изменить/установить это?

Ниже настроек отслеживания есть отдельная опция, где вы можете настроить поведение. (Также существует настройка сайта для конфигурации значения по умолчанию)

Хм… э-э… я не вижу эту опцию. Это вопрос прав доступа или что-то другое? (Кстати, не вижу её и на другом форуме, где я состою):

Оно скрыто, пока вы не посмотрите и не отключите звук для чего-либо

По-прежнему не отображается, страница также была обновлена:

Появляется ли оно, когда вы просматриваете категорию?

Да, значит, это нужно сделать и для категорий, и для тегов. Я как раз редактировал свой пост, чтобы добавить это:


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

Это не должно происходить, верно?

Редактирование: Только что понял, что я не спросил, работает ли это также для раздела «Слежу за первым сообщением», так как именно там я устанавливаю все свои теги, а затем вручную помечаю тему как «Слежу» или нет.

Я попробовал следующее:

  • Установил тег1 как «Отслеживать первое сообщение».
  • Заглушил тег2.
  • Установил категорию1 как отслеживаемую и включил опцию «Сообщать мне о темах в отслеживаемых мной категориях или тегах, которые также относятся к заглушенным мной».
  • Убрал категорию1 из списка отслеживаемых.

Таким образом, я отслеживал только первое сообщение тега1 и заглушил тег2.
Я получил уведомление о созданной мной новой теме.

Затем я снова включил отслеживание категории1, чтобы отключить опцию «Сообщать мне о темах в отслеживаемых мной категориях или тегах, которые также относятся к заглушенным мной», и снова очистил список отслеживаемых категорий.

После этого я не получил уведомления о новой теме, которая была помечена обоими тегами.

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

Итак, если я правильно понял, чтобы пример не появлялся на другом форуме, где я состою (а сейчас он появляется до любых манипуляций, необходимых для отображения этой настройки), мне нужно: открыть любую категорию, чтобы настройка появилась, включить её, сохранить, затем отключить и убрать категорию из списка отслеживаемых. Правильно?

Извините, если я что-то неправильно понял или сформулировал вопрос запутанно. Обычно в таких вопросах я лучше воспринимаю информацию визуально, поэтому хочу быть уверенным в своём понимании, чтобы потом не возвращаться и не беспокоить всех вас снова.