Comment fusionner massivement des sujets dans des parents pour une importation Yahoo Groups ?

Après avoir importé des dizaines de milliers d’anciens messages de Yahoo Groups vers Discourse, je me retrouve avec de nombreux sujets déconnectés qui devraient en fait constituer un seul fil de discussion. Il semble que la solution intuitive consisterait à sélectionner ou mettre en surbrillance plusieurs de ces sujets, puis à les faire glisser vers le sujet parent.

Ou peut-être qu’une méthode encore meilleure serait de simplement sélectionner tous les sujets que vous souhaitez fusionner, puis de permettre au système de les rassembler automatiquement en un seul sujet, le message le plus ancien devenant le parent et le titre/sujet principal, tandis que les dates existantes déterminent l’ordre des messages.

Par exemple, mes messages ressemblent généralement à ceci :

  • Nom du sujet
  • [nom de la liste de diffusion] Nom du sujet
  • [nom de la liste de diffusion] Nom du sujet
  • [nom de la liste de diffusion] Nom du sujet
  • [nom de la liste de diffusion] Nom du sujet
  • [nom de la liste de diffusion] Nom du sujet
  • [nom de la liste de diffusion] Nom du sujet
  • [nom de la liste de diffusion] Nom du sujet

Donc, en gros, je devrais pouvoir sélectionner tous ces éléments et simplement utiliser l’outil clé à molette sur le côté droit, puis cliquer sur « Fusionner » pour atteindre mon objectif.

Cette fonctionnalité est-elle absente, ou est-ce que je passe à côté de quelque chose ?

Discourse vous permet de déplacer des publications vers de nouveaux sujets ou des sujets existants. Je ne sais pas si c’est la solution à votre problème, mais si c’est le cas, un guide pour déplacer des publications est disponible ici : Moving posts to a new or existing topic.

Merci de l’avoir signalé. Malheureusement, j’étais déjà conscient du fonctionnement de ce système. Le vrai problème est que ce que vous montrez dans ce tutoriel concerne la gestion des messages au sein d’un sujet.

Imaginez un instant que vous ayez 100 sujets identiques, avec le même objet ou des titres légèrement différents.

Le problème vient du fait que l’importation depuis mbox / Yahoo Groups n’a pas fonctionné correctement. Cela pourrait être dû à des identifiants incorrects dans les e-mails, ou à autre chose, mais cela signifie que pour certains d’entre nous, des milliers, voire des dizaines de milliers de messages sont incorrectement dissociés les uns des autres. Nous avons besoin d’un moyen de les fusionner.

Malheureusement, une fusion automatisée basée uniquement sur les lignes d’objet n’est probablement pas optimale. Nous devrons probablement procéder manuellement, en sélectionnant de nombreux messages, puis en demandant au système de les fusionner en un seul sujet.

Il semble que le meilleur (et en réalité le seul) endroit pour le faire soit dans la vue thématique d’une catégorie. Le faire selon la méthode que vous présentez dans le guide est extrêmement fastidieux et tout simplement irréalisable, car il faut entrer dans un sujet qui ne contient qu’un seul message, sélectionner ce message, isoler le message parent, puis les fusionner. Cela devient encore plus compliqué lorsqu’il existe des dizaines ou des centaines de messages ayant déjà le même objet.

Nous avons donc besoin d’une fonction « Sélectionner des sujets… » dans la vue de catégorie, qui fonctionne de manière similaire à la fonction « Sélectionner des messages… » dans la vue d’un sujet.

Est-ce que cela a du sens ?

Il me semble que vous êtes à un carrefour. Vous devez décider à quel point il est important pour vous que ces anciens messages Yahoo soient correctement et proprement regroupés dans un seul sujet.

Si cela est important, je vous suggère de revenir en arrière et de corriger les fichiers mbox. Ensuite, importez-les par petits lots soigneusement préparés.

La meilleure méthode consiste probablement à les importer dans Mozilla Thunderbird et à les manipuler dans ce logiciel. Chaque dossier Thunderbird correspond à son propre fichier mbox ; vous pouvez donc déplacer tous les messages liés dans un seul dossier, puis ouvrir ce fichier mbox dans un éditeur de texte pour effectuer une recherche et un remplacement afin de corriger l’identifiant du message, qui est utilisé par l’outil d’importation pour déterminer quels messages doivent être regroupés dans un même sujet.

En réalité, la meilleure solution serait de remonter dans le temps et de convaincre les programmeurs qui ont créé Outlook de faire un peu plus d’efforts pour respecter les normes e-mail en vigueur.

Une chose qui me fait réfléchir : @pfaffman, êtes-vous au courant d’une manière de faire cela de manière programmatique à ce stade ? Je POURRAIS être prêt à utiliser l’approche du « tir de barrage » en disant simplement « fusionnez tous les sujets ayant le même objet + cette préfixation ».

Ce que je veux dire par là, c’est comme dans mon premier message ci-dessus, où je note que certains sujets « Nom du sujet » sont préfixés par « [nom de la liste de diffusion] ». En gros, je pourrais simplement utiliser une option de fusion « nucléaire » pour regrouper tout ce qui est VRAISEMBLABLEMENT lié, puis les séparer lorsque les utilisateurs ont accidentellement utilisé les mêmes noms ou objets de sujet…

Haha, oui, ce n’est pas une mauvaise suggestion @tobiaseigen, mais il n’y a aucun moyen que je puisse trouver le temps de franchir cette étape ardue avec des dizaines de milliers de messages. Les mboxes seuls dépassent 500 Mo. Je vais essayer de corriger les choses petit à petit directement dans Discourse, car je pourrai ainsi avoir l’aide d’autres modérateurs. J’espère que nous trouverons d’autres suggestions comme dans ma dernière question, ou que nous travaillerons à l’implémentation d’un plugin s’il n’y a pas d’autres options.

Je recommanderais de repartir de zéro et de faire en sorte que l’importation se fasse correctement dès le départ ; ce que @tobiaseigen a recommandé semble prometteur. Cela fait longtemps que je n’ai pas effectué une grande importation mbox et j’ai réalisé beaucoup de travail en amont pour corriger des problèmes comme ceux que vous décrivez. Si ce n’est pas une option, vous pouvez essayer quelque chose côté Rails où vous collectez tous les posts que vous pensez devoir regrouper, puis vous les triez par date et créez un nouveau sujet (ou choisissez le premier) et déplacez tous les posts vers ce nouveau sujet.

Il me faudrait un certain temps pour rédiger du code concret.

Eh bien, il y a eu beaucoup de participation sur le forum depuis l’importation, donc à ce stade, je ne pense pas qu’un « recommencer à zéro » soit envisageable. Je serais un peu trop effrayé pour procéder à beaucoup de suppressions, et les modérateurs ont déjà commencé à nettoyer les données importées, ainsi qu’à fusionner des comptes, etc.

Je vais examiner moi-même une méthode Rails d’ici là et partagerai ce que je trouverai, sauf si quelqu’un a une suggestion avant que j’aie la chance de le faire. Nous laisserons simplement les choses « en désordre » pendant les fêtes si nécessaire, et jusqu’à ce que nous réglions ce petit problème.