Discourse の非公開返信

Github: GitHub - communiteq/discourse-private-replies

このプラグインは、トピックの開始者と投稿の作成者以外には、トピックの返信を非表示にします。

ユースケース

これは、例えば宿題の課題に使用できます。教師がトピックを開いて課題を投稿し、すべての生徒が回答を投稿します。全員が作品を提出したら、教師は回答を公開して、生徒がそれらについて話し合えるようにすることができます。

2番目のユースケースはオークションです。何かを販売のために提供します。人々は入札を投稿でき、取引が完了したら、トピックの所有者はコミュニティにすべてがルールに従って行われたことを示すためにすべての入札を明らかにすることができます。

使用法

プラグインをインストールして有効にした後、トピックごとにプラグインの機能を使用できます。

トピックの開始者であれば、トピックの下部に新しいボタンが表示されます。

button

このボタンを押すと、このトピックでプライベート返信機能が有効になります。

トピックの上にバナーが表示され、次のようになります。

  • ユーザーは、自分自身、トピックの所有者、および選択されたグループのユーザーによって作成された投稿のみを表示できます。
  • トピックの所有者のみがすべての投稿を表示できます。

banner

ボタンをもう一度押すと、トピックは通常の状態に戻ります。

プラグインは、有効になっている場合、すべてのトピックでプライベート返信を許可します。ただし、「選択したカテゴリのみでプライベート返信」の設定が有効になっている場合、カテゴリのセキュリティ設定でカテゴリごとにプラグインを有効にすることができます。

同じ画面で、そのカテゴリのすべての新しいトピックでデフォルトでプライベート返信を有効にする設定も見つけることができます。これは、トピックが電子メールで送信される場合に特に便利です。

設定

  • private_replies_participants_can_see_all が有効な場合、トピックに参加した人は誰でもすべての返信を見ることができます。
  • private_replies_min_trust_level_to_see_all この信頼レベル以上のユーザーは、すべての返信を見ることができます。
  • private_replies_groups_can_see_all これらのグループのユーザーは、常にすべての返信を見ることができます(デフォルト:スタッフ)。
  • private_replies_see_all_from_groups これらのグループのユーザーからの投稿は、常にすべての人に表示されます(デフォルト:スタッフ)。
  • private_replies_topic_starter_primary_group_can_see_all トピックの所有者と同じプライマリグループのユーザーは、すべての返信を見ることができます。

注意事項

プラグインは、投稿の内容を取得する次の方法を無効にします。

  • トピックビュー(つまり、投稿を表示する通常の手段)
  • ユーザープロファイル - アクティビティ
  • 検索
  • 生の(/raw/topic_id/post_id)

ただし、トピックに誰が投稿したかを調べることは still できます。

  • トピックリストのアイコンは、トピックに誰が投稿したかを示し続けます。
  • トピックの下部で「ユーザーxxxが返信しています」と表示されることもあります。
  • トピックは、ユーザープロファイル - サマリーでも表示されます。

ただし、これらはすべて投稿の内容を明らかにしません。

背景:

私の配偶者は教師(古代ギリシャ語と古典ラテン語)であり、数年間、クラスでDiscourseを使用しています。彼女は主に生徒に課題を配布し、その後で議論するためにそれを使用しています。しかし、すべての課題は授業中に紙で提出されています。

学校がすべてのコロナパニックのために閉鎖されたため、これまでは100%オンライン教育に移行しており、課題も含まれています。そのため、現在、すべての生徒が彼女に作品を電子メールで送っています。これは、彼女がかなりの管理作業を行う必要があるため、非常に最適ではありません(そして、彼女はこれらの種類のことにあまり得意ではないことをお伝えできます:wink:)。

私たちはいくつかのオプションを議論していましたが、彼女は次のように言いました。「人々が私の投稿(つまり、トピックの開始者が作成した投稿)と自分自身の投稿しか見ることができないトピックをどうして持てないの?これにより、トピックとして課題を投稿し、すべての生徒がその下に回答を投稿できるように、他のすべての回答を見ることができないようにすることができます。全員が作品を入力し、議論の時期になったら、ベールを削除してすべての投稿を全員に表示できるボタンを押して、お互いの作品を見たり議論したりできるようにしたいのです。」

はい、素晴らしいです!(だから彼女が好きなのです)。それで、私はこのプラグインを作成しました。以前の議論はこちら:Topic replies invisible until topic owner decides to reveal them?

「いいね!」 78
Reply only visible to the post owner
Anyway to make Forms in Discourse - One Category?
Is there a "Reply to View" plugin for Discourse?
Let topic owner approve replies to their topic
Is this secure? Concept for private info in replies
Making a Category or Replies in a Topic Only Visible by Poster and Admin
Help With a Private Topics/Replies Alternative?
Is there an option on Discourse to allow a logged-in member to see only the topics where they participated?
Way to make part of the post visible to author and staff only?
Hide ALL replies to Topics in a Category by default using Spoiler Text Plugin
How to schedule posts (not topics)?
Is there a way to hide some text in a post?
Private post feature
Author-only Topic (take 2)
A new way to lead and facilitate conversations
Error Can't search when No login
Private Topics Plugin
Allow post author to see/reply to whisper posts
Discourse BCC
Private Topics Plugin
Is there a "Reply to View" plugin for Discourse?
Will uninstalling a plugin leave any residual debris files in the database?
Discourse Like and/or Reply to reveal the post
Help with auto-close topic?
2020: The Year in Review
Post Read-only mode on a category
Display 'top level comments' separate from comment replies (Alternative to Threaded Comments?)
Permissions in certain category
Resources for using Discourse in the classroom
Offering "private support" as part of a public support community
Offering "private support" as part of a public support community
Allow write access without read access
Permissions and clients/users

New ways schools can adopt with Discourse! Nice job! :grinning:

「いいね!」 10

Very cool and thank you for sharing this @RGJ :beers:

「いいね!」 15

Great to see this!

My one nitpick is that I’d rather have the feature enabled at the category level, then replies can get revealed per-topic when everything’s submitted.

「いいね!」 11

Very cool, I was wondering if there is a way to still access the contents of private replies:

  • by Group (Teachers)
  • Trust Level (all teachers are at least Trust Level 3).
「いいね!」 9

Why do you think that’s better?

That’s a pretty good idea. It shouldn’t be too hard to add that to the plugin.
I’ll keep it in mind but right now I don’t have a use case for this myself. PR’s are welcome though!

「いいね!」 6

Prevents random abuse from topic starters enabling the setting on non-intended categories. It’s a “why would you do that?” situation but still something that needs a flag to resolve.

「いいね!」 7

Yeah, that’s useful indeed. So that could be solved by a category setting ‘allow private replies’.
I thought you wanted a ‘topics have private replies by default’ setting, which would be harder to build.

「いいね!」 6

こんにちは、リチャード!あなたのプラグインが素晴らしく動作しているので、先生もきっと喜んでくれるでしょう :grinning:

2 つの改善案があります:

  1. この機能をデフォルトで有効にすることは可能でしょうか?これはカテゴリ設定で設定できるようになると、トピックごとに手動で行う必要がなくなります。
  2. 設定で指定した特定のグループにのみ返信を表示できるようにすることは可能でしょうか?
「いいね!」 7

こんにちは!プラグインに翻訳を追加したいのですが、client.en と server.en の 2 つのファイルを追加してみました。その後、./launcher rebuild appを実行しましたが、ユーザーインターフェースでロケールを変更しても翻訳が表示されません。何が足りないのでしょうか?

「いいね!」 1

ファイル名は client.XX.yml および server.XX.yml とし、XX は言語コードである必要があります。

ただし、すでに en(英語)用のファイルが存在します:https://github.com/communiteq/discourse-private-replies/tree/master/config/locales。そのため、あなたが何を行ったのか、あるいは何を達成しようとしているのかがわかりません。

「いいね!」 3

この完全な手順(ドイツ語用に client.de.ymlserver.de.yml を追加する)を実行しましたが、何も変化がありませんでした。

  • おそらく、ミスを発見しました。ファイルに言語コードを付け忘れたようです。後で確認します。
「いいね!」 2

動作確認ができたら、プルリクエストを作成していただけますか?大変助かります!

「いいね!」 1

すべて正常に動作しています。私のミスでした。完了次第、すべての言語をあなたのフォークに追加します。

「いいね!」 2

こんにちは!あなたのプラグインから /sidekiq でエラーが発生しました。インストールを確認していただけますか?同様のエラーは発生していますか?

Wrapped I18n::InvalidLocaleData: /var/www/discourse/plugins/discourse-private-replies/config/locales/server.ar.yml から翻訳を読み込めません: #
<Psych::SyntaxError: (/var/www/discourse/plugins/discourse-private-replies/config/locales/server.ar.yml): 3 行目 5 列目のブロックマッピングの解析中に予期しないキーが見つかりませんでした>

削除すべき余分な " が存在します。

private_replies_enabled: "プラグイン「プライベート返信」を有効にする"
「いいね!」 2

ご報告ありがとうございます。修正を適用しました。

「いいね!」 3

こんにちは、
管理インターフェースからインストールできません。フックのみでしょうか?

エラーメッセージは以下の通りです:

about.json が存在しません。これが Discourse プラグインであることを確認してください。
「いいね!」 1

そのエラーメッセージは存じ上げません。Discourse のソースコードには含まれていません。本当にそのメッセージが正確でしょうか?

プラグインは管理画面からインストールするものではありません。
Install plugins on a self-hosted site を参照してください。

「いいね!」 2

@RGJ
私の会社、Haddee は、このプラグインの新しい機能開発に熱心に取り組んでいます。
貢献をより容易かつスムーズにするため、ライセンスを付与していただけないでしょうか。

ありがとうございます :slight_smile:

「いいね!」 6

はい、フックシステムからのインストールで確かに動作しました。
おそらく、テーマや拡張機能のように管理者画面からインストールすることはできないようです。サーバー機能を含むため「プラグイン」と呼ばれているのでしょう(Discourse を拡張・カスタマイズする特定の用語や方法が多すぎて、開発者でも容易に混乱してしまいます)。

このプラグインはクリーンで小さく、カスタマイズも簡単そうです。

ご返信いただき、ありがとうございます :wink:

「いいね!」 2