Discourse 動的グループ

:information_source: 概要 グループメンバーシップの自動管理
:hammer_and_wrench: リポジトリリンク https://github.com/communiteq/discourse-dynamic-groups
:open_book: インストールガイド Discourseにプラグインをインストールする方法

:warning: このプラグインはベータ版と見なされるべきです :warning:

機能

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

設定

プラグインがインストールされ、有効になると、グループ管理インターフェイスに新しいタブが表示されます。

ブール式を入力または更新すると、システムは一致するユーザーでグループを生成するのに数分かかります。それ以降、ユーザーの状態が変化すると、グループメンバーシップは自動的に更新されます。

重要:
ルールが定義されると、グループは自動としてマークされ、手動メンバーの変更が無効になります。グループを手動管理に戻すには、式フィールドをクリアするだけです。既存のメンバーはそのまま残り、手動制御を取り戻すことができます。

「いいね!」 25