Discourseポリシー

:discourse2: 概要 Discourse Policy は、ユーザーに何らかの確認や行動を求め、必要に応じてリマインダーを送信する機能を提供します。
:open_book: インストールガイド このプラグインは Discourse コアにバンドルされています。個別にインストールする必要はありません。

機能

Discourse Policy はポールの機能と多くの共通点を持ち、グループのメンバーが特定のポリシーをボタンクリックで 承認 することを保証することを目的としています。

ポールとは異なるいくつかの固有の機能があります:

  1. 必ず特定のグループに適用する必要があります。

  2. 週次または日次でグループのメンバーにポリシーの承認を促す(nag)オプションがあります。

  3. ユーザーインターフェースにより、誰がポリシーを承認し、誰が承認しなかったかを簡単に確認できます。

設定

スクリーンショット

承認をクリックする前

右上の「グレー」の人物アイコンをクリックした後

承認をクリックした後

ポリシーの作成

Discourse Policy はカスタム [policy] BBCode 要素を登録します。つまり、ポリシーを表示させたい投稿に以下のコードブロックを記述する必要があります。

[policy group=founders reminder=daily]
I accept this policy will annoy me daily until I click accept
[/policy]

この場合、ポリシーは founders グループに適用され、ポリシーを承認していないすべてのユーザーに 毎日 リマインダーが送信されます。

サイト設定

policy_enabled : サイト上で Discourse Policy プラグインを有効化します。

policy_restrict_to_staff_posts: ポリシーはスタッフの投稿でのみ表示されます。

policy easy revoke: 承認と取り消しのボタンを同時に表示します。

BBCode 属性

[policy] 要素は以下の属性を受け入れます。

  • group: ポリシーを適用するグループ名 必須
  • version: ポリシーのバージョン番号。番号を上げることで、すべてのユーザーにポリシーの再承認を要求できます
  • reminder: グループのユーザーにポリシーの承認をリマインドします(週次または日次)。オプションで、デフォルトはオフ
  • accept: 承認ボタンのテキスト。デフォルトは「Accept Policy」
  • revoke: 取り消しボタンのテキスト。デフォルトは「Revoke Policy」
  • renew: ユーザーがポリシーを再承認する必要がある日数、または期間を表すテキスト(月次、四半期、年次など)
  • renew-start: 更新が開始される最初の日付。例:17-10-2017。更新の頻度を半年ごと(1 月、6 月)に設定したい場合に有用です
  • add-users-to-group: 単一のグループを入力として受け取ります。ポリシーを承認したユーザーは自動的にこのグループに追加されます(ポリシーが手動で取り消された場合、またはポリシーのバージョンが更新された場合は、ユーザーはグループから削除されます)
  • private: ポリシーを承認したユーザーと承認しなかったユーザーを非表示にします

:information_source: ポリシーのリマインダーを確認する バックエンドジョブ は 6 時間ごとに実行されます。reminder 要素が週次または日次に設定されている場合、ポリシーを承認していないユーザーには、過去 1 週間または 1 日以内に同じポリシーのリマインダー通知を受け取っていない場合に限り、ポリシー承認のための通知リマインダーが送信されます。

使用例

基本ポリシー:

[policy group="team" reminder="daily" accept="Accept" revoke="Ignore" version="1"]
I have read, understand and acknowledge this policy.
[/policy]

バージョン番号を上げて、全員に更新版の読了を要求する場合:

[policy group="team" reminder="daily" accept="Accept" revoke="Ignore" version="2"]
I have read, understand and acknowledge this policy. (Last updated [date=2020-04-23 timezone="America/Los_Angeles"])
[/policy]

定期的な監査タスク:

[policy group="audit_committee" reminder="weekly" renew="90" renew-start="01-07-2019" version="1" accept="Assignment Complete"] 
I have ensured that someone is assigned to this quarterly audit task.
[/policy]

変更履歴

今後の予定

  • 新しいポリシーに対する即時リマインダーのオプション追加
  • 特定のグループのみがポリシーを適用できるようにする可能性(スタッフ機能の拡張)
「いいね!」 65
How to make users to explicitly agree to ToS
Have-to-read topics? (or RSVP topics)
Plugin to maintain group membership based on accepting a Policy
Ability to view if PM has been read (Moderation ability?)
Group Membership base on accepting a Discourse Policy
Force existing users to accept ToS
How to get email notifications when new users have signed up?
Improving Discourse Policy for large groups
Dashboard Report - Unaccepted Policies
Is there a plugin that helps with Age Verification on the site?
Restrict posting in a category until they "like" a topic
Restrict posting in a category until they "like" a topic
Topic should be a notification
Plugin or other option to require a post and a like?
Watching category mandatory
Policy reminder cannot be left empty
Bundling more popular plugins with Discourse core
Age prompt for NSFW catagories
Button to join group on post
Bump topic with API
Publish group read state
Delivered and read notifications?
Habit tracking within Discourse...is it possible?
Changing policy texts
Agree to additional terms before joining group
Know who has viewed your post
How can I compare arbitrary revisions of a post?
Require accepting new terms (after changes) as a modal inside forum
Tips into building a community aside a variety of already existing tools
How to force existing users to accept ToS
Plugin to gather approvals / signatures on an initiative?
Recommnded plugins for supporting a tech community run by a big enterprise?
AUP location
I can't display my policy
Best practices for communicating to user base

2件の投稿が新しいトピックに分割されました:ポリシー作成をスタッフのみに制限しますか?

4件の投稿が新しいトピックに分割されました:特定のポリシーへの同意の取り消しを禁止することは可能ですか?

このコミットで 200 の制限と policy_max_group_size が削除されたようですが、何か見落としていることはありますか?

「いいね!」 3

6件の投稿が新しいトピックに分割されました:ポリシーを承認したにもかかわらずリマインダーを受け取っているユーザー

長いボタンテキストを持つポリシーが大規模グループに適用されると、UIが破損します。以下のスクリーンショットでは、アバターがほぼ無限の列を形成しており、少し不格好になっています。CSSを確認して簡単に修正できるか調べますが、おそらく何らかのデザイン変更が必要でしょう。

.cooked .policy .user-lists から display: flex を削除すると、デスクトップでは問題なく表示されます。

最終的に以下のCSSを使用しました。

/* ポリシーのユーザーリストがあふれないようにする */
.cooked .policy .user-lists {
    display: block;
}
「いいね!」 3

プラグインをインストールした後にエラーが発生しました。理由がわかりません。「/admin/dashboard/general.json](https://forum.wangyx.com/admin/dashboard/general.json)を読み込もうとしている間」に関連しているようです。

サーバーエラー

[/admin/plugins]を読み込もうとしている間

エラーコード: 500エラー

おっと

このディスカッションフォーラムを支えるソフトウェアで予期せぬ問題が発生しました。ご迷惑をおかけして申し訳ありません。

エラーに関する詳細情報は記録され、自動通知が生成されました。確認いたします。

それ以上の操作は必要ありません。ただし、エラー状態が続く場合は、エラーを再現するための手順を含め、追加の詳細をサイトのフィードバックカテゴリにディスカッションを投稿することで提供できます。

こんにちは

ポリシーが返信を許可しないカテゴリトピックでクローズされている場合、承認/拒否ボタンは表示されますか?

ありがとうございます

しばらくこのプラグインを使用していませんが、トピックが閉じられたときにユーザーが受け入れ/取り消しを許可できると思います。ボタンを押しても返信にはならないため、閉じることがそれを防ぎます。

「いいね!」 1

こんにちは、質問があります:
Discourse Policy プラグインを使用して、新規ユーザーに利用規約 (ToS) の同意を強制したいと考えています。要件:

  • 同意しない場合 → フォーラムを使用できない (ToS ページのみ表示)
  • 同意した場合 → フォーラムを使用できる + “ToS” バッジを取得

私の解決策は、新しいトピックを作成し、その中に以下を追加することでした:
[policy group=trust_level_0 reminder=daily add-users-to-group=tos_accepted accept=“利用規約に同意します” version=“1”]
「利用規約に同意します」をクリックすると、利用規約を読み、同意したことを確認します。
[/policy]

しかし、新しいユーザーがログインしてもポリシーがまったく表示されず、彼は好きなようにできてしまいます。 「同意」をクリックした場合のみ、ページにアクセスできるようにしたいと考えています。どうすればいいですか、そしてありがとうございます。

カスタムフィールドを使用して、利用規約とFAQページをリンクさせることができます。ユーザーがそれらを読んだら、「ガイドラインを読んだ」バッジを受け取ります。

「いいね!」 2

お返事ありがとうございます。おっしゃる通りに動作しました。しかし、本当にやりたいことは、ユーザーがログインした後にこのバナーを表示し、「承諾」をクリックした場合にのみページへのアクセスを許可することです。そうでない場合は、バナーが表示されたままで、ユーザーはページを操作できないようにしたいのです。

現在の状況は以下の通りです。


その後、ユーザーは通常通りページにアクセスできます。

そのような方法はありますでしょうか。よろしくお願いします。

:partying_face: このプラグインは、Bundling more popular plugins with Discourse core の一部として、Discourse コアにバンドルされるようになりました。セルフホストでこのプラグインを使用している場合は、次回のアップグレード前に app.yml から削除する必要があります。

「いいね!」 3

ユーザーをグループから削除する機能を追加していただけると幸いです。承認または拒否時に。

現在のところ、この機能はユーザーに(オプションで)通知し、追加するだけです。私が何か見落としているのでなければ。

ありがとうございます!

「いいね!」 2