プライベートトピックプラグイン

:information_source: 概要 プライベートトピック 通常のカテゴリでプライベートトピックを有効にします
:hammer_and_wrench: リポジトリリンク GitHub - communiteq/discourse-private-topics
:open_book: インストールガイド Discourseにプラグインをインストールする方法

特徴

このプラグインを使用すると、カテゴリに特別なセキュリティ設定を追加して、ユーザーが自分のトピックにのみアクセスできるようにすることができます。また、カテゴリ内のすべてのトピックを表示できるグループを1つ以上指定することもできます。これは通常、公開コミュニティ内でプライベートサポートを提供するために使用されます。

根拠

数千ものカテゴリを作成することなく、Communiteqのクライアントにサポートを提供できる、より統合された方法を探していました。また、グループ受信トレイはあまりにも場当たり的に感じられ、デフォルトで誰かがグループ受信トレイに何かを投稿するたびに「新しいPM」バブルが表示されるため、グループ受信トレイを避けたいと考えていました。

以前、このアイデアについてここで書きました。

設定

プラグインを有効にした後、カテゴリのセキュリティ設定に移動します。

:warning: 「全員」からアクセスできないようにしてください:warning:
広くアクセス可能にする必要がある場合は、これを trust_level_0 に設定してください。

設定項目

グローバルサイト設定もいくつかあります。

  • private topics permitted groups: メンバーの投稿が常にアクセス可能であるグループを指定します。これにより、スタッフやサポートスタッフの投稿は、プライベートカテゴリ内でもアクセス不能になるのを防ぐことができます。デフォルトのシステムユーザーからの投稿も常に表示されます。これらの投稿を表示したい場合は、カテゴリの紹介投稿がデフォルトのシステムユーザーからのものであるか、このグループのユーザーからのものであることを確認してください。

  • private topics admin sees all: 有効にすると、管理者ユーザーはプライベートカテゴリ内でもすべてのトピックにアクセスできます。機密データを誤って見られないようにしたい場合は、これを無効にしてください。

注意事項

プラグインは、トピックリスト、投稿ストリーム、検索、ユーザー概要、ユーザーアクティビティ、見つからないページ、フォロー通知、および生のデータからトピックをフィルタリングします。

トピックはバッジに含まれますが、非公開カテゴリにはバッジが付与されないため、カテゴリのセキュリティグループから everyone を削除し、代わりに trust_level_1 を追加する必要があります。

このプラグインは新しく、まだ広範にテストされていません。
考えられる「漏洩」は次のとおりです。

  • メッセージバス(「新しいトピックまたは更新されたトピックが1つあります」というメッセージがフラッシュして消えることがあります)

今後の予定 / ロードマップ

  • カテゴリバナーで、カテゴリに機密性の高いものを投稿しても安全であることを説明する。
「いいね!」 45

リチャード、素晴らしい仕事ぶりだね!

「いいね!」 2

わー、これは素晴らしいです。素晴らしい仕事です!

「いいね!」 3

1つの小さな観察ですが、staffまたはadminsがグループに指定されていない場合、管理者でさえこれらの応答を表示できないようです。これは意図したものでしょうか?

テスト用のカテゴリを2つ作成しました。1つは管理者がグループに指定されているもの、もう1つは指定されていないものです。トピックを一方のカテゴリからもう一方に移動すると、そのトピックの可視性が失われました。ただし、カテゴリの削除ボタンによってトピック名が漏洩します。これは、削除をブロックしているトピックがまだ存在することを示し、名前を付けます。

「いいね!」 1

はい、意図的にadminを特別扱いしないようにしました(こちらこちらの精神に則り)、グループを追加するのは簡単で、管理者が通常のセキュリティルールに従うことはテストにおいて非常に役立ちます。

一方で、管理ユーザーの「漏洩」を閉じるための努力もしていません。特に、フォーラムの管理中に問題を引き起こす可能性があるためです。

しかし、良い指摘なので、このトピックの最初の投稿で明確にします。

「いいね!」 2

カテゴリ表示で、名前が不明瞭な場合でも、管理者にトピックを一覧表示する余地はありますか?

もう少し詳しく説明していただけますか?おっしゃっている意味がよくわかりません。

デフォルトでは管理者が見ることができないコンテンツが存在するのは、かなり前例のないことです。

それらのトピックを、グループが明示的に指定されていない限り管理者に表示したくない場合、少なくともトピックビューに、表示できないプライベートトピックが存在することを示すものを追加することはできますか?トピックリストでトピック名を表示するものの、トピック自体を開けないようにする(後者は現在の状況であり、リンクは機能しないだけです)ことから、カテゴリの上部に、プライベートトピックが有効になっているが、現在表示する権限がないことを管理者に伝える通知を含めることまで、何でも考えられます。

「いいね!」 1

承知いたしました、説明ありがとうございます。

来週初めに、管理者ユーザーのすべてのフィルターをスキップするサイト設定を追加します。

プライベートトピックの許可グループ設定を追加し、メンバーの投稿が常に表示されるグループを指定できるようにしました。これにより、スタッフやサポートスタッフの投稿が、プライベートカテゴリ内でもアクセス不能になるのを防ぐことができます。デフォルトのシステムユーザーからの投稿も常に表示されます。カテゴリの紹介投稿は、デフォルトのシステムユーザーまたはこのグループのユーザーからのものであることを確認してください。

また、管理者がすべてを表示できるデフォルトの機能も追加しました。以前の動作に戻すには、private topics admin sees allをオフにすることができます。@stephen

「いいね!」 1

RGJさん、このプラグインをありがとうございます。コミュニティで非常に役立つでしょう。

私の理解が正しければ、このカテゴリで機密情報を含むトピックを作成してもユーザーは安全ということでしょうか?

「いいね!」 1

これは、グループ受信トレイと同じレベルの機密性を提供するように設計されています。つまり、トピックの作成者と定義されたグループのみが、その管理下にあるトピックにアクセスでき、さらに管理者と(アクセス権を)取得した人は誰でもデータベースにアクセスできます。

このプラグインはまだ4日前にリリースされたばかりで、「ベータ版」と表示されているため、まだ広範囲に実地テストされていません。

おそらく、より迅速に実戦レベルに到達させるために懸賞金を設定すべきでしょう。誰かがそれを回避する方法を見つけて、不正な一般ユーザーとしてトピックにアクセスできた場合、Commiteqのホスティングを2か月間無料で提供します。トピックのタイトルなどの部分的な漏洩の場合は1か月です。

「いいね!」 5

これまでに確認できた(ごく軽微な)のは、ユーザープロフィールの概要で、トップカテゴリ経由でそのカテゴリのいずれかにユーザーがトピックを作成したことがわかる点です。リンク(カテゴリまたはカウントへのリンク)は、トピックを公開するものではありません。

編集:実際に見つけました。ただし、コア機能ではなく公式プラグイン経由です。discourse-follow は、プライベートトピックのタイトルとURLを漏らします。

「いいね!」 2

ありがとうございます!!!
これで対応済みです。

「いいね!」 2

さらに2つのタイトル/URLのリークが見つかりました。一方はもう一方に関連しています。

手順は以下の通りです。

  • ユーザー1が別のカテゴリでトピックを作成し、ユーザー2がそれにインタラクションすることで、そのトピックが「監視対象」に設定されます。
  • トピックがプライベートトピックカテゴリに移動されます。
  • トピックでさらにアクティビティが発生し、ユーザー2がアクセスできないにもかかわらず、トピックの通知がトリガーされます。(リークa、軽度)
  • 通知により、ユーザー2に「おっと!そのページは存在しないか、プライベートです。」という通常のメッセージが表示され、最近のブロックにいくつかの保護されたトピックタイトルが表示されます。(リークb、やや深刻)

「いいね!」 3

Stephenさん、ありがとうございます。最高です!!!

最近のトピックを「見つかりませんでした」ページで修正しました。プライベートカテゴリのトピックはすべて除外されます。

「いいね!」 2

@RGJ様、ありがとうございます。

Discourseにはまさにこれが不可欠でした。ほとんどのフォーラムプラットフォームに固有の作成/返信機能は、その統合フレームワークに本当に必要でした。この件に関するあなたの勤勉な努力に感謝いたします。

「いいね!」 1

こんにちは。

コミュニティでこのプラグインを試していたのですが、私や他のメンバーがテストしたところ、意図したとおりに動作しないようでした。通常のメンバーが作成した投稿は、選択したプライベートグループだけでなく、全員に表示されます。このプラグインは最新ではないのでしょうか、それとも私が何か間違ったことをしましたか?

「いいね!」 1

最新版で壊れているようです。修正しますので、しばらくお待ちください。

「いいね!」 1

修正されました。新しいバージョンをプルすれば大丈夫です。

ご報告ありがとうございます!

どうやらこれが原因のようです。

<Input
   @type="checkbox"
   @checked={{this.args.outletArgs.category.custom_fields.private_topics_enabled}}
/>

true だったものが、フィールドに t が入力されるようになりました。

「いいね!」 2