Плагин для приватных тем

Кстати, меня несколько раз спрашивали, есть ли в будущем возможность добавить переключатель в интерфейсе для групп, указанных в Private topics permitted groups, чтобы они могли видеть отфильтрованный вид самостоятельно.

1 лайк

Эта проблема была исправлена в последнем коммите.

Чтобы сохранить простоту и производительность, ссылки из закрытых тем теперь никогда не будут генерировать обратные ссылки.

Спасибо за сообщение, Стивен!

3 лайка

2 сообщения были объединены в существующую тему: Переименовать «личные темы» в «темы личных сообщений»

Кратковременная потеря памяти. Я уже сталкивался с этим раньше. :man_facepalming:

Тем не менее, интересно, вызовет ли такой способ фильтрации тем из всех списков тем какие-либо проблемы с производительностью?

@RGJ

Пока никаких жалоб не поступало. Плагин был разработан с учётом производительности.

3 лайка

Если пост в приватной теме помечен как решённый, то он отображается во вкладке «Решённые» на странице профиля автора поста и доступен для просмотра всем.

2 лайка

Спасибо за сообщение об этой проблеме. Мы займемся её решением в кратчайшие сроки.

3 лайка

Проблема, о которой сообщил @SubStrider, решена. Пожалуйста, обновите плагин до версии 1.5.12.

Ещё раз спасибо за сообщение об ошибке, @SubStrider :rocket:

5 лайков

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

Экземпляр Discourse с трёхзначным количеством пользователей, используемый как замена рассылки. Около 40 категорий (= рассылки) с соответствующей группой для управления членством. Некоторые категории используют плагин приватных тем, чтобы имитировать рассылку, где не-участники (но участники других списков) могут писать. Пока всё хорошо.

Проблема:

Сегодня администратор написал тему в некоторых списках, чтобы проверить настройки с участниками списков. Всё было в порядке для «обычных»/закрытых категорий, где только участники соответствующей группы получили сообщение. Однако это не сработало для категорий, использующих плагин приватных тем. *<edit>Там все сотни пользователей, независимо от того, были ли они участниками этой конкретной категории/группы или нет, получили письмо с сообщением. :frowning: Там все сотни пользователей, все являвшиеся участниками категории, так как права категории были предоставлены everyone[1], но независимо от того, были ли они участниками конкретной группы, определённой в настройках плагина категории для видимых прав, получили письмо с сообщением. :frowning: Как выяснилось позже, настройка плагина веб-сайта Private topics permitted groups всё ещё использовала группу по умолчанию Admin. </edit>

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

Ожидаемое поведение:

Я понимаю логику этого дизайнерского решения: сообщения/письма администраторов всегда видны/отправляются по почте. Но в данном случае намерение состояло только в том, чтобы проинформировать участников категории/группы. То, что несколько сотен писем были отправлены всем в этом экземпляре Discourse, было для меня очень непрозрачным (и неприятным).

Возможное исправление:

Я хотел бы улучшить эту ситуацию. Поскольку доступна функция отправки писем, простое диалоговое окно подтверждения не сработает. Возможно, это могло бы быть глобальной настройкой в плагине или для каждой категории, использующей плагин, чтобы либо обрабатывать сообщения администраторов как видимые для всех, либо как видимые только для участников категории/группы? Это хотя бы повысило бы осведомлённость при настройке новой категории.


  1. что не следует использовать, вместо этого следует использовать trust_level_0, см. OP ↩︎

Пожалуйста, отправьте мне личное сообщение со всей доступной вам релевантной информацией, включая:

  • версии Discourse и плагина

  • настройки плагина

  • другие установленные вами плагины

  • настройки безопасности категорий и специфичные для категории настройки плагина для затронутой категории

  • настройки уведомлений

  • включен ли режим списка рассылки?

  • могут ли пользователи, которые по ошибке получили уведомление по электронной почте, также просматривать тему при посещении категории

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

Спасибо за быстрый ответ!

Готово. Ваши вопросы помогли мне найти коренную причину (настройки сайта: настройки плагина: Разрешённые группы для приватных тем). С точки зрения кода всё работает как задумано, но, на мой взгляд, это проблема UX, которую стоит улучшить. :slight_smile:

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

3 лайка

Ещё раз спасибо @RGJ за то, что нашли время разобраться в проблеме вместе со мной и помочь мне выявить ошибку в настройке группы everyone. Поскольку в моей установке доступ к контенту Discourse имеют только авторизованные пользователи, я изначально не понял разницы между everyone и trust_level_0. Теперь же я узнал, что Discourse обрабатывает их совершенно по-разному. Таким образом, с плагином всё в порядке, и я ещё больше благодарен за добавленное предупреждение, так как боюсь, что рано или поздно снова попал бы в эту ловушку… :smiley:

2 лайка

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

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

РЕДАКТИРОВАНИЕ

Используйте этот плагин: Topic OP moderation Plugin

5 сообщений были объединены в существующую тему: Ограничение публикации в категории до тех пор, пока они не «лайкнут» тему

Если бы вы могли предоставить больше информации о процессе:

  • Когда студент публикует пост, хотите ли вы, чтобы у него был выбор между публичным и приватным режимом?
  • Должны ли они иметь возможность изменять видимость темы после x времени?

Простое решение — конвертировать тему в личное сообщение (и наоборот). Обращение к группе.

Это требует участия модератора для изменения статуса с «личное сообщение» на «публично» или с «тема» на «приватно».

@RGJ, пожалуйста, перемести этот пост обратно. Он не предназначен для размещения здесь.

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

В консоли появляется предупреждение об устаревании для этого плагина:

deprecation-identify-source.js:15 DEPRECATION: [PLUGIN discourse-private-topics] Импорт `inject` из `@ember/service` устарел. Пожалуйста, импортируйте `service` вместо этого. [deprecation id: importing-inject-from-ember-service] Это будет удалено в ember-source 7.0.0. См. https://deprecations.emberjs.com/id/importing-inject-from-ember-service для получения более подробной информации.
1 лайк