attj
1
Discourse が適切な媒体であるかどうかわからない、少し特殊なユースケースがあります。
約 5000 ~ 7000 のコミックに関するディスカッション プラットフォームをホストしたいと考えています。ただし、1 つのコミックの下にすべてのディスカッションを置きたくありません。同じコミックの下でさまざまなトピックのディスカッションを追跡するのが難しいためです。そのため、「カテゴリ」を各コミック用に作成し、その下に個別のトピックを作成できると考えました。さらに、これがサーバーとクライアントの両方に負荷をかける可能性があると読みました。
ナビゲーションは問題ではありません。各コミックには一意の識別子があり、コミュニティ メンバーはそれを認識しているため、誰もカテゴリを閲覧することはありません。ユーザーは識別子を入力するだけでカテゴリを見つけることができます。
同様の機能を実現するより良い方法はありますか?タグを使用すると役立ちますか?
「いいね!」 1
attj
3
各投稿でタグの使用を強制できますか?理想的には、フォーラムにはコミックに属さないものは何も含まれるべきではありません。
「いいね!」 1
attj
5
プログラムでタグを自動入力することはできますか?タグごとにトピックを作成するというアイデアがありましたが(タグを作成する唯一の方法だと思います)、トピックをプロシージャルに生成する方法についてはあまり情報が見つかりませんでした。
renato
(Renato Atilio)
6
私のボードゲームコミュニティでは、まさにそれを行っています。ボードゲームがデータベースに追加された(または名前が変更された)ときには、タグと2つのカスタムトピックが作成/更新されます。
記憶が正しければ、これを担当していたとき、単一のタグを作成するための特定のAPIエンドポイントはありませんでした(トピック作成時に新しいタグを追加することはできますが)。しかし、バッチタグアップロードを使用してこれを実行することができました。
以下のようなものです。
const formData = new FormData();
formData.append("file", Buffer.from("the-tag-name,an-optional-tag-group"), {
contentType: "text/csv",
filename: "tags.csv",
});
const { data } = await axios.post(`${process.env.DISCOURSE_URL}/tags/upload.json`, formData, {
headers: {
...formData.getHeaders(),
"Api-Key": process.env.API_KEY,
},
});
「いいね!」 2
attj
7
わかりました、tags.csvがどのように見えるか見せていただけますか?
manuel
(Manuel Kostka)
9
タググループのタグが必須であり、実質的にカテゴリの代わりとしてトップレベルの構造として使用される類似のユースケースを調査していました。
現在、タグはその名前のみがデータ属性に格納されています。タググループも属性に格納されていると、UXでタググループを区別できるようになるため、非常に便利です。
編集:機能リクエストを投稿しました:Add a data-tag-group attribute for tags
「いいね!」 1
attj
10
申し訳ありませんが、多くの質問をしてしまいますが、タグとトピックに関連する別の機能についてお伺いします。
トピックを特定のタグに「ピン留め」することは可能ですか?そうすれば、タグが選択されたときに、トピックリストで最初に表示されるのはピン留めされたトピックになりますか?
manuel
(Manuel Kostka)
11
デフォルトのピンモーダルからトピックをタグにピン留めすることはできません。私が知っている2つのオプションがあります。
「いいね!」 2
attj
12
2番目のオプションはまさに私が探していたソリューションのようです。APIを介して、これらのバナートピックをタグごとにプログラムで設定することは可能ですか?
manuel
(Manuel Kostka)
13
どうすればいいかわかりません。一点気になったのは、レンダリングが少し遅いように見えることです。開発者ではないので、その理由を説明したり理解したりすることはできませんが、すべてのページで使用するとフォーラムの動作が遅くなる可能性があります。
system
(system)
クローズされました:
14
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.