Import Xenforo : IDs de sujets et de messages préexistants

Bonjour à tous,

J’ai un forum Xenforo existant avec environ un quart de million de messages.

Il y a quelques jours, j’ai testé une importation vers Discourse.

Tout d’abord, félicitations à tous ceux qui ont travaillé sur le script ; c’était l’une des importations les plus fluides d’un logiciel de forum à un autre que j’ai jamais réalisées.

Cela dit, j’ai quelques questions.

Je précise d’emblée que Ruby n’est pas ma langue maternelle, loin de là, il est donc tout à fait possible qu’il y ait des problèmes de traduction ici et que j’aie manqué quelque chose d’évident. Désolé si c’est le cas.

Je cherche à savoir si, pendant (ou même après) l’importation, les identifiants de sujets/messages de l’ancien forum (dans ce cas, Xenforo) sont stockés quelque part ou liés d’une manière ou d’une autre aux nouveaux identifiants Discourse.

Dans mes recherches, j’ai vu quelques mentions à ce sujet pour Vbulletin et en lisant le script d’importation XF (et éventuellement base), je vois que import_ids est mentionné assez fréquemment, mais ils semblent tous être des variables éphémères utilisées pendant le processus d’importation puis abandonnées (bien que, comme je l’ai dit, je ne sois pas expert en Ruby, donc je pourrais me tromper lourdement).

Mon forum existe depuis pas mal de temps et a traversé plusieurs itérations : PunBB, IPS, VB et maintenant Xenforo, mais la plupart du temps, j’ai pu maintenir les liens vers les anciens fils de discussion actifs grâce à quelques scripts personnalisés simples. (Bien sûr, cette simplicité était compensée par le fait que la plupart de ces migrations étaient beaucoup plus douloureuses ;)) J’aimerais faire de même ici, mais il me manque une sorte de mappage de l’ancien sujet au nouveau ou un champ de base de données faisant référence à l’ancien ID de sujet.

Du moins je le pense, cela pourrait être là mais je n’arrive pas à le trouver :slight_smile:

Je suis prêt à contribuer avec ce que je trouverai à la communauté dans son ensemble, j’ai juste besoin de quelques panneaux indicateurs pour m’orienter dans la bonne direction.

Merci.

Les anciennes identifiants se trouvent dans PostCustomFields et sont créées dans le cadre de l’importateur.

Vous pouvez consulter d’autres importateurs qui créent des Permalinks. L’importateur Vbulletin en est un exemple. Autre point à noter : les « normalisations de permaliens », un motif regex appliqué avant la correspondance des permaliens. Cela vous permet, par exemple, de créer un permalien comme « /oldtopic/<topic_id> » que vous pouvez faire correspondre à « /topic/blah.php?xdfj=<topic_id>#93m3lsdfj » à l’aide d’une expression rationnelle.