Discourse グループのユーザーステータス

:information_source: 概要 特定グループにユーザーステータス機能を制限します
:hammer_and_wrench: リポジトリリンク https://github.com/Lillinator/discourse-group-user-status
:open_book: インストールガイド Discourse でのプラグインのインストール方法

:woman_technologist:t2: 概要

このシンプルなプラグインにより、フォーラム管理者はユーザーステータスを特定ユーザーグループまたは信頼レベルに制限できるようになります。

現在、Discourse コアでのユーザーステータスはフォーラム全体に対してのみ有効化できます。しかし、このプラグインにより、よりきめ細やかな制御が可能になり、管理者はユーザーステータスの設定と表示を許可するユーザーグループを指定できるようになります。これにより、カスタマイズされたコミュニティ管理の柔軟性が向上します。

機能

  • グループベースの権限 - ユーザーステータスの設定を特定のグループ(信頼レベル、カスタムグループ、またはその両方)に制限
  • 管理者オーバーライド - 管理者はグループ設定に関わらず、常にステータス権限を保持
  • 自動クリーンアップ - 権限を失ったユーザー(設定変更やグループからの除外など)のステータスを自動削除
  • UI 統合 - 権限のないユーザーにはステータス操作を非表示

:gear: インストールと設定

  1. 標準的なプラグインインストールガイド に従ってインストールします。

  2. Admin -> 全てのサイト設定 に移動し、「user status」を検索して関連する管理者設定を確認します。

  3. 既存の管理者設定 Enable_user_status が有効になっていることを確認します。

  4. 次に、新しい管理者設定 User_status_allowed_groups に移動し、ユーザーステータス機能の使用と表示を許可するグループを選択します。

  5. User_status_allowed_groups 設定リストに含まれないグループは、ユーザーメニューのタブや preferences/account タブからユーザーステータスモーダルにアクセスできません。

  6. Enable_user_status が既に有効で、一部のユーザーがステータスを設定している場合、このプラグインはすぐに新しい設定に追加されない限り、そのステータスをクリアします。

  7. また、/admin/users/ または /admin/groups/ パスを通じてユーザーが許可されたグループから削除された場合(または、グループからの脱退が許可されている場合にユーザー自身が脱退した場合)、既存のステータスも削除されます。

  8. 擬似グループ everyone を選択することは、デフォルトの空の状態のままにするか、コンポーネントをインストールしないことと全く同じです。

  9. 管理者は、どのグループが選択されているかに関わらず、常にステータスの設定と変更が可能です。したがって、admins グループのみを選択すれば、ユーザーステータスの使用をフォーラム管理者に制限できます。


:wrench: 設定

このプラグインによって追加される新しい管理者設定は User_status_allowed_groups です。これはフォーラムのグループのドロップダウンリストです。「user status」を「全てのサイト設定」で検索すると見つかり、管理者サイドバーの グループ権限 セクションに記載されています。


:briefcase: 使用例

  • ユーザーステータス機能がフォーラムスタッフのみに関連する場合、スタッフはフォーラムの他のユーザーに対してユーザーステータスを表示したいかもしれません。

  • カテゴリモデレーターのみがステータスを設定できるようにする。

  • 信頼度の低いユーザーグループによるユーザーステータス機能の乱用(または他の不正使用)を防ぐために使用できます。

  • 特別なグループのみがユーザーステータスを表示できるようにする - 例えば、テクニカルサポートチーム、製品販売者、カテゴリの専門家、パトロン、マスター・ヨーヨー・トリックスターなど。

  • コーヒーを飲みに行くことができるのは管理者のみです :wink: :coffee:


:bulb: 注記:通知とカレンダー連携

このプラグインはユーザーステータスにのみ影響し、通知設定には影響しません:

  • ステータスモーダル内の「通知を一時停止」オプションは別の機能です。
  • このプラグインによってユーザーのステータスがクリアされても、一時停止中の通知は有効なままです。
  • 一時停止中の通知インジケーターは、期間が経過するか、ユーザーが手動で一時停止を解除するまでアバターに表示され続けます。

Discourse Calendar プラグイン がインストールされている場合:

  • カレンダープラグインによって設定された休暇ステータスは、このプラグインの影響を受けません。
  • 非常に稀なエッジケース:ユーザーが手動で休暇ステータスを上書きし、管理者がそのユーザーの予定された休暇期間中に user_status_allowed_groups からグループを削除した場合、手動で設定されたステータスはクリアされます。
  • カレンダープラグインは 10 分ごとに休暇ステータスを自動的にリセットするため、クリアされたステータスは次のスケジュール実行時に復元されます。
  • 許可されたグループに属していないが、現在予定された休暇ステータスを持っているユーザーは、ステータスを手動で設定または編集できません。

:camera_flash: その他のスクリーンショット

ユーザーステータスへの設定効果のスクリーンショット

ユーザーステータス機能の使用権限は User_status_allowed_groups 設定で付与されます。例えば、test-pilot ユーザーは TL_2 であり、purple グループに所属しています。ここでは、Staff および TL_4 とともに、ユーザーステータスの設定と表示が許可されています:


User_status_allowed_groups 設定が変更され、purple グループが設定から削除されると、test-pilot ユーザーのユーザーステータス機能の使用権限はユーザーメニューおよび preferences/account ページから削除されます。また、既存のユーザーステータスが設定されている場合、次のページ更新時にクリアされます。ユーザーがグループから削除された場合(または、許可されている場合に自ら脱退した場合)も同様の効果が現れます。


私の他の Discourse 関連のコンテンツをチェック
「いいね!」 15

素晴らしい出来栄えです!そして、ドキュメントも美しく書かれていますね。試してみるのが楽しみです。

「いいね!」 1