プラグインでトピック内の返信の可視性を選択的に設定できますか?また、その作成方法を教えてください。

こんにちは、コミュニティの皆さん

Discourseは多くの機能を持つ優れたフォーラムです。特定のトピックへの返信の対象者をユーザーが手動で選択する方法があるかどうかを知りたいと思っています。「discourse-private-reply」という素晴らしいプラグインがあり、返信の可視性をトピック作成者に限定できることは承知していますが、よりきめ細かなソリューションを探しています。

明確にするために、トピック内で返信を作成していると仮定して、「POST」ボタンをクリックする前に、返信を見ることができるユーザーのホワイトリストを作成できるようにしたいと考えています。基本的に、私が選択したユーザーのみが私の返信を見ることができ、他の誰も見ることができないようにしたいのです。

個人的には、ある程度のプログラミングスキルを持つ開発者ですが、Discourseプラグイン開発の経験はありません。私が探しているレベルの制御を提供する既存のプラグインやツールがない場合は、望ましい機能を実現するために、どの「プロセス」にフックすべきか、またはどのAPIを呼び出すべきかなど、開発アプローチに関するアドバイスやガイダンスをいただけると大変ありがたいです。

何か提案や洞察があれば、大歓迎です。お時間とご協力に感謝いたします。

「いいね!」 5

そのような細かいアクセス制御が必要な場合、通常の公開トピックが最適なソリューションかどうかを検討する必要があるかもしれません。具体的なユースケースについてもう少し詳しく教えていただけますか?

良い出発点は、まさに私のprivate-replies pluginでしょう。現在トピックを受け取るcan_see_post_if_author_amongという関数があります。これをポストを受け取るように変更する必要があります。許可されたユーザーをカスタムフィールドにポストと共に保存し、表示ユーザーをそのリストと照合する必要があります。

このプラグインは、生の投稿、検索、トピック表示、ユーザープロファイルアクティビティへのアクセス制御ロジックもオーバーライドします。

とはいえ、パフォーマンスとUXの両方の観点からかなりの問題に直面すると予想されます。特にDiscourseプラグイン開発の経験がない場合、これはかなりの取り組みになる可能性があるため、ユースケースにとってこれが最善のアプローチかどうかを再検討することをお勧めします。

「いいね!」 7

迅速なご対応と洞察の共有、ありがとうございます。ここで、教師が生徒一人ひとりに異なる課題を割り当て、その回答(レポート)をDiscourseフォーラムに公開することを求めるユースケースを例として挙げたいと思います。このシナリオでは、1) 教師は各生徒の回答を確認できる必要があり、2) 生徒によっては回答を非公開にしたい者もいれば、コメント、フィードバック、交流を求める者もいます。さらに、3) 教師は公開するには不適切なコメントを提供する場合があります。

投稿に対するこのような管理の必要性は、他の状況にも当てはまります。例えば、従業員が月次レポートを作成する場合や、患者が回復記録を記述する場合などです。抽象化すると、これはモデレーターがあらかじめすべてを計画するのではなく、ユーザーからの管理要求に応えることです。これは、質の高いコンテンツの作成に焦点を当てた小規模コミュニティにとって特に重要です。

Discourseは数千人のユーザーを抱える大規模コミュニティにとって優れたプラットフォームですが、より深い思考と詳細な議論を奨励する、より小規模で洗練されたコミュニティを構築するためにも素晴らしい選択肢です。ユーザーは、自身が丁寧に作成した投稿に対して、より多くの管理権を持つべきです。

この機能のプラグイン開発に関して、パフォーマンスとユーザーエクスペリエンスのバランスについての懸念は理解しております。すぐに複雑なプラグインを作成するのではなく、既存の機能を最大限に活用する方が良いアプローチでしょう。例えば、複数のサブカテゴリを持つカテゴリを作成し、各サブカテゴリを課題に対応させ、生徒が適切なサブカテゴリに作品を提出するようにします。これにより、各トピックを管理でき、作成者はトピックを公開するか、特定のユーザーグループにのみ表示するかを選択できます。このような段階的なアプローチは、作業負荷を軽減し、機能の効果を検証しやすくするのに役立ちます。

要するに、ユーザーに投稿に対するより多くの管理権を与えることは、質の高いコンテンツとエンゲージメントを持つニッチなコミュニティを作成するために不可欠です。これは、これらのコミュニティを育成するだけでなく、Discourseの潜在的な用途を拡大することにもつながります。これは、Discourseができることの新しい探求方法です。

この件について議論する機会をいただき、ありがとうございました。:slightly_smiling_face:

「いいね!」 2

これはまさにこのプラグインが作られた目的です。2と3はプライベートメッセージまたはチャットで行うだけで済みます。

作成者はすでに、返信を表示するかしないかを選択できます。また、プラグインは作成者と同じプライマリグループのユーザーに返信を表示するように設定することもできます。
アクセス権の異なるさまざまなカテゴリを使用することで、トピック全体を誰が表示でき、誰が表示できないかをさらに制御できます。

繰り返しますが、これらの変更が必要であると私を説得するには至りませんでした。ユーザーにとってもプラグインのメンテナンスにとっても、複雑さが増すだけです。

discourse-private-reply に変更を加えることを提案する意図はなかったことを明確にしたいと思います。投稿の表示を制御するための貴重な機能を提供していることを理解しています。この件に関する議論をありがとうございました。

「いいね!」 2

はい、おっしゃる通りです。言い方を間違えました。申し訳ありません。しかし、私の助言は変わりません。複雑な技術で解決しようとせず、プロセスを少し変更することで解決してください。