Migrate a mailing list to Discourse (mbox, Listserv, Google Groups, etc)

解決策は、あなたの投稿の文字通りすぐ上の投稿にあります。:wink:

スクリプトを修正する必要があります。みんなのために問題を解決するPRを作成してもらえませんか?

ありがとうございます、これで解決しました。申し訳ありませんでした。私の読解力のなさの償いとして、Added duplication to name to prevent modification of frozen string exception by adam-skalicky · Pull Request #30325 · discourse/discourse · GitHub を開きました。これにより、他の誰かが愚かな質問をする恥を避けることができます。

「いいね!」 1

このインポートスクリプトは、DiscourseがMailman 2のメールスレッディングを何らかの形で再現しますか(例:「In-Reply-To」を示すためにDiscourseの小さな矢印を使用するなど)それとも、純粋に時系列(Message-ID、In-Reply-To、Referencesに基づく各スレッド)ですか?

「いいね!」 1

はい、その通りです

「いいね!」 3

クール。メーリングリストのメールの多くに、本来あるべき「In-Reply-To」および「References」ヘッダーが付いていないため、返信ではなく新しいトピックとしてインポートされる可能性があります。記憶が正しければ、スクリプトはこれらのヘッダーまたは件名ヘッダー(両方ではない)を使用します。

以前に尋ねたかもしれませんが、MBOXファイルにこれらのヘッダーを追加したり、Discourseにインポートする前後にメールを並べ替えたりする手動以外の方法があれば教えていただけますか?

トピックをマージして時系列順に保持することが可能になったので、それが答えかもしれません。返信対象を示すDiscourseの小さな矢印が欠けているだけです。

「いいね!」 1

mbox インポート スクリプトには 2 つのフェーズがあります。最初のフェーズはインデックス作成で、SQLite データベースが出力されます。インポート前に SQLite のデータを変更するか、Ruby スクリプトを変更することができます。

件名またはヘッダーによる並べ替え/グループ化のすべての処理は、ここで実行されます。

メールをどのようにグループ化したいかがわかっている場合は、独自のグループ化ロジックを追加できます。

「いいね!」 3

そんな複雑なものは、しばらくは考えられません!

https://bazaar.launchpad.net/~mailman-coders/mailman/2.1/view/head:/Mailman/Archiver/pipermail.py#L669 の Mailman 2 の Pipermail は、優先順位に従って次のものを探しているようです。

  1. In-Reply-To。
  2. References。
  3. 件名が一致する最も古いメール。

これらのアプローチの組み合わせは理想的だと思われます。3番目の場合、Discourse が「返信」矢印を使用しない方が理にかなっているかもしれません。

記憶によれば、Mailman 3 の Hyperkitty は件名をまったく考慮していませんでしたが、それはそれほど良くありませんでした。

「いいね!」 2