Importación de XenForo: IDs de temas y publicaciones preexistentes

Hola a todos,

Tengo un foro Xenforo existente con aproximadamente un cuarto de millón de publicaciones.

Hace unos días probé una importación a Discourse.

En primer lugar, mis felicitaciones a todos los que han trabajado en el script; fue una de las importaciones más libres de problemas de un software de foro a otro que he realizado.

Dicho esto, tengo un par de preguntas.

Comienzo aclarando que Ruby no es mi hábitat natural, así que es muy probable que haya algunos problemas de traducción aquí y que haya pasado por alto algo obvio. Disculpas si ese es el caso.

Quisiera saber si durante (o incluso después de) la importación, los IDs de tema/publicación del foro anterior (en este caso Xenforo) se almacenan en algún lugar o se vinculan de alguna manera con los nuevos IDs de Discourse.

En mi búsqueda vi algunas menciones de esto para Vbulletin y, al leer el script de importación de XF (y finalmente el base), veo que se hace referencia a import_ids con bastante frecuencia, pero todos parecen ser variables efímeras utilizadas durante el proceso de importación y luego descartadas (aunque, como dije, no soy un experto en Ruby, así que podría estar equivocado en esto).

Mi foro ha existido durante bastante tiempo y ha pasado por varias iteraciones: PunBB, IPS, VB y ahora Xenforo. Sin embargo, la mayoría de las veces he podido mantener activos los enlaces a hilos antiguos, etc., mediante algunos scripts personalizados sencillos. (Por supuesto, esa simplicidad se veía compensada porque la mayoría de esas migraciones eran mucho más dolorosas ;)) Me gustaría hacer lo mismo aquí, excepto que me falta algún tipo de mapeo de tema antiguo a nuevo o un campo de base de datos que haga referencia al ID del tema antiguo.

Al menos eso creo, podría estar ahí pero no logro encontrarlo :slight_smile:

Estoy dispuesto a contribuir con lo que descubra a la comunidad en general, solo necesito algunas señales que me indiquen el camino correcto.

Gracias.

Los IDs antiguos se encuentran en PostCustomFields y se crean como parte del importador.

Puedes revisar otros importadores que crean Permalinks. El de Vbulletin es un ejemplo. Otra cosa en la que debes fijarte son las “normalizaciones de permalinks”, una expresión regular que se aplica antes de realizar la coincidencia de permalinks. Esto te permite crear un permalink como ‘/oldtopic/<topic_id>’ que puedas hacer coincidir con /topic/blah.php?xdfj=<topic_id>#93m3lsdfj mediante una expresión regular.