Ciao a tutti, possiedo e gestisco quello che credo sia uno dei più grandi forum basati su Drupal su Internet, con quasi 2 milioni di post. Drupal 7 sta morendo, e Drupal 8/9 si stanno trasformando più in un framework per programmatori web che in un sistema di gestione dei contenuti pronto all’uso. Le nuove versioni di Drupal semplicemente non offrono i moduli di terze parti di cui ho bisogno affinché il mio forum continui con le sue funzioni di base, e grazie alle gioie di PHP e alle molte altre stranezze di Drupal, l’aggiornamento sarebbe altrettanto infernale quanto la migrazione a una piattaforma completamente diversa. Quindi dovrò ingoiare il rospo e migrare a qualcos’altro. Sono abbastanza sicuro che dovrà essere Discourse a causa di un aspetto unico dello stile della mia comunità di forum: sono l’unico moderatore, e non è il mio lavoro a tempo pieno. Quindi, nel corso degli anni, ho utilizzato i framework flessibili Rules e Flag in Drupal per creare un sistema frammentato di moderazione della comunità di spam e post offensivi, con rimozione automatica dei post e/o chiusura degli account utente a determinate soglie basate su quanto è nuovo l’utente e quanti utenti lo hanno segnalato, tenendo conto anche della novità e dell’attività di segnalazione recente degli utenti che segnalano. In altre parole, è quasi esattamente ciò che Discourse ha implementato. Sono davvero felice di vedere che Discourse ha riconosciuto il valore della moderazione della comunità e ha implementato un sistema così completo e ben studiato “out-of-the-box”. Drupal 7 era ed è tuttora l’unico CMS sufficientemente flessibile da consentire questo tipo di funzionalità personalizzate senza essere uno sviluppatore esperto, cosa che non sono. Quindi sembra che passerò a Discourse. Tuttavia, ho alcune preoccupazioni.
- Sistema di moderazione della comunità: Il nostro forum sta attualmente valutando un’installazione playground di Discourse. Sono impressionato da quanto sia completo e ben studiato l’intero sistema. Ma la comunità ha notato alcune stranezze:
- Non mi piace affatto come nasconde i post rimossi automaticamente dietro “Visualizza contenuti ignorati”. Se un post è abbastanza brutto da essere rimosso dalla comunità, è o altamente offensivo o puro spam, e non voglio che i visitatori o gli utenti abbiano nemmeno l’opzione di visualizzarlo. Questo è particolarmente problematico nel caso di argomenti che sono spam o hanno un titolo offensivo. E i crawler dei motori di ricerca non vedrebbero il contenuto spam nascosto? È possibile configurare il tempo senza intervento dell’utente prima che un post spam nascosto automaticamente venga completamente eliminato dalla vista pubblica? E per quanto riguarda gli argomenti e i post che sono stati segnalati dalla comunità come inappropriati?
- Ho letto qui che “Nota: tutti i valori menzionati sopra sono le impostazioni predefinite. Possono essere modificati dagli amministratori nelle impostazioni del sito” per quanto riguarda le soglie che portano alla rimozione del post e/o al silenzio dell’utente, ma non vedo quelle impostazioni granulari nella mia istanza di test di Discourse. Tutto ciò che riesco a trovare è “sensibilità nascondi post” e “sensibilità silenzia nuovo utente”, ma non capisco a cosa si riferisca effettivamente quella sensibilità in termini concreti.
- Vorrei rimuovere la motivazione “fuori tema” per segnalare un post. La nostra comunità di forum è molto rilassata in questo senso e ha una cultura del forum in cui i post fuori tema sono molto comuni e ben accettati. Aggiornamento: Sembra che questo possa funzionare.
- Migrazione dei messaggi privati: Il forum attuale ha quasi un milione di thread di messaggi privati utilizzando il modulo Drupal 7 privatemsg, e lo script di migrazione Drupal → Discourse non lo gestisce. Questa sembra un’omissione importante, perché nonostante sia un modulo di terze parti (nel tipico stile Drupal) è fondamentalmente la funzionalità di messaggistica privata de facto che gli amministratori di Drupal 7 utilizzano.
- Conversione del formato dei post: Sfortunatamente, il forum attuale utilizza un mix di post in puro HTML e Textile. Capisco che lo script di migrazione possa gestire il puro HTML (correggetemi se sbaglio) ma non Textile. Se possibile, vorrei convertire i post Textile in HTML o Markdown, a seconda di cosa sia più facile. Mi è stato detto che Pandoc può essere agganciato allo script di migrazione, ma che ciò aumenterebbe enormemente il tempo di migrazione. Ho cercato moduli Drupal per convertire il formato dei post esistenti, ma ho trovato solo questo, che non supporta l’elaborazione batch per l’enorme quantità di post, e non supporta il paradigma dei “commenti” di Drupal, che costituiscono la stragrande maggioranza dei “post” da convertire. Quindi ho pensato di fare una sorta di ricerca/sostituzione offline sul file di dump del database con
sed, simile a quanto descritto qui. Suggerimenti o soluzioni sarebbero benvenuti. Sono un utente Linux esperto e ho lavorato occasionalmente con regexp, ma non sono ancora bravo. Modifica: Questo è un’opzione interessante per trovare/sostituire una volta che i dati grezzi sono in Discourse. - Annunci: Sono davvero felice di vedere che il Plugin Annunci per Discourse sembra essere maturato molto da quando l’ho esaminato l’ultima volta. Capisco che gli annunci interni mi permetteranno di posizionare banner immagine in punti specifici con un link di destinazione quando cliccati, e che se più annunci sono assegnati allo stesso punto verranno selezionati casualmente, corretto? Tuttavia, non ho idea di come gestire il paradigma mobile. Nel mio forum attuale ho un banner orizzontale in alto e tre banner verticali nella barra laterale sinistra, nessuno dei quali sarebbe fattibile per gli utenti mobili nell’interfaccia reattiva di Discourse. Modifica: Potrebbe essere necessario modificare il Plugin Annunci per le mie esigenze, offerta a pagamento qui.
- Permalink: Lo schema degli URL di Drupal ha due componenti principali:
/node/XXXXXXXe collegamenti a commenti specifici all’interno di quei nodi/comment/YYYYYYY#comment-YYYYYYY(YYYYYYYè lo stesso in entrambe le occorrenze). Lo script di migrazione Drupal 7 → Discourse manterrà automaticamente quei collegamenti in modo che i collegamenti nei post ad altri thread o post funzionino ancora e mantengano la SEO? Che dire di un filesitemap.xmlper i motori di ricerca? - Elaborazione batch: Durante la migrazione verrà eseguita in batch? Cosa succede se incontra un errore, dopo averlo corretto continuerà o richiederà di ricominciare dall’inizio?
- Utenti con vecchi dispositivi Apple: Naturalmente capisco i pericoli dell’utilizzo di browser obsoleti. Per Windows e vecchi dispositivi Android c’è quasi sempre un modo per installare un browser moderno compatibile con Discourse. Ma sono preoccupato per uno dei miei utenti che afferma di avere un Mac del 2015 che non riceve aggiornamenti e non ha modo di installare nulla oltre alla vecchia versione di Safari che gli mostra avvisi di deprecazione con Discourse. So molto poco sui dispositivi Apple a parte il fatto che sono molto più bloccati. È davvero così difficile installare altri browser moderni su di essi?
- Archiviazione immagini / caricamenti: I miei utenti e io amiamo la facilità di caricamento delle immagini in Discourse, ma sono un po’ preoccupato per lo spazio di archiviazione e i costi. L’opzione migliore a lungo termine sarebbe probabilmente quella di montare un volume di archiviazione di rete sul VPS, se necessario. Se inizialmente configurassi Discourse con la posizione di caricamento predefinita, causerebbe problemi spostarlo su un volume diverso in seguito?
- Backup:
- Vorrei che ci fosse un sistema per backup differenziali, o meglio ancora, deduplicati. Attualmente uso Duplicity con Amazon S3 per il mio forum Drupal, e i costi sono incredibilmente bassi per una lunghissima cronologia di revisioni. Qualcuno sa a memoria quanto tempo dopo la creazione di un archivio S3 una regola può farlo passare a Glacier?
- L’interfaccia di backup di Discourse consente di eliminare gli archivi in Amazon S3? So che è un po’ estremo, ma vorrei disabilitare quella funzionalità, perché ho configurato i miei bucket S3 con solo permessi PUT, GET e LIST per impedire a un hacker sul sistema compromesso di eliminare i miei backup remoti. Quindi una regola del ciclo di vita S3 entra in gioco ed elimina i vecchi archivi dal lato server dopo un certo periodo di tempo.
- Plugin Stop Forum Spam: Non voglio usare Akismet, ma ho sempre avuto buoni risultati con StopForumSpam.com per prevenire la creazione di molti account spammer.
Qualcuno sa se il plugin per Discourse ha soglie configurabili per quanti hit un nome utente, IP o indirizzo email dovrebbe avere nel database per essere rifiutato?Modifica: No, non li ha. Richiesto qui. Inoltre, sfortunatamente, non interviene per impedire effettivamente la creazione di account se hanno abbastanza hit nel database SFS come fa in Drupal.
Scusa per il lungo post. Grazie in anticipo a tutti per i vostri spunti, e molti ringraziamenti all’intero progetto Discourse per questo eccellente prodotto.