Stiamo gestendo un nuovo forum basato su Discourse ospitato da un mese. Siamo molto soddisfatti. Abbiamo già 2000 utenti.
Stiamo cercando di trasferire i testi colorati dal precedente forum phpBB, ma non riesco a farli funzionare nel nuovo forum:
[color=#BFBFBF]grigio-“Pronto per l’aggiornamento”[/color], [color=#FF8000]arancione - vecchio numero[/color] o [color=#00BF00]verde - numero corrente[/color].
Quando abbiamo importato quasi un milione di post da vB a Discourse, abbiamo rimosso tutti i tag bbcode di colore durante il processo di migrazione.
Il nostro problema era che il plugin BBCODE non funzionava come previsto quando il BBCODE era annidato (BBCODE dentro BBCODE), quindi dopo un’analisi approfondita abbiamo deciso di rimuovere tutti i tag BBCODE di colore (in modo ricorsivo) durante il processo di migrazione.
L’importazione di BBCODE annidato è davvero complicata, ovviamente! È “fattibile”, ma abbiamo deciso che non valeva la pena (e aggiungeva poco valore, poiché i colori dei font nominati, rispetto alle classi, rendono difficile la personalizzazione del tema).
No, devi utilizzare il BBCode. Puoi nidificare i tag, ma solo se ha senso (non diversamente dall’HTML). Potrebbero esserci alcuni codici non ancora implementati.
Il mio plugin Discourse Frotz utilizza con successo la nidificazione per combinare tipo di carattere, colore e colore di sfondo. Nota la lettera ‘N’ rossa sulla bussola nello screenshot.
Il campione di codice che hai fornito non è annidato.
La nostra esperienza con il plugin BBCode ufficiale è che non “funziona bene” con il BBCode annidato. Tuttavia, se non hai BBCode annidato, è “molto probabile” che questo non sia un problema per la tua migrazione.
La migrazione del nostro sito includeva decenni di BBCode annidato (centinaia di migliaia) ed è stato un enorme problema (anche con il plugin BBCode ufficiale, che usiamo ancora oggi), quindi abbiamo semplicemente rimosso tutti i colori (e alcuni altri tag di codice che non ci servivano). Nessun utente si è lamentato della mancanza del colore del testo di un post di 5 anni fa, e nessuno lo farà.
Far funzionare correttamente il BBCode migrato non è così semplice come “usare il plugin BBCode ufficiale”. Se una grande migrazione di anni di varie combinazioni di BBCode annidato fosse così semplice, il nostro tempo di migrazione completo sarebbe stato di settimane invece che di mesi. È qualcosa da sperimentare in prima persona e non è “una teoria”, è semplicemente così. Il plugin BBCode ufficiale è carino e lo usiamo, ma solo dopo aver rimosso gran parte del BBCode annidato.
Abbiamo anche deciso di rimuovere completamente tutti i tag BBCode per i colori perché, quando un colore è codificato direttamente nel testo, potrebbe sembrare accettabile con un tema (ad esempio un tema chiaro), ma lo stesso colore non starà bene e spesso sarà di disturbo su un altro tema (ad esempio un tema scuro), quindi abbiamo deciso di rimuovere tutti i tag BBCode per i colori e siamo molto felici di averlo fatto.
Ovviamente, ogni sito deve fare le proprie scelte di compromesso durante la migrazione. Posso dire che abbiamo avuto alcuni “geni molto esperti di REGEX” che hanno lavorato per mesi per rendere la nostra migrazione “perfetta” e la maggior parte del tempo è stata spesa a causa del BBCode. I plugin ufficiali e i gem per questo erano una buona “prima approssimazione” ma lasciavano molto a desiderare nella migrazione finale, quindi abbiamo scritto molte gsub() REGEX in Ruby per ripulirlo.
Buona fortuna e speriamo che questa visione pratica “dal campo di battaglia della migrazione” sia stata utile. Non c’è dubbio che migrare da un forum legacy a un altro possa essere molto “complicato” se il tuo obiettivo è una migrazione “bellissima” invece di una migrazione “trascurata”.
Mi dispiace, ma il plugin BBCode non è disponibile né nel piano Standard né in quello Business. I plugin disponibili per ciascun piano sono elencati qui: Plugin directory | Discourse - Civilized Discussion.
Il plugin BBCode e qualsiasi altro plugin ufficiale di Discourse possono essere installati invece nel piano Enterprise.