mailman2からdiscourseへの移行方法

こんにちは、

mailman2discourse は、mailman2 の設定(config.pck ファイル内にあるもの)を Discourse カテゴリにインポートするためのコマンドラインツールです(PyPI で利用可能)。メーリングリストの各メンバーに対してユーザーが作成され、新しいメッセージがカテゴリに投稿された際に通知されます(ただし、mailman2 の設定で「メールを受信しない」に設定されている場合を除きます)。プライベートなメーリングリストのモデレーターは、すべての新しい投稿を確認できる Discourse グループのメンバーになります。メーリングリストのアーカイブが公開されていない場合、Discourse カテゴリは mailman2 のメンバーリストを模倣した Discourse グループにのみ表示されます。

インストール

$ pipenv install mailman2discourse

使用方法

要件:

  • User LevelAll Users に設定された API キー(/admin/api/keys/new から取得)
  • 管理者ユーザー(例: admin
  • mbox インポーター コンテナ
    • DISCOURSE_MAX_ADMIN_API_REQS_PER_KEY_PER_MINUTE: 60000000
    • DISCOURSE_MAX_REQS_PER_IP_MODE: none
    • 「templates/web.ratelimited.template.yml」を含まないこと
  • mailman2 メーリングリストの config.pck ファイル

listname@example.com の mailman2 メーリングリストをインポートするには:

    $ mailman2discourse --url http://172.19.0.2 --api-key APIKEY --api-user admin \
                      --mailman-config config.pck \
                      --list listname --domain example.com

このインポートは冪等性があります。つまり、中断された場合や config.pck ファイルが更新された場合など、複数回実行しても問題ありません。

その後、アーカイブの内容をインポートできます。

アーカイブのインポート

メーリングリストのアーカイブは、mbox インポーター を使用してインポートできます。.mbox および .mbox.gz ファイルは、mailman2discourse によって作成されたカテゴリと同じ名前のディレクトリに配置する必要があります。

バグ報告

問題の報告は、イシュートラッカー が最適ですが、このトピックへの投稿でも構いません。

「いいね!」 2

私は昨年このスクリプトの作業を開始し、2021年5月にSpip メーリングリストを移行する際に実際にテストする機会を得ました。スクリプトはまだ非常に新しいものですが、現在では実用可能だと確信しています。

インポートには依然として多くの手動ステップが必要ですが、discourse import --mailman2 config.pck mbox-archives-directory のような「そのまま動く」コマンドがあれば素晴らしいと思います。ただし、私はこの機能を実装する予定はありません。カスタムシェルスクリプトで満足しており、これらを一般化する方法が見当たりません。いずれにせよ、mailman2discourse が実装したロジックは、欠けていたパズルのピースの一つであり、それが存在して嬉しく思います :slight_smile:

「いいね!」 2

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