マルチインスタンスアクティビティのバックアップ+統合マルチサイトDiscourseリーダー

チームの皆様、

私は独自のセルフホスト型Discourseインスタンスを運用しており、他のいくつかのDiscourseコミュニティでも活動しています。現在、クリーンで公式かつスケーラブルな方法で解決するのが難しい、2つの関連する機能について要望(または少なくとも議論)したいことがあります。

1) Discourseインスタンス間での「アクティビティバックアップ」(自分のフォーラムへのクロスサイトミラーリング)

目標

他のDiscourseサイトで新しいトピック(およびオプションで返信)を作成するたびに、自分のDiscourseインスタンスが自動的にコピー(または明確に帰属表示されたミラー)を保持するようにしたいと考えています。これにより、以下のことが可能になります。

  • コミュニティ全体での自分の参加履歴を個人的にアーカイブする。

  • 過去のディスカッションを1か所で検索・参照する。

  • 他のサイトで投稿やアカウントが消滅した場合でも履歴を失わないようにする。

現在の問題点

実際には、他のフォーラムの管理者レベルの制御なしに、また重複した/スパム的なコンテンツを作成することなく、これを確実に実行するのは困難です。いくつかの回避策が存在する場合でも、それらは通常、不安定であるか、サイト間で標準化されていません。

私が求めていること

「クロスインスタンスのアクティビティバックアップ」について、公式にサポートされたアプローチの計画はありますか?例えば、以下のような方法です。

  • ユーザー自身の作成したコンテンツを別のDiscourseインスタンスにエクスポート/同期するための標準化された方法。

  • 強力な帰属表示と正規リンクを伴うトピック/返信のオプションのミラーリング。

  • ソースサイトのルールを尊重する権限モデル(例:自分が作成したコンテンツと公開されているコンテンツのみを同期する)。

2) 統合されたマルチサイト購読&閲覧体験(複数のDiscourseフォーラムのための単一UI)

目標

複数のDiscourseサイトを購読し、以下の統一されたストリームを表示できる単一のインターフェースが欲しいです。

  • 最新 / 新規 / 未読

  • サイトをまたいだウォッチ対象のカテゴリ/タグ

  • 通知、メンション、ブックマーク

  • 理想的には、サイトごとの認証、およびコンテキスト内での開く/返信する/「いいね」する機能。

現在の問題点

現在、複数のDiscourseコミュニティを使用するには、多くのタブとアカウントを管理する必要があります。コミュニティが作成したソリューションがコンテンツを集約できることはありますが、それらは不安定になりがちで、数サイトを超えてスケールさせるのが難しく、長期的に頼れるものではありません。

私が求めていること

Discourseは、公式の「マルチインスタンスリーダー」(Web UIまたはアプリ)、あるいはこれを確実に実現するためのサポートされたフレームワーク/APIパターンを検討するでしょうか?

なぜこれが重要なのか

  • 複数のDiscourseコミュニティで活動するユーザーの生産性を向上させます。

  • 個人のナレッジマネジメントと、自分の貢献の長期的なアーカイブを可能にします。

  • 公式のアプローチがあれば、断片化を減らし、脆い回避策を避けることができます。

「クロスインスタンスのアクティビティバックアップ」または「マルチサイト統合リーダー」に関連する既存のディスカッションやロードマップ項目があれば、ぜひ教えていただきたいです。また、要件の明確化、MVPの提案、ソリューションのテストなどにも喜んで協力させていただきます。

よろしくお願いします!

「いいね!」 1

ちょっとしたヒントですが、複数のアイデアやリクエストは複数のトピックに分けた方が良いでしょう。そうすれば、人々はより適切に投票でき、主題の範囲も適切に絞られます。

「いいね!」 3

対象のインスタンスの管理者でない場合、いいえ、計画はありません。

最善の策は、/my/preferences/account から定期的にアカウントのバックアップをエクスポートし、それを自分のインスタンスに移行する方法を構築することです。

管理者レベルでは、ActivityPubプラグインがこの一部を実行できますが、これは個々のユーザーが利用できるというよりもサイト機能です。

当社のDiscourse Hubモバイルアプリ(https://meta.discourse.org/t/share-your-feedback-about-the-ios-discourse-hub-app/340872)がこの一部を実行します(サインアップしているサイトのリストを表示したり、通知を受け取ったり、人気のトピックを見たり…)。しかし、結局のところ、多くのコミュニティにとって、人々が自分のサイトで直接見ることが重要であるため、やり取りするにはサインアップしているサイトにアクセスする必要があります。以前、アプリ以外でこれをもっと行うことを検討しましたが、具体的な計画はありません。

「いいね!」 3

へへ、ごめんなさい、時々アイデアが多すぎるんです

「いいね!」 1

私の英語はあまり得意ではないので、翻訳とフォーマットのためのプラグインを使用したため、少し冗長に感じられました。次回はもっと簡潔で適切な形式を使うべきかもしれません。

「いいね!」 1

ご説明ありがとうございます。納得いたしました。

クロスインスタンスのアクティビティバックアップについて:管理者アクセスがない場合、自動ミラーリングの予定がないことは理解しました。/my/preferences/accountのエクスポートの提案は参考になります。そのユーザーエクスポートをプログラムで利用するための文書化された、または安定した形式/API、あるいはユーザーが自身のコンテンツを別のDiscourseインスタンスにインポートできるようにするための推奨される移行パスをご存知ですか?

ActivityPubについて:現時点ではサイトレベルの機能であることに同意します。もし関心があれば、「ユーザー中心」モード(自分の公開された投稿のみを正規リンク/帰属表示付きで同期する)がまさに私が求めているものです。

統合されたマルチサイトエクスペリエンスについて:Discourse Hubを確認してみます。通知と「ホットトピック」の概要はすでに役立ちそうですね。もしアイデアを追跡できる場所があれば、あなたが説明したようにインタラクションは元のサイトで行いながら、サインインしているサイト全体を対象とした、よりリッチな読み取り専用の集約フィードに関する機能リクエストを喜んで提出します。

重ねて感謝いたします!

「いいね!」 1

詳細な回答ありがとうございます。大変参考になります。

制約(ソースインスタンスでの管理者アクセス不可)を考慮すると、コミュニティに非破壊的ユーザー中心の非常に小さな**「個人アクティビティバックアップ」MVP**に範囲を絞るつもりです。

  • 私が作成したコンテンツのみをアーカイブする
  • 公開されているもののみをアーカイブする
  • アーカイブされた各アイテムには、元の場所への正規リンク、ソースサイト名、タイムスタンプ、帰属情報を含める
  • インタラクションは元のサイトに残し、私のインスタンスは検索可能な個人アーカイブとしてのみ機能させる

大まかなMVPパイプラインは次のようになります。定期的にアカウントデータをエクスポートし、私が作成した投稿/トピックを解析し、重複を除去し、一貫した帰属ヘッダーを付けてAPI経由で独自のDiscourseに「バックアップエントリ」を投稿します。

いくつか質問させてください。何かを誤って再発明していないか確認したいです。

  1. ユーザーエクスポート形式は、ツールにとって十分に安定していると考えられていますか、それとも時間の経過とともにエクスポートをサードパーティで解析するための推奨/公式のアプローチはありますか?

  2. 「個人アーカイブ」のワークフロー(読み取り専用/トピックのみであっても)を目的とした既存のコミュニティプラグイン/プロジェクトはありますか?

  3. また、他のユーザー/コミュニティ運営者は同様のニーズ(個人アーカイブ/クロスインスタンスアクティビティログ)をお持ちですか?もしそうなら、ユースケースをぜひお聞かせください。より正式なアプローチや文書化されたパターンを正当化するのに役立ちます。

重ねて感謝します。もし役立つようであれば、MVPのメモやリポジトリが使用可能な状態になったら共有させていただきます。

「いいね!」 1