Динамические группы в Discourse

:information_source: Краткое описание Автоматическое управление членством в группах
:hammer_and_wrench: Ссылка на репозиторий https://github.com/communiteq/discourse-dynamic-groups
:open_book: Руководство по установке Как устанавливать плагины в Discourse

Возможности

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

Типичные сценарии использования включают:

  • Пользователи, не входящие в группу «подписчики»

  • Пользователи, не заблокированные для публикации в Marketplace

  • Пользователи с уровнем доверия 0 или 1, но не 2

  • Пользователи, завершившие учебное пособие для новых пользователей или состоящие в сообществе более года

  • Пользователи, принадлежащие к client_1, client_2 или client_3, и не являющиеся стажёрами

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

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

Примеры:

  • пользователи, не входящие в группу «подписчики»
    trust_level_0 AND NOT subscribers

  • пользователи, не заблокированные для публикации в Marketplace
    trust_level_2 AND NOT banned_users

  • пользователи с уровнем доверия 0 или 1, но не 2
    trust_level_0 AND NOT trust_level_2

  • пользователи, завершившие учебное пособие для новых пользователей или состоящие в сообществе более года
    badge:certified OR badge:anniversary

  • пользователи, принадлежащие к client 1, 2 или 3, и не являющиеся стажёрами
    (client_1 OR client_2 OR client_3) AND NOT interns

Настройка

После установки и активации плагина в интерфейсе администрирования групп появится новая вкладка:

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

Важно:
При определении правила группа помечается как автоматическая, что отключает ручное изменение состава. Чтобы вернуть группу к ручному управлению, просто очистите поле выражения. Текущие члены останутся, и вы получите возможность ручного управления.

28 лайков