みなさん、こんにちは。
昨日 Discourse を発見し、その機能、オープンソースであること、プラグイン、テーマコンポーネント、そして素晴らしい UI に圧倒されました。私は WordPress でスキル評価プラットフォームを構築しており、私の製品ビジョンにおける最後のピースは活気あるコミュニティです。Discourse はまさにそれにぴったりです。このような素晴らしい製品を作ってくれてありがとうございます!
これをセットアップして開始するために、いくつか質問があり、ご助力いただければ幸いです。
背景:
- 私のサイトは Siteground でホストされていますが、Google 上で動作しているためルートアクセスを提供してもらえず、そこで Discourse をインストールできません。

- PHP でカスタムコードを記述し、ユーザーがプラットフォーム上でスキルを示すことでスキルポイントや報酬を獲得する動的なサイトを構築しています。例えば、ユーザーがプロジェクトを共有し、特定のスキルでタグ付けするとポイントを獲得します。スキルタグは事前に私が定義しており、各スキルにポイントが割り当てられ、データはカスタムテーブルに保存されます。これにより、時間経過に伴うユーザーごとのスキルごとのデータを表示できます。
- メール設定には Gsuite を使用しています。
- 完全な制御権を保持したいので、Discourse をセルフホストしたいと考えています。
- WordPress にはチャット機能は有効にしていません(プラグインもインストールしていません)が、Discourse にはチャット機能を実装したいです。
- Discourse での活動に対しても、WordPress と同様のスキル認識およびポイントシステムを構築したいです。例えば、ユーザー1が質問を投稿し(スキルタグを付けて)、ユーザー2がそれに回答し、ユーザー1が解決済みとしてマークすると、ユーザー2が割り当てられたスキルタグのポイントを獲得します。あるいは、ユーザー1が高品質の投稿をし、多くのユーザーがそれを気に入れば、ユーザー1がその投稿に対してポイントを獲得します。最も近い例えは、非常にニッチなコミュニティ向けのミニマム版 Stack Overflow のようなものです。
私の質問:
- Discourse でメールに Mailgun を使用している人々を見かけました。Gsuite を使用することに問題はありませんか?私はこれに不慣れですので、長期的な知見があれば教えていただければ幸いです。
- Discourse 用のホスティングプロバイダーはまだ持っていませんが、皆様が DigitalOcean (DO) を非常に高く評価しているようです。私が共有した内容から、DO を使用することに問題はありますか?
- WordPress と Discourse と相性が良いおすすめのチャットツールはありますか?チャット機能については派手なものは求めておらず、軽量で役割を果たすものがあれば幸いです。
- WordPress のタグと Discourse のタグを同期させるにはどうすればよいでしょうか?それは可能でしょうか?主にスキルにとって重要ですので、フォーラムとプロジェクト活動の両方のデータを統合して、ユーザーのスキルポートフォリオを作成したいと考えています。
- Discourse と WordPress 間のリアルタイムなデータ転送をどのように保証できますか?つまり、1) ユーザーがサイトにプロジェクトを投稿すると、Discourse 内でスキルポイントが更新される。2) ユーザーが Discourse で良い貢献をすると、WordPress 内でスキルポイントが更新される。
Postgres と MySQL/MariaDB という異なる 2 つのデータベース、Siteground と DO(おそらく)という異なる 2 つのホスティングプロバイダー、そして PHP と Ruby on Rails という異なる 2 つのバックエンドを持つ場合、これがどのように可能になるでしょうか?2 つのアプリケーション間でデータを転送するために使用できる API やフックはありますか?それとも、WP-Discourse プラグインによってすべてが処理されるのでしょうか?もしかすると、2 つのアプリケーション間でデータを「同期」させるための定期的なジョブを実行する必要があるのでしょうか?
Discourse と WordPress の柔軟性を考えると、これがどれほど複雑になるか分かりません。必要であれば、**真実の源(ソース・オブ・トゥルース)**となるデータを WordPress データベースに保持することに喜んで対応します。私は PHP でコーディングできますし、動的でシームレスなインセンティブおよびスキル評価システムを構築するために必要であれば、Ruby on Rails の学習にも前向きです。
結論として、ユーザーはサイトがどこにあり、フォーラムがどこにあるかを気にしていません。私はそのようにしたいと考えており、両方のアプリケーション間で単一の体験を提供することでそれを維持したいです。
ありがとうございます!
編集:Discourse が本当に何を意味するのかを理解するためにさらに調査を行い、Jeff による素晴らしい講演を 2 つ見つけました。Discourse 初心者の方には強くお勧めします。
-
Stanford Seminar - Building Social (and Discussion) Software for the Anti-Social
-
Jeff Atwood: Stack Overflow - Building Social Software for the Anti Social
これで、Stack Overflow と Discourse の違いをよりよく理解できました。私は Stack Overflow のような制御と特異性を持ちつつ、フォーラムに近いコミュニティを構築したいと考えているようです。現時点で具体的な詳細を説明するのは難しいですが、私が目指す製品を構築するためには、WordPress と Discourse 間のデータ転送が不可欠であるように思えます。