| 概要 | グループメンバーシップの自動管理 | |
| リポジトリリンク | https://github.com/communiteq/discourse-dynamic-groups | |
| インストールガイド | Discourseにプラグインをインストールする方法 |
このプラグインはベータ版と見なされるべきです 
機能
Discourseコミュニティでは、バッジの所有権や既存のグループメンバーシップなどの条件に基づいて、グループメンバーシップを自動化する必要があることがよくあります。
一般的なユースケースは次のとおりです。
-
「サブスクライバー」グループに属していないユーザー
-
Marketplace での投稿を禁止されていないユーザー
-
TL0またはTL1のユーザー(TL2ではない)
-
新規ユーザーチュートリアルを完了したユーザー、または1年以上メンバーであるユーザー
-
client_1、client_2、またはclient_3に属しており、インターンではないユーザー
以前は、これを解決するには、定期的にグループを同期するカスタムスクリプトが必要でした。Dynamic Groupsプラグインは、その必要性をなくします。
このプラグインは、グループ設定にブール式フィールドを導入し、管理者がグループメンバーシップを動的に決定するルールを定義できるようにします。
例:
-
「サブスクライバー」グループに属していないユーザー
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
設定
プラグインがインストールされ、有効になると、グループ管理インターフェイスに新しいタブが表示されます。
ブール式を入力または更新すると、システムは一致するユーザーでグループを生成するのに数分かかります。それ以降、ユーザーの状態が変化すると、グループメンバーシップは自動的に更新されます。
重要:
ルールが定義されると、グループは自動としてマークされ、手動メンバーの変更が無効になります。グループを手動管理に戻すには、式フィールドをクリアするだけです。既存のメンバーはそのまま残り、手動制御を取り戻すことができます。
