Importazione XenForo: ID preesistenti di topic e post

Ciao a tutti,

Ho un forum Xenforo esistente con circa un quarto di milione di post.

Qualche giorno fa ho provato un’importazione in Discourse.

Prima di tutto, congratulazioni a tutti coloro che hanno lavorato allo script: è stato uno dei trasferimenti da un software forum all’altro più privo di problemi che abbia mai effettuato.\n
Detto questo, ho un paio di domande.

Preciso subito che Ruby non è affatto il mio ambiente naturale, quindi è molto probabile che ci siano alcuni errori di traduzione qui e che io abbia perso qualcosa di ovvio. Mi scuso se fosse il caso.

Voglio sapere se, durante (o anche dopo) l’importazione, gli ID dei topic/post del forum precedente (in questo caso Xenforo) vengono memorizzati da qualche parte o collegati in qualche modo ai nuovi ID di Discourse.

Dalle mie ricerche ho visto qualche accenno a questo per Vbulletin e, leggendo lo script di importazione XF (e infine quello di base), vedo che import_ids viene citato abbastanza frequentemente, ma sembrano tutte variabili effimere usate durante il processo di importazione e poi scartate (anche se, come ho detto, non sono un esperto di Ruby, quindi potrei sbagliarmi clamorosamente).

Il mio forum esiste da molto tempo ed è passato attraverso diverse iterazioni: PunBB, IPS, VB e ora Xenforo, ma per la maggior parte del tempo sono riuscito a mantenere attivi i link ai vecchi thread grazie ad alcuni semplici script personalizzati. (Certo, quella semplicità era compensata dal fatto che la maggior parte di quelle migrazioni fosse molto più dolorosa ;)) Vorrei fare lo stesso qui, ma mi manca una qualche sorta di mappatura dal vecchio topic a quello nuovo o un campo nel database che faccia riferimento al vecchio ID del topic.

Almeno credo di essere in questa situazione, potrebbe esserci ma non riesco a trovarlo :slight_smile:

Sono felice di contribuire con quanto scoprirò alla comunità in generale, mi servono solo alcune indicazioni stradali per orientarmi nella direzione giusta.

Grazie.

I vecchi ID si trovano in PostCustomFields e vengono creati come parte dell’importatore.

Puoi consultare altri importatori che creano Permalinks. Quello di Vbulletin è un esempio. Un’altra cosa a cui prestare attenzione sono le “normalizzazioni dei permalink”, un’espressione regolare applicata prima dell’abbinamento dei permalink. Questo ti permette di creare un permalink come ‘/oldtopic/<topic_id>’ che può essere fatto corrispondere a /topic/blah.php?xdfj=<topic_id>#93m3lsdfj tramite un’espressione regolare.