Шептать всю тему?

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

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

Мы можем включать Whisper для ответов, но не для самой темы. Существует ли способ настроить видимость темы индивидуально?

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

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

  1. Это уже подкатегория.
  2. Я хочу, чтобы всё было максимально просто, потому что разработчики умные, но иногда им не хватает здравого смысла, который я хотел бы видеть…

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

Альтернативно, если вы корпоративный клиент, вы можете включить категории третьего уровня.

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

Так оно и есть. Я могу видеть неперечисленные темы здесь. Думаю, потому что у меня уровень TL4.

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

Верно, но я не хочу, чтобы у разработчиков тоже был TL4 — слишком много власти для них.

Значит, мы возвращаемся к исходному вопросу…

Может быть, специальный тег? Если у темы есть тег “no-yuo!!”, то её смогут видеть только группы X, Y и Z?

Доступ контролируется только категориями, но если вам нужна более мягкая версия этого механизма, можно что-то сделать с помощью CSS…

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

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

Казалось бы, это должно быть возможно, но, судя по отзывам, возможно, нет.

Я думаю, что в любом процессе, где есть возможность «может быть публичным, может быть приватным», всегда будет место для ошибок пользователя при создании темы. Будь то выбор правильной категории, запоминание необходимости нажать «шепот» или добавление тега, который затем выполняет CSS-магию для скрытия темы, и так далее. В какой-то момент нужно сделать этот выбор, и вместе с ним появляется возможность всё испортить. :slight_smile:

Я считаю, что подкатегория — это лучший способ обеспечить уверенность в защите видимости. Если вы не хотите включать под-подкатегории для этого (или менять структуру категорий верхнего уровня с помощью альтернативы, например, Category Groups), вы можете создать дополнительную подкатегорию в разделе «Поддержка» для #internal-bug-reports, а затем использовать фильтр тем для создания пользовательского списка тем, включающего темы из обеих категорий. Этот список можно добавить в боковую панель для ваших разработчиков.


Просто для интереса я проверил, можно ли изменить тип поста (post_type) исходного сообщения через API. Хотя это сработало, пост всё равно отображался в списке тем для тестового пользователя без прав «шепота», и при попытке открыть его возникала ошибка. :grimacing: Похоже, потребуется дополнительная работа разработчиков, чтобы это исправить (и, возможно, появятся и другие конфликты из-за неожиданного поведения, когда вы начнёте копаться в системе).

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

Мой текущий обходной путь похож:

  1. Создать тему с корректным описательным названием.
  2. В теле сообщения указать «Отслеживание бага №».
  3. Сохранить.
  4. Отредактировать пост и добавить номер из URL, чтобы в теле теперь было написано «Отслеживание бага №138».
  5. Настроить все дополнительные ответы как «шепты».

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

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