外部データベースを使用してグループメンバーシップを更新する

カスタムグループのみが利用可能なプライベートカテゴリを作成し、そのグループのメンバーシップを外部データベースと同期させることは可能でしょうか?

パブリックフォーラムに、非公開メーリングリストのミラーとなるカテゴリを作成することを検討しています。両者のメンバーは完全に一致するわけではありません。この仕組みを実現するには、Discourse(または別のスクリプト)が、メールリストのメンバーであるか否かによって、既存の Discourse ユーザーをカスタムグループに追加・削除する必要があります。

よろしくお願いいたします。

「いいね!」 1

これは、SSOプロバイダーとしてWordPressを使用することでDiscourseで可能になります。WordPressをインストールして設定し、その他の詳細については Manage group membership in Discourse with WP Discourse SSO をご覧ください。

「いいね!」 2

その場合、Mailman と Discourse の間のブリッジとして WordPress をインストールする必要があります。Mailman と WordPress の間でユーザーを同期させることは可能だとは思いますが、それは小さな問題に大げさな解決策を適用するようなものです。

もっと直接的な方法はありますか?

ありがとうございます。

「いいね!」 1

うーん、よくわからないな。もしかして @simon に何かアイデアがあるかな?

「いいね!」 1

Discourse API のドキュメントページを早速見てみました。ユーザー一覧(ユーザー名を含む)の取得、ユーザー名によるユーザー検索(そのユーザーが属するグループを含む)、ユーザーのグループへの追加、およびユーザーのグループからの削除が可能です。Mailman リストの現在の購読者だけが Discourse のプライベートグループのメンバーになるよう、定期的に cron ジョブを実行すればよいのではないかと考えられます。

これはすでに実装されていますか?

そのような API ソリューションをお勧めします。Mailman から Discourse への統合ソリューションは存じ上げていません。Mailman サーバーを運用している場合は、サブスクリプションステータスが変更された際に、フックを追加して Discourse グループへのメンバーの追加・削除を行うことも可能ですが、毎日実行する cron ジョブで同期する方が簡単で、ほぼ同等の効果が見込めます。サブスクライバーの数や離脱率によっては、さらにローテクな方法として、ユーザー自身がグループへのアクセスを申請するか、Invite users to a group の方法を工夫して利用することも検討できます。

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.