Улучшение для модераторов категорий

:information_source: Краткое описание Разрешить большинство действий уровня модератора для модераторов категорий
:hammer_and_wrench: Ссылка на репозиторий Github
:open_book: Руководство по установке Как установить плагины в Discourse

Обновление — 6 мая 2024 г.

Плагин обновлён и протестирован для работы с версией Discourse v3.2.1, которая на данный момент является последней стабильной версией (не -beta). Мы планируем поддерживать только будущие стабильные релизы, поэтому, если вы используете -beta-версию, есть высокая вероятность, что плагин не будет работать.

В readme на странице плагина на GitHub объясняется, как убедиться, что вы используете версию v3.2.1.
Мы только что откатились с последней -beta-версии до v3.2.1, и единственная проблема, с которой мы столкнулись, — боковая панель начинает вести себя странно. Чтобы исправить это, просто выйдите из системы и войдите снова.

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

Поддерживаемая версия Discourse

v3.2.1

Запрос функции для Discourse

Здесь открыт запрос на включение этих функций в ядро: ссылка. Если вы считаете, что включение этих изменений в основные функции Discourse будет полезным, не стесняйтесь поддержать этот запрос.

Возможности

С момента начала использования Discourse мы заметили, что действия, доступные модераторам категорий, выглядят недостаточно функциональными. Большинство базовых действий с контентом ограничены (установка медленного режима, добавление цвета/заметки для сотрудников и т. д.), хотя, на наш взгляд, в этом нет реальной необходимости.

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

Единственные исключения:

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

Настройка

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

ИСТОРИЯ ИЗМЕНЕНИЙ

  • Первичный бета-релиз
  • Обновлённая версия, работающая с Discourse v3.2.1

ПЛАНЫ

  • Детальный просмотр настроек, позволяющий выбрать, какие действия включить для модераторов категорий
16 лайков

Вы не видите причины вообще или в вашем конкретном случае?

Иногда мы используем это на мета-форуме. Например, если плагин или тема/компонент, изначально разработанные кем-то, кто больше не работает над ними, передаются другому лицу, мы меняем автора на нового сопровождающего или на @system в зависимости от контекста.

2 лайка

Очевидно, я сформулировал это неудачно. Теперь исправлено. В самом TODO как раз предусмотрена возможность включения этой функции как опции.

В нашем сообществе это просто станет постом в вики, чтобы каждый мог внести свой вклад. В вашем примере это имеет смысл, но для нашего форума ближайшим аналогом мог бы быть только гайд по чему-либо (самостоятельный хостинг чего-то на Raspberry Pi, гайд по игре, список мероприятий для группы и так далее).

3 лайка

Вот пример сценария использования: с плагином для WordPress пользователям необходимо индивидуально настроить учётную запись Discourse — даже если SSO гарантирует соответствие 1:1. Если кто-то забудет или неправильно настроит сторону WordPress, пост будет принадлежать «системе».

Назначение модераторов WordPress модераторами категории комментариев блога позволит им решать эту проблему (и, разумеется, модерировать комментарии).

Это ли тот крупный случай, когда вы хотите, чтобы модераторы категорий не были уровня tl4?

Я очень открыт к простому улучшению ядра здесь.

9 лайков

Я, по крайней мере, хотел бы провести различие между:

  • признанием в сообществе обсуждений как ответственным, продуктивным и конструктивным участником, и
  • наличием ответственности и полномочий в определённой области в силу занимаемой роли (роль может быть совершенно не связана с общим участием в обсуждениях)

TL3 — это автоматизированная версия первого, а TL4, как мне кажется, напоминает версию «у вас теперь пожизненный статус!».

Модератор категории — это (или должно быть!) идеальное решение для второго случая.

3 лайка

TL4 действуют на уровне всего форума. По нашему мнению, модератор категории должен иметь доступ ко всем инструментам модератора, но с ограничениями только в рамках самой категории.

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

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

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

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

Альтернативный вариант — расширить функционал пользователей, используя отдельную таблицу в базе данных, где хранятся user_id, category_id и дата/время. Каждый раз при доступе пользователя к теме выполняется проверка, может ли он с ней взаимодействовать.

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

8 лайков

Итак, какие преимущества добавлены?

Перемещение тем в другие категории, управляемые группой?
Проверка очереди флагов?

1 лайк

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

7 лайков

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

3 лайка

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

Учитывая утверждение «это единственные исключения», всё на Trust Level Permissions Reference, где в столбце «Модератор категории» указано «TL» или стоит пусто, должно стать :white_check_mark:, за исключением выдачи бейджей, смены владельца и действий с учётными записями пользователей.

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

3 лайка

100% согласен. :heart:

Это действительно может сработать. Я настроил систему по этой модели и участвовал в теме про HTML/Markdown на тему «Отображение сообщения, если публикация невозможна», чтобы генерировать сообщение со ссылкой на отправку сообщения владельцам группы.

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


Примечание Мы могли бы создать запрос на новую функцию (#feature request) для расширения возможностей групп, чтобы реализовать подобную Reddit систему подфорумов с использованием модераторов категорий, так как, судя по всему, это интересует и @simon.

2 лайка

Поверьте, мне самому этого очень не хватает в самом Discourse. Это невероятно раздражает, когда кто-то работает над стилем форума, но мне приходится тестировать изменения самостоятельно, потому что я не могу просто дать ПОЛНЫЙ АДМИН-доступ человеку, который должен заниматься только CSS и визуальной частью.

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

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

1 лайк

Не думаю, что я смогу найти запрос на эту функцию (#feature request)? Если вы сможете добавить ссылку на него в первом посте (OP), это может помочь привлечь к нему больше внимания?

2 лайка

Возможно, стоит, чтобы я или кто-то другой начал работу над расширением групп.

Например:

  • Список приостановки/блокировки для владельцев групп. Полезно как для групп с открытым доступом, так и для групп с требованием вступления. Потребуется опция выбора длительности. Это расширение поможет достичь большего соответствия тематике Reddit.
  • #Theme с опцией ограничения темы и/или #theme-component.

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

Похоже, одно из последних изменений

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

Оно затронуло не только добавление новой опции, так как плагин перестал работать. Насколько мы видим, это не ломает Discourse, но дополнительные опции больше недоступны. Всегда забавно, когда кто-то решает провести рефакторинг множества вещей ради добавления одной новой функции :smiley:

Мы снова изучаем код, чтобы понять, что было изменено.

1 лайк

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

1 лайк

Раз вы получили это от CEO, я бы сказал, что это обнадеживающий знак:

Стоит создать одну или две заявки в #feature request, если вы действительно хотите увидеть их добавление в ядро.

3 лайка