単一のトピックをエクスポートする最も簡単な方法は?

こんにちは

Discourse のインスタンスから単一のトピックを、ローカルストレージ、できれば別のインスタンスへエクスポートしようとしています。元のインスタンスの管理者は移動に賛成ですが、移動のために多くの時間を費やしたくはないため、比較的迅速かつ手間のかからない解決策を探しています。

これまで検討しているオプションは以下の 2 つです。

最初のリンクは目標達成に最も直接的な方法ですが、管理者側で移動を支援するためにかなりの作業が必要になることに同意するかどうか確信が持てないため、@pfaffman 氏の Discourse Downloader も検討しています。

しかし、私たちの要件や制約を考慮した際に、これらのオプションのどちらかが明らかに優れている場合、どちらかを実行したことがある方、あるいはこのプロセスに詳しい方からのご意見をいただければ幸いです。また、私たちがまだ見つけていないより良いオプションがあれば、ぜひ教えていただきたいです!

お時間をいただき、ありがとうございます!

トピックやカテゴリのインポート・エクスポート用のコマンドラインツールは、数個のコマンドを実行して、長くても5分もかからない作業に過ぎません。

ユーザーを別のインスタンスにコピーすることの法的な影響については検討されましたか?

すべてのユーザーが移動に同意しているため、問題になるとは思いません。

もしそうお考えでしたら、お知らせください!

本当に「単一のトピック」を意味しているのですか?ウェブインターフェースでコピー&ペーストするのはどうでしょうか?

編集:ああ、そうでした。トピックには多くの投稿が含まれますね。すみません。:frowning_face:

とにかく、今では理解できましたので、管理者が実行できるのであれば、rake タスクを使うのが良いと思います。それほど難しくないと思います。

考えられる理由:

  • ユーザー、アップロード、引用、いいねなども含めたい場合
  • トピックに膨大な数の投稿がある場合

いいえ、管理者は両方の案を却下しました。作業が多すぎるからだそうです。

これは私の意見ではなく、彼らの言葉です。私も賛成ではありません。

もしかしたら、1 つの投稿ではなく、トピック全体を JSON ファイルとして取得する方法をご存知でしょうか?管理者権限なしで。

編集: これは独立したトピックとして扱うのがベストかもしれません。もはやタイトルと整合性が取れていないように思えますから。とはいえ、スパムのように見えるので、投稿は控えます。

@pfaffman さんの案をサーバーで実行する必要はないと思います。私の知る限り、管理者の許可は不要です。

API キーが必要です。

これは公開フォーラムのトピックですか?そうであれば、API キーなしで動作するはずです。

おっと!公開トピックの場合は API キーが不要になるように書きましたね。

あるいは、そうでもないでしょうか?

修正版をプッシュしましたので、git pull を実行すれば、空の apikeys ファイルでも動作するはずです(ただし、空のファイルを作成する必要があるかもしれません)。これでトピックをテキストファイルとしてダウンロードできます。

このツールはオフラインでの議論分析用に作成したため、そのままではあまり役に立たないかもしれません。ローカルにデータをダウンロードすることはできると思いますが、他の Discourse インスタンスへ移行させるには、現状のままでは不十分でしょう。

もし公開トピックを別の Discourse へ移行させたい場合は、このツールを何らかの方法で変更する必要があります。予算がある場合は、私までご連絡いただくか、Marketplace に投稿してください。

正直に言うと、そのくらい時間をかけるなら、トピックをクロールして個々の.jsonファイルをすべて手動で取得するプログラムを書くかもしれませんね(笑)

残念ながら、どちらのオプションにもリソースを割くことができないので、ダウンローダーを実行するのが今のところ最善の選択肢かもしれません。

ありがとうございます!

そのコードは良い出発点です。JSON ファイルをダウンロードし、それを他の形式に変換しています。

参考になります、ありがとうございます!

@pfaffman さん、Ruby のコードをありがとうございます!

Python を好む方のために、API と JSON ファイルの使用方法についての優れたスタート地点があります:mcmcclur/ArchiveDiscourse: Code for archiving my Discourse sites