Importação do Xenforo: IDs de tópicos e posts pré-existentes

Olá pessoal,

Tenho um fórum Xenforo existente com aproximadamente um quarto de milhão de posts.

Há alguns dias, testei uma importação para o Discourse.

Primeiramente, parabéns a todos que trabalharam no script; foi uma das importações mais livres de problemas entre softwares de fórum que já realizei.

Dito isso, tenho algumas perguntas.

Vou começar dizendo que Ruby não é exatamente meu habitat natural, então é bem provável que haja algum erro de interpretação da minha parte e que eu tenha perdido algo óbvio. Peço desculpas se for esse o caso.

Estou tentando verificar se, durante (ou mesmo após) a importação, os IDs de tópicos/posts do fórum anterior (neste caso, o Xenforo) são armazenados em algum lugar ou vinculados de alguma forma aos novos IDs do Discourse.

Em minhas buscas, vi algumas menções a isso para o Vbulletin e, ao ler os scripts de importação do XF (e eventualmente do base), vejo que import_ids são mencionados com bastante frequência, mas todos parecem ser variáveis efêmeras usadas durante o processo de importação e depois descartadas (embora, como disse, não seja especialista em Ruby, então posso estar completamente errado).

Meu fórum existe há bastante tempo e passou por algumas iterações: PunBB, IPS, VB e agora Xenforo. Na maioria das vezes, consegui manter links para tópicos antigos, etc., ativos por meio de alguns scripts personalizados simples. (Claro, essa simplicidade era compensada pelo fato de a maioria dessas migrações ser muito mais dolorosa ;)) Gostaria de fazer o mesmo aqui, mas estou sem algum tipo de mapeamento do tópico antigo para o novo ou de um campo no banco de dados que referencie o ID do tópico antigo.

Pelo menos acho que estou, pode ser que esteja lá, mas não consigo encontrá-lo :slight_smile:

Estou disposto a contribuir com o que descobrir para a comunidade em geral, só preciso de algumas indicações que me apontem na direção certa.

Obrigado.

Os IDs antigos estão em PostCustomFields e são criados como parte do importador.

Você pode consultar outros importadores que criam Permalinks. O do Vbulletin é um exemplo. Outra coisa que você deve observar são as “normalizações de permalink”, uma expressão regular aplicada antes da correspondência de permalink. Isso permite criar um permalink como ‘/oldtopic/<topic_id>’ que pode ser feito para corresponder a /topic/blah.php?xdfj=<topic_id>#93m3lsdfj usando uma expressão regular.