投稿に、投稿者が自分だけが見ることができる個人的なメモを付けるという概念は、Discourseでサポートされていますか?
想定しているユースケースはレシピシステムです。レシピを使用したユーザーが、自分が何をしたか、それがどのように機能したかについてのメモを付けたいが、他者に見せたいメモではない場合です。
投稿に、投稿者が自分だけが見ることができる個人的なメモを付けるという概念は、Discourseでサポートされていますか?
想定しているユースケースはレシピシステムです。レシピを使用したユーザーが、自分が何をしたか、それがどのように機能したかについてのメモを付けたいが、他者に見せたいメモではない場合です。
これはプライベートメッセージ(PM)では機能しないのですか?ユーザーの投稿からのPMはその投稿を参照します。
私は、特に投稿を参照したい場合に、自分自身へのPMをメモ帳のように使用しています。
はい、良い点ですね!私も時々、特に時間的な制約がある場合には、ブックマーク機能をこれに使用します。
ブックマークの説明にはあまり書式設定ができないようです。Enterキーを押すと(つまり、新しい段落を開始すると)、ブックマークが作成されます。
PMについては、特定の投稿にPMを直接添付する方法は見当たりません。
これは素晴らしいアイデアのように思えます。もし私があなたなら、これをサポートするプラグインを書きます…
それは、Discourse プラグイン開発で十分な経験を積み、何をすべきか理解したら検討することです。
下書きを使用するか、このプラグインを公開するように提案できます。
下書きは非常に信頼性が低いです。なぜなら、トピックにつき1つしか存在できないからです。そのようなトピックに投稿を書き始めると、警告なしに下書きが上書きされてしまいます。
最初はあなたのOPを誤解し、メモはメモを作成した人と投稿作成者の間で共有されるべきだと思っていました。あるいは、単に場所を示すためのものだと。あなたが望んでいるのは、ユーザーが投稿に個人的なメモを作成するための付箋機能のようなもので、時間機能のない拡張テキストブックマークのようなものだと理解しました。@Lhc_fl が言うように、これは良いアイデアであり、いくつかの場面で役立つと思います。
スタッフノートはまだ使っていませんが、自分用のメモを付けるために拡張できるかどうか、スタッフノートのコードを確認する必要があります。コードを調べるたびに少しずつ学び、物事が少しずつ不透明でなくなっていきます。
ユーザーノート機能は私とモデレーターたちのお気に入りで、よく利用しています。
「User Sticky Notes」のようなプラグインがあると、とても便利だと思います。![]()
ユーザーノートの実装方法を見ると、個人用メモ帳として機能するように変更するのは難しいようです。(ノートのテキストは plugin_store_notes テーブルの JSON 配列に格納されるため、書式設定が可能かどうかは不明です。社内広告も同じテーブルに格納されますが、HTML 書式設定が使用されています。)
また、ユーザーノートを編集する方法もないようです。削除して再投稿することは可能だと思いますが、タイムスタンプが変更されてしまいます。
私としては、3つのキーを持つテーブルを作成することをお勧めします。
id、post_id、user_id(ユーザーが1つの投稿にのみ記録できることに対応)
そして、アイデアに応じて、このテーブルに直接データを記録するか、ユーザーのメモを特別な投稿として公開するか(プラグインを無効にしても元のメモを保持できるように)できます。
あるいは、カスタムフィールド(Topicでサポートされています)を使用することもできます。
私の最初の考えは、付箋は単にトピックではなく、返信のような特定の投稿を参照すべきだということです。長い議論では、ユーザーがトピック内の複数の投稿に付箋を付けたいと思う可能性があります。
sticky_post テーブルを使用することには利点がありますが、トピックの表示以外にも、sticky_post の表示または処理を除外する必要がある場所が複数存在する可能性があります。例えば、メールを送信する際に、このユーザーの付箋であるかどうかを確認するために sticky_post テーブルを検索する必要があり、別のユーザーが付箋を付けた場合とは異なる処理が必要になります。
別の post_type を使用することには利点がありますが、それは Discourse のコアの一部である必要があり、このアプローチには現時点では気づいていない他の問題があるかもしれません。
また、投稿カスタムフィールドは、トピックカスタムフィールドよりも良いアプローチかもしれませんが、sticky_notes テーブルと同様の問題や制限が多く存在する可能性があり、plugin_store_notes テーブルにその情報を格納する場合も同様です。
トピックカスタムフィールドのエントリがあり、そのトピックに付箋があることを示す組み合わせアプローチには可能性があります。付箋がない場合は、付箋インジケータを検索するために投稿カスタムフィールドテーブルを検索する必要はありません。
もう一つの可能性として、postsテーブルに「sticky_note」フラグを持たせることが考えられます。これはコア機能に含める必要があるでしょう。
自己ホストで教育目的のコミュニティを構築しており、Discourse を個人のノートとして利用しているユーザーの説明がいくつかありましたが、明らかに限界があるため、このアイデアを思いつきました。
おそらく、各ユーザーが自分の個人/プライベートな Markdown ノートブックを持てるようにする機能が実装できるのではないでしょうか?以下に、この提案された機能がどのように機能するかについての一般的なアイデアをいくつか示します。
皆さんの意見を聞かせてください!もっと具体的なものを fleshing out して、より洗練されたアイデアを開発できるかもしれません!
理想的には、Discourseで作成したノートをローカルのMarkdownノートと同期できるようにしたいです。その基本的な実装は、Discourseの「ノートをダウンロード」ボタンで、ノートトピックのrawコンテンツから.mdファイルを生成することです。タイトルは<note topic title>.mdに設定できます。
それは良い点ですね。この機能の有用性を間違いなく高めるでしょう😁。また、グループ内のユーザーが共有ノートを持てるようにすることもできます。これにより、グループプロジェクトやチームドキュメントなどが可能になります。