プラグインを作成する代わりに、JSON API を使用できますか?

私は、こちらこちら で説明されているようなカスタマイズを進めていますが、これらには Ember と Rails の確かな理解、さらに Discourse のコードベースがどのように連携しているかの理解が必要のようです。

その結果、進捗はゆっくりです(私は Angular と JavaScript に慣れており、Discourse は初心者であるため)、これらのカスタマイズをより迅速に実現する方法を探っています。

そこで質問です:Discourse テンプレートを操作するプラグインを作成する代わりに、JSON API を使用して同じ結果を達成することは可能でしょうか?

Ember や Discourse のコードベースを深く理解するよりも、API をしっかり理解する方が効率的であり、純粋な JavaScript や jQuery などの言語を使って実装できるはずです。

答えは「はい」だと思います。チーム が述べているように、Discourse が行うことはすべて API で実現可能です。

これは機能すると思いますが、この質問をした理由は以下の通りです:JSON API の一般的なユースケースは、Discourse アプリと連携したい別のアプリであると私は考えています。しかし、私の場合は、Discourse アプリが自らの API を呼び出すことになります。

例えば、以前、グループ一覧ページで各グループの グループオーナー を取得して表示する方法について質問しました。通常、これにはプラグインの作成が必要です。

私の場合は、以下のように行います—「カスタマイズダッシュボード」の <head> 内で—グループ一覧ページが読み込まれた際に AJAX 関数を呼び出し、各グループのオーナーを返す API リクエストを送信し、その情報を各グループのリストに挿入します。

これは機能するでしょうか?この場合、アプリ自体から呼び出されるものだからといって、API キーを生成する必要があるでしょうか?

「いいね!」 2

問題は、_新しい種類のデータ_を保存したい場合、プラグインが必要になることです。サーバーは、データをどこに保存するか、どの形式が許容されるか、誰がそのデータを表示できるか、そして誰がデータを変更できるかを知る必要があります。


グループ所有者のアイデンティティは公開されているため、テーマコンポーネントでそれらを読み込んでグループインデックスページに(ゆっくりと)表示させることは可能です。

カテゴリの注目のトピックについては、実際にはタグを使用してその機能を実装しているテーマやプラグインがいくつか存在します。それらをご覧になりましたか?

「いいね!」 5

なるほど。おそらく新しい種類のデータを保存しようとしているわけではありません。既存のカスタムフィールドの形式に従って、カスタムフィールドを扱うことになります。

以前は、カテゴリ内のトピックを特集するためのプラグインを見たことがありませんでした。私にとって重要なのは、カテゴリのモデレーターにそれらを選択できる権限を与えることです。確認してみます。

カテゴリの所有者を表示したり、API から取得する他の情報を表示するために API を使用することについてですが、通常のビルドプロセスよりも少し遅くなるのは仕方がないかもしれませんが、この方法が極端に遅くならないことを願っています(通常、API から情報を取得してデータを埋め込むサイトであれば問題なく動作するはずです)。

「いいね!」 1

新しいカスタムフィールド(およびそのシリアライズ)を宣言できるのはプラグイン内だけです。

「いいね!」 2