| 概要 | グループのメンバーシップを自動的に管理します | |
| リポジトリリンク | https://github.com/communiteq/discourse-dynamic-groups | |
| インストールガイド | Discourseにプラグインをインストールする方法 |
機能
Discourseコミュニティでは、バッジの保有や既存のグループメンバーシップなどの条件に基づいて、グループのメンバーシップを自動化する必要があります。
一般的なユースケースは以下の通りです:
-
'subscribers’グループに所属していないユーザー
-
#marketplaceへの投稿が禁止されていないユーザー
-
TL0またはTL1に所属しているが、TL2には所属していないユーザー
-
新規ユーザーチュートリアルを完了した、または1年以上メンバーであるユーザー
-
client_1、client_2、またはclient_3に所属しており、インターンではないユーザー
従来、この問題を解決するには、定期的にグループを同期するカスタムスクリプトが必要でした。Dynamic Groupsプラグインはこの必要性を解消します。
このプラグインは、グループ設定にブール式フィールドを導入し、管理者がグループのメンバーシップを動的に決定するルールを定義できるようにします。
例:
-
'subscribers’グループに所属していないユーザー
trust_level_0 AND NOT subscribers -
#marketplaceへの投稿が禁止されていないユーザー
trust_level_2 AND NOT banned_users -
TL0またはTL1に所属しているが、TL2には所属していないユーザー
trust_level_0 AND NOT trust_level_2 -
新規ユーザーチュートリアルを完了した、または1年以上メンバーであるユーザー
badge:certified OR badge:anniversary -
client 1、2、または3に所属しており、インターンではないユーザー
(client_1 OR client_2 OR client_3) AND NOT interns
設定
プラグインがインストールされ有効化されると、グループ管理インターフェースに新しいタブが表示されます:
ブール式を入力または更新すると、システムは数秒かけて一致するユーザーをグループに追加します。それ以降、ユーザーのステータスが変化すると、グループのメンバーシップは自動的に更新されます。
重要:
ルールが定義されると、グループは自動としてマークされ、手動でのメンバー変更が無効になります。グループを手動管理に戻すには、式フィールドをクリアしてください。既存のメンバーはそのまま残り、手動制御が回復します。
