私は、こちら や こちら で説明されているようなカスタマイズを進めていますが、これらには 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 キーを生成する必要があるでしょうか?