Migrazione da FluxBB preservando i link in entrata

Ciao a tutti,

Sto pianificando la migrazione di una community esistente (macscripter.net - discussioni sull’automazione di Mac OS) ospitata con FluxBB verso Discourse. Questo articolo sembra promettente per quanto riguarda la migrazione dei dati. Sarà un lavoro imponente, dato che ho oltre 30.000 utenti e 120.000 post, ma sembra fattibile.

Tuttavia, desidero preservare tutti i link in entrata. macscripter.net è un riferimento significativo per la community dell’automazione Apple. Abbiamo quasi 20 anni di post con molti riferimenti al sito presenti su altri siti e negli archivi delle mailing list, che non voglio rompere.

Sto cercando un modo per tradurre i link dei post in arrivo da FluxBB nei corrispondenti post di Discourse? Non vedo alcun modo per farlo con Discourse standard, quindi presumo che dovrò creare qualche tipo di plugin che risponda ai link /viewtopic.php?id=##### di FluxBB e reindirizzi al link Discourse appropriato. Se qualcuno ha esperienza nel risolvere questo tipo di problema, mi farebbe molto piacere sapere come l’avete affrontato.

Apprezzo qualsiasi suggerimento.

Saluti
-Mark

1 Mi Piace

Most import scripts create permalinks that handle the redirects. I don’t know offhand if they one does. If not, you can look at one of the others for example code.

2 Mi Piace

Ho la stessa domanda e sono un po’ confuso riguardo alla risposta. Sto anche cercando di fare un’importazione di FluxBB di dimensioni considerevoli.

Vedo che c’è una funzionalità di Discourse chiamata “Permalinks” (How to make a redirect URL in a Discourse install? - #4 by cpradio), quindi stiamo dicendo che creando queste cose, Discourse potrebbe prendere un URL in stile FluxBB come “/viewtopic.php?id=((vecchio id argomento))” e reindirizzare a “/t/((nuovo slug argomento))/((nuovo id argomento))”. Forse allo stesso modo per i singoli post in un argomento? Allo stesso modo per gli URL dei profili utente. (Quindi avremo bisogno di molti permalink). Vedo la tabella del database per i Permalink.

Sembra una soluzione interessante, ma l’importatore FluxBB non sta creando alcun permalink. Non riesco a vedere alcun codice per questo. Infatti, non riesco a vedere alcun codice in nessuno degli script di importazione che faccia questo (Nessuna menzione del modello ActiveRecord “Permalink”).

Sarei felice di lavorare alla modifica dell’importatore FluxBB per fare questo, ma c’è un esempio in uno degli altri importatori?

L’unica cosa che vedo nel codice in questa direzione è l’inizializzazione di “LookupContainer” e la memorizzazione di tutti i vecchi ID e i loro corrispondenti nuovi ID. Questo può essere utilizzato per creare molti oggetti Permalink?

Giusto.

Dai un’occhiata all’importatore vbulletin (ma anche answerhub, vanilla, mylittleforum, bbpress, drupal per altri–forse hai cercato con sensibilità alle maiuscole o qualcosa del genere), che lo fa nella funzione import_topics (ignora la funzione del file permalink). Ti servirà un codice che aggiunga il permalink e una permalink_normalization che mappi l’URL fluxbb nel permalink che hai creato.

Gah! Hai ragione. La ricerca del mio IDE mi stava ingannando. Infatti ci sono un sacco di esempi di oggetti “Permalink” che vengono creati. Quindi forse darò un’occhiata ad aggiungerlo all’importazione di FluxBB.

Sono curioso di sapere come è andata la tua grande importazione @alldritt. Beh, sembra che macscripter.net sia ancora su FluxBB, quindi non molto bene? :slight_smile: Se hai notato che l’importatore di fluxbb non converte molto bene il bbcode, ho lavorato a varie correzioni per questo: Pull request in corso.

C’è una sovrapposizione interessante (imbarazzante) tra queste discussioni, perché FluxBB supporta il bbcode del tipo [post=123] per collegarsi a un altro post tramite id (facendo riferimento ai vecchi id dei post nel sistema FluxBB di origine). Sarà più facile gestirlo se avremo una soluzione per reindirizzare questi id.

1 Mi Piace

Non lo farà. I permalink funzionano solo per i link in entrata, non per quelli interni. Dovrai scrivere qualcosa per riscrivere quei link interni come citazioni di Discourse. Ci sono anche esempi di questo.

Grazie per aver ripreso questo argomento!

Ho fatto un paio di tentativi di conversione e ho rinunciato. Col tempo, passando a un Mac M1, ho perso il mio ambiente di test Discourse e non ho mai avuto il tempo di ricrearlo. Spero di tornare a questo progetto non appena avrò un po’ di tempo libero. Gestire la reindirizzamento dei link esistenti è stata una parte con cui ho faticato. Non ero ancora arrivato a verificare che tutto il BBCode fosse stato tradotto correttamente. Ho oltre 130.000 post da convertire, il che è scoraggiante da verificare.

Spero che questo ti sarà utile allora. Ieri stavo lavorando per aggiungere la funzionalità create_permlinks all’importatore di FluxBB.

Al momento questo si trova nel mio PR WIP. Vedi il commit “Add Permalink creation logic to FluxBB importer” alla fine di questo elenco. Spero di far confluire tutto questo a un certo punto, possibilmente in un ordine diverso (attualmente sto aspettando che qualcuno esamini questo PR di base come punto di partenza)

Quindi questo crea reindirizzamenti per quattro diversi tipi di URL di FluxBB.

  • profile.php?id=<user id>
  • viewtopic.php?pid=<post id>
  • viewtopic.php?id=<topic id>
  • viewforum.php?id=<forum id>

Penso che questi quattro coprano tutto ciò che le persone vorranno preservare con link funzionanti. Cosa ne pensi?


Tornando all’argomento dei link interni speciali di FluxBB

Non avrei cercato di mantenerli come link interni nel nuovo discourse. Soluzione pigra: si collegheranno ai vecchi URL del forum FluxBB (come URL completi, quindi link esterni) che, grazie a questi Permalink, reindirizzeranno l’utente al posto giusto nel nuovo discourse.

Penso che la tua soluzione pigra potrebbe funzionare. Puoi trovare esempi di riscrittura dei link interni se vuoi, ma pigro può essere un bene.

1 Mi Piace