Grande progetto di migrazione del forum vBulletin

Ciao,

Sto valutando Discourse come futuro per un forum vBulletin 4 molto grande (oltre 12 milioni di post, 100.000 utenti).

Attualmente sto studiando Discourse come opzione, ma mi sorgono diverse domande e non riesco a trovare risposte soddisfacenti in questa fase, quindi forse potrei avere una migliore comprensione ponendo direttamente le domande.

Questo forum appartiene a un’azienda e, nonostante non generi entrate, è ancora un luogo importante per la sua community.

1/ Non capisco la filosofia dietro il "contenitore unico fa tutto". Per me Docker riguarda la separazione dei microservizi e la loro interconnessione tramite la rete Docker. Sono abituato a eseguire progetti multi-contenitore (fino a 10/12 contenitori con Redis, PostgreSQL e così via) utilizzando solo strumenti Docker.
Ho letto l’argomento qui: Can Discourse ship frequent Docker images that do not need to be bootstrapped? ma non sono sicuro della giustificazione. Quando vedo tutti i file exec nei file compose disponibili, trovo che ci sia un’incomprensione tra ciò che un file compose dovrebbe fare e ciò che un Dockerfile dovrebbe fare.
Gli aggiornamenti del codice dovrebbero innescare nuove build di immagini Docker che verrebbero scaricate e quindi eseguite con compose e variabili d’ambiente.
Ho visto che qualcuno ha iniziato a farlo in un progetto GitHub, ma presumo che non sia supportato ufficialmente.
Qualcuno può darmi una spiegazione chiara sul "perché" della filosofia attuale e se ci sono piani per eseguirlo come tanti progetti esistono su Internet nel 2023.

2/ L’azienda che possiede il progetto utilizza Google Workspace per le email. Ho utilizzato la configurazione di relay SMTP di Google per altri progetti e non ho intenzione di utilizzare altro per poter lavorare. Ho letto cose diverse su questo forum. Esiste un modo chiaro per assicurarsi che funzioni o c’è la possibilità che non funzioni (sarebbe un blocco per noi)?

3/ Ho visto che ci sono script per eseguire la migrazione da vBulletin (qui: Migrate a vBulletin 4 forum to Discourse), ma questo fornisce istruzioni contraddittorie, come l’utilizzo della guida, ma personalizzando il contenitore con file Gem. Quanto impatto ha questo sulla manutenibilità o sul supporto? L’immagine è ancora supportata in caso di problemi?

4/ Integrazione con altri strumenti (principalmente Discord). A questo punto, il forum vBulletin ha il suo database utenti. Esiste un modo per passare "fluidamente" dagli utenti del DB locale agli utenti Discord, ad esempio, dove potremmo associare gli utenti al loro login Discord in una certa fase?

5/ Esiste una guida semplice ai temi che consenta una transizione fluida, poiché molti dei miei utenti si perderanno e vorrei ridurre al minimo il rumore della migrazione stessa…

Tornerò probabilmente con un altro gruppo di domande, ma queste sono le principali che ho finora.

Grazie a tutti coloro che risponderanno :slight_smile: tutti i contributi sono molto apprezzati.

Questo è per le persone che non sanno cosa sia l’amministrazione di sistema e che necessitano di supporto per farlo funzionare. Per un forum di grandi dimensioni, vorrai almeno un’installazione con 2 container, o forse RDS ed Elasticache invece di creare il tuo.

Se vuoi lanciare con un Dockerfile, dovrai usare il launcher per costruire il tuo container e trovare un modo per gestire le migrazioni del database e precompilare gli asset.

Se sai come usare Google per le email transazionali, va bene. La maggior parte delle persone non lo sa e noi non vogliamo insegnarglielo.

Una migrazione su larga scala per un vecchio forum richiede tipicamente molta personalizzazione. Se eseguire la tua migrazione in un’istanza di sviluppo o in un’istanza di produzione all’interno di docker è una questione di gusti. Io ero solito farlo in un’istanza di sviluppo, ma oggi eseguo tutte le mie migrazioni in docker. Capire come installare tutti i vari pezzi può essere frustrante.

Intendi “discord” o “Discourse”? O forse vuoi questo: Configure Discord Login for Discourse?

Qualunque cosa tu faccia, la gente odia il cambiamento. Non penso che cercare di far assomigliare Discourse a vBulletin aiuti. Se vuoi che il tuo forum si comporti come vBulletin, allora continua semplicemente a usarlo. Ci sono molti temi che fanno molte cose. Non esiste veramente una guida se non Search results for '#theme-component' - Discourse Meta. Puoi esplorare e cercare lì.

Una cosa che penso qualcuno abbia trascurato è che, sebbene la prima volta che esegui lo script ci vorranno giorni, le esecuzioni successive sono più veloci perché saltano i dati già importati, quindi l’esecuzione finale non richiederà troppo tempo.

1 Mi Piace

Benvenuto :wave:

Risponderò solo a questo, poiché non sono competente negli altri campi. Parlerò della transizione fluida più avanti nel mio post.

In termini di personalizzazione, puoi modificare il CSS da un editor integrato, oltre ad aggiungere Javascript e utilizzare l’API JS specifica di Discourse. Visivamente parlando, se qualcosa non ti piace, nascondilo o cambialo.

La guida ufficiale ai temi è qui: Developing Discourse Themes & Theme Components.

Potrebbe non essere completamente aggiornata poiché stiamo attualmente aggiornando alcune cose JS a lungo termine.

Circa il 100% dei temi, dei componenti tematici e dei plugin pubblicati qui sono open source, quindi puoi sempre dare un’occhiata al loro codice per creare le tue soluzioni.

Un tema è fondamentalmente una skin con o senza funzionalità aggiuntive.
Un componente tematico di solito aggiunge funzionalità.
Un plugin aggiunge funzionalità lato server più approfondite.

Per le mie comunità, cerco di utilizzare solo personalizzazioni ufficiali o altre di autori o aziende affidabili e ben consolidate come pavilion. E anche quelle personali, ovviamente, poiché posso mantenerle da solo.

Temi e componenti tematici possono essere aggiunti e rimossi al runtime, mentre l’installazione e la disinstallazione di un plugin richiede una ricostruzione dell’applicazione da riga di comando (15-10 minuti di inattività).


Per quanto riguarda una transizione fluida per una community che allevi la confusione o la rabbia degli utenti, a volte è complicato. Ovviamente, un punteggio di felicità del 100% è quasi impossibile.
Inoltre, alcune community sono decisamente più conservatrici o rumorose di altre e reagiranno di conseguenza.

Dal punto di vista dell’utente, direi che le critiche più ricorrenti che sono state fatte sono:

  • Niente più paginazione
    È sostituita da una timeline interattiva. Entrambe hanno i loro pro e contro. Ho sentito occasionalmente persone non in grado di adattarsi a questo cambiamento.
    La mia esperienza personale da 3 migrazioni di forum piccoli e medi è che nessuno nelle mie community ha avuto un’esperienza negativa con la timeline.

  • L’interfaccia è complicata
    L’interfaccia ha più elementi rispetto al passato, poiché le funzionalità sono state aggiunte nel tempo. Il menu delle notifiche è diventato più grande, è stata introdotta la barra laterale e una funzionalità di chat (che potrebbe non essere necessaria se hai un server Discord).
    Siamo molto consapevoli della complessità dell’interfaccia e ci piacerebbe sicuramente avere parti più semplificate.
    C’è decisamente una curva di apprendimento con Discourse. Pur essendo un forum con le stesse funzionalità di qualsiasi altro software per forum (pubblica argomenti, pubblica risposte/PM, questo è tutto…), diverge da qui in termini di interfaccia e funzionalità aggiunte. Direi che la maggior parte delle persone non ha problemi particolari con questo, ma la community di questo forum potrebbe essere prevenuta poiché la maggior parte delle persone qui conosce Discourse.
    Quando ti abitui all’interfaccia, non vedi più rumore e ti concentri sulle funzionalità che utilizzi effettivamente, ma capisco che non sia esattamente la tua preoccupazione qui poiché ti concentri sulla migrazione/transizione.

Ci sono due strumenti integrati che aiutano le persone a comprendere l’interfaccia e le funzionalità.

  1. @discobot. È un utente bot interattivo con cui possiamo interagire e che ci insegna come utilizzare alcune funzionalità di discussione.

  2. Suggerimenti per i nuovi utenti. Quando ti registri, appariranno dei tooltip nell’interfaccia per spiegare le diverse parti. Puoi disabilitarlo in qualsiasi momento da qualsiasi tooltip e riattivarlo dalle tue preferenze utente.

Dal punto di vista dell’amministratore, sarebbe:

  • Ci sono troppe impostazioni
    Sì, ci sono molte opzioni in Discourse. Configurare attentamente il forum richiederà ore e probabilmente aggiustamenti fino a quando non sarai soddisfatto. La cosa buona è che una volta fatto, raramente tornerai a modificare le impostazioni.
    Sappiamo che molte impostazioni possono essere intimidatorie e a volte rendere difficile trovare qualcosa. C’è spazio per miglioramenti.

Infine, puoi utilizzare la sandbox utente su try.discourse.org.
Non esiste una sandbox per amministratori. Quando voglio sperimentare cose a livello di amministratore, di solito imposto un server Hetzner a basse specifiche (fatturato all’ora) su cui installo Discourse per alcune ore o giorni.

3 Mi Piace