Discourse Policy

||||
-|-|
:discourse2: | 概要 | Discourse Policy は、ユーザーが特定の事項を確認または実行したことを確認できる機能を提供します。オプションでリマインダーを送信することも可能です。
:open_book: | インストールガイド | このプラグインは Discourse コアにバンドルされています。プラグインを個別にインストールする必要はありません。

機能

Discourse Policy はアンケートと多くの共通点がありますが、グループのメンバーがボタンをクリックして特定のポリシーを承諾することを確実にすることを目的としています。

アンケートと異なる特定の機能があります:

  1. グループに対して適用される必要があります

  2. オプションで、グループのメンバーに対して週次または日次でポリシーを承諾するよう促すことができます。

  3. UX により、誰がポリシーを承諾し、誰が承諾しなかったかを非常に簡単に確認できます。

設定

スクリーンショット

承諾クリック前

右上の「グレー」の人物をクリック後

承諾クリック後

ポリシーの作成

Discourse Policy は、カスタム [policy] BBCode 要素を登録します。つまり、ポリシーを表示したい投稿内でこのコードブロックを書く必要があります。

[policy group=founders reminder=daily]
承諾するまで毎日うざがられるこのポリシーに同意します
[/policy]

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

サイト設定

policy_enabled : サイトで discourse policy プラグインを有効にする。

policy_restrict_to_staff_posts: ポリシーはスタッフの投稿にのみ表示可能にする。

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

BBCode 属性

[policy] 要素は以下の属性を受け取ることができます。

  • group: ポリシーが適用されるグループ名 必須
  • version: ポリシーのバージョン番号。すべてのユーザーにポリシーの再承諾を要求するには番号を増やす
  • reminder: グループのユーザーにポリシーの承諾を促す(週次または日次)。オプション。デフォルトはオフ
  • accept: 承諾ボタンに使用するテキスト。デフォルトは「ポリシーに同意」
  • revoke: 取り消しボタンに使用するテキスト。デフォルトは「ポリシーを取り消す」
  • 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="承諾" revoke="無視" version="1"]
このポリシーを読み、理解し、承諾しました。
[/policy]

改訂番号を増やして、全員が更新内容を読むことを要求:

[policy group="team" reminder="daily" accept="承諾" revoke="無視" version="2"]
このポリシーを読み、理解し、承諾しました。(最終更新日 [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="割り当て完了"] 
四半期ごとの監査タスクに担当者が割り当てられていることを確認しました。
[/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