Migrer une liste de diffusion vers Discourse (mbox, Listserv, Google Groups, etc)

La solution se trouve littéralement dans le message juste au-dessus du vôtre. :wink:

Nous devrions corriger le script. Peut-être pourriez-vous créer une PR qui résoudrait le problème pour tout le monde ?

Merci, ça a résolu le problème, désolé pour ça. En pénitence pour mon incapacité à lire, j’ai ouvert Added duplication to name to prevent modification of frozen string exception by adam-skalicky · Pull Request #30325 · discourse/discourse · GitHub pour épargner à quiconque la honte de poser une question stupide.

1 « J'aime »

Ce script d’importation permet-il à Discourse de répliquer le chaînage des e-mails de Mailman 2 d’une quelconque manière (par exemple, en utilisant la petite flèche de Discourse pour signifier « In-Reply-To ») ou est-il purement chronologique (pour chaque fil basé sur Message-ID, In-Reply-To et References) ?

1 « J'aime »

Oui, c’est le cas

3 « J'aime »

Bien. Pas mal de mes e-mails de liste de diffusion n’ont pas les en-têtes In-Reply-To et References qu’ils devraient avoir, ils pourraient donc être importés comme de nouveaux sujets plutôt que comme de simples réponses. De mémoire, le script utilise ces en-têtes ou les en-têtes de sujet (pas les deux).

Je pense que j’ai déjà posé cette question dans le passé, mais existe-t-il des moyens non manuels d’ajouter ces en-têtes au fichier MBOX et/ou de réorganiser autrement les e-mails avant ou après l’importation dans Discourse ?

Il est maintenant possible de fusionner des sujets et de conserver l’ordre chronologique, donc c’est peut-être la solution. Ils manqueraient juste la petite flèche Discourse pour indiquer à qui le message était une réponse.

1 « J'aime »

Le script d’importation mbox comporte deux phases. La première est l’indexation et génère une base de données SQLite. Vous pouvez soit modifier les données dans SQLite avant l’importation, soit modifier le script Ruby.

Toute la magie du tri/regroupement par sujet ou en-têtes se produit ici :

Vous pouvez ajouter votre propre logique de regroupement si vous savez comment vous voulez regrouper les e-mails.

3 « J'aime »

Il faudra un certain temps avant même d’envisager quelque chose d’aussi complexe !

Sur https://bazaar.launchpad.net/~mailman-coders/mailman/2.1/view/head:/Mailman/Archiver/pipermail.py#L669, Pipermail de Mailman 2 semble rechercher les éléments suivants par ordre de préférence :

  1. In-Reply-To.
  2. References.
  3. Le plus ancien e-mail avec un sujet correspondant.

Cette combinaison d’approches semble idéale. Dans le troisième cas, il pourrait être judicieux que Discourse n’utilise pas la flèche « en réponse à ».

D’après mes souvenirs, Hyperkitty de Mailman 3 ne prenait pas du tout en compte le sujet, ce qui était moins bien.

2 « J'aime »