Thecave3
(Andrea Lacava)
1
こんにちは、
既存のウェブサイトを Discourse に置き換えようと考えています。問題は、そのサイトのバックエンドには、モバイルアプリやサイト固有のアクションにも共通するロジックが含まれていることです。
そのため、その特定のロジックを持つアクティブなサーバーを維持する必要があるのですが、Discourse から外部サーバーへ HTTP リクエストを送信することは可能でしょうか。理想的なのは、特定の Discourse イベントが発生した際に、私のサーバーへ HTTP リクエストを送信することです。
これは実際に可能でしょうか?可能であれば、ガイドのようなものはありますか?
また、特定のフィールドを持つトピックを作成し、それらを HTTP リクエストに渡すことは可能でしょうか?
完全に可能です。プラグインを作成する ことができます。
以下は、onebox の処理中に外部呼び出しを行うプラグインの例です。
fzngagan
(Faizaan Gagan)
3
あなたがやりたいことは、ウェブフックという概念に近いと思います。イベントが発生したときに指定された URL を呼び出すウェブフックを実装する必要があります。もしそうであれば、こちらをご覧ください。
はい、通信が一方向であれば、@fzngagan の提案の方が優れています。
複雑な方法でレスポンスを取得して処理したい場合は、プラグイン内で REST 呼び出しを行う方が適しているかもしれません。
Thecave3
(Andrea Lacava)
5
ご回答いただきありがとうございます。いいえ、私は単純なウェブフックではなく、完全な REST API クライアントを作成する方法を探しています。
私が再現しようとしているのは、ユーザーが自身のオブジェクトを投稿し、他のユーザーからのさまざまなオファーを受け取ることができる、一種のマーケットプレイスです。マーケットプレイスのロジックはサーバー側に残す必要がありますが、フロントエンドは Discourse であり、サーバー上のデータに応じて更新される必要があります。
正直なところ、この状況で何が最善か分からないため、ヒントや参考資料を探しています!
また、私が移行しようとしているものをよりよく理解していただくために、このサイト(イタリア語版)へのリンクも貼っておきます。
fzngagan
(Faizaan Gagan)
6
Discourse がここでどのような役割を果たすのか、明確化が必要だと考えます。
あなたのユースケースは、議論や会話とどのように関連していますか?Discourse で何を行い、あなたのサーバーで何を行うのでしょうか。
これは非常に広範な記述です。Discourse 自体が一つの完全なシステムです。Discourse で表示するデータのうち、どのデータが他のサーバーから取得され、あるいは同期されるのでしょうか。
あなたが共有した情報から判断すると、プラグインを通じて実現することは可能です。WordPress や GitHub などの統合事例があり、あなたが目指していることと類似の機能を提供しているかもしれません。ただし、これは行間を推測しているに過ぎません。
プラグインの構築方法について学びたい場合は、@merefield によってまとめられた以下のリンク集が参考になります。
こちらの記事も有用です。
https://meta.discourse.org/t/creating-routes-in-discourse-and-showing-data/48827/19?u=fzngagan
Thecave3
(Andrea Lacava)
7
はい、最初からアイデアをより詳しく説明しますね。
ユーザーが自分の商品を販売したり交換したりできるマーケットプレイスを作りたいと考えています。理想的には、ユーザーが投稿を作成するたびに、その商品について説明するための特定のフィールドに入力できるようにしたいです。他のユーザーには、その商品の価格について議論したり、特定のボタンやフィールド(Discourse を追加して実装するもの)を通じて入札したりする機会を提供したいです。
このアイデアを基に、Discourse が対応している場合、以下の 2 つのアプローチが考えられます。
- このようなオファーに関する Discourse 上のやり取りが行われるたびに、サーバーがデータを更新または送信できるようにしたい。
または、上記が不可能な場合:
- すべてのロジックを Discourse の内部データベースに移行し、Discourse 上に REST API サービスを作成して、モバイルアプリからそのサービスに接続し、スマートフォンから利用できるようにしたい。
Discourse を使って実装する場合、どちらのアプローチがより簡単で迅速でしょうか?
fzngagan
(Faizaan Gagan)
8
これは好ましいアプローチです。その理由は、Discourseはマーケットプレイスではなく、それをマーケットプレイスのように動作させるように調整するのは意味があまりないからです。
また、コードをご自身で書かれますか、それとも誰かを雇って書いてもらいますか?
Thecave3
(Andrea Lacava)
9
完璧ですね。もし Discourse でそれが可能なら、最適な方法はどのようなものでしょうか?
これは収益を目的としたものではなく、私にはコーディングの経験もあるため、すべて自分で書こうと考えています。
fzngagan
(Faizaan Gagan)
10
上記で共有されたリンクをお読みになることをお勧めします。また、WordPress 向けに同様の機能を提供する WordPress プラグインもありますので、そちらもご確認いただけます。