Questa guida spiega le varie modalità di sola lettura disponibili in Discourse, come abilitarle e disabilitarle e gli scenari in cui potresti voler utilizzare ciascuna modalità.
Livello utente richiesto: Amministratore
La gestione di una vivace community online su Discourse richiede occasionalmente agli amministratori di limitare temporaneamente le attività degli utenti. Queste situazioni possono variare dall’esecuzione della manutenzione del server, alla facilitazione dei backup o alla transizione dei server. Durante tali periodi, è fondamentale limitare le attività del forum senza chiudere completamente l’accesso agli utenti.
Discourse offre varie Modalità di Sola Lettura che gli amministratori possono abilitare per bloccare temporaneamente diversi tipi di interazioni all’interno di un sito.
Questa guida esplora queste modalità, concentrandosi in particolare su come abilitarle e disabilitarle, inclusa la gestione delle situazioni in cui determinate modalità si intersecano.
Comprensione delle Modalità di Sola Lettura
Discourse supporta due diversi livelli di modalità di Sola Lettura adattati per soddisfare varie esigenze amministrative. Queste sono:
-
Modalità di Sola Lettura Completa
- Restringe tutte le operazioni di scrittura nel forum, impedendo a qualsiasi utente di creare o modificare contenuti, come postare, commentare o mettere “mi piace”.
- Consente al forum di essere essenzialmente “congelato” nel suo stato attuale, in modo che gli utenti possano ancora leggere e navigare attraverso i contenuti esistenti senza influire sul database.
- Disabilita la modifica di qualsiasi impostazione del sito Admin o personalizzazione del sito in modo che lo stato attuale del database venga preservato.
- Disabilita nuovi accessi al forum.
-
Modalità Solo Scrittura Staff
- Restringe gli utenti standard dalle operazioni di scrittura nel forum, come postare, commentare o mettere “mi piace”. Gli utenti standard sono limitati alle operazioni di sola lettura e non potranno accedere ai propri account una volta abilitata questa modalità.
- Consente alle attività di Admin e Moderatore di continuare normalmente. Gli Admin possono modificare le impostazioni del sito e gli utenti staff possono eseguire operazioni di scrittura come postare, mettere “mi piace” o modificare profili.
Queste modalità garantiscono flessibilità nella gestione dell’operatività del forum durante periodi amministrativi critici.
Come Abilitare/Disabilitare le Modalità di Sola Lettura
Gli Admin dovrebbero gestire attentamente la transizione tra le diverse modalità di sola lettura. Prima di abilitare qualsiasi modalità di sola lettura, assicurati che una precedentemente attivata sia disabilitata.
Modalità di Sola Lettura Completa
Tramite Console Rails
Se hai accesso alla tua installazione di Discourse, utilizza l’interfaccia a riga di comando di Discourse rails per eseguire il seguente comando dopo essere entrato nel tuo container Docker con ./launcher enter app e poi nella console rails con rails c:
Discourse.enable_readonly_mode(Discourse::USER_READONLY_MODE_KEY)
Tramite Pannello Admin
Se hai accesso amministrativo tramite l’interfaccia web, puoi navigare su Admin > Backups > Enable Read-Only Mode per abilitare la modalità di sola lettura.
Per disabilitare la Modalità di Sola Lettura, esegui il seguente comando rails:
Discourse.disable_readonly_mode(Discourse::USER_READONLY_MODE_KEY)
Oppure, utilizza il pannello admin navigando su Admin > Backups > Disable Read-Only Mode.
Modalità Solo Scrittura Staff
La modalità Staff Writes Only può essere abilitata/disabilitata solo dalla console rails di Discourse. Se il tuo sito è ospitato da Discourse, contatta team@discourse.org se desideri abilitare o disabilitare una di queste modalità.
Per abilitare la Modalità Solo Scrittura Staff, utilizza il seguente comando della console rails:
Discourse.enable_readonly_mode(Discourse::STAFF_WRITES_ONLY_MODE_KEY)
Per disabilitare:
Discourse.disable_readonly_mode(Discourse::STAFF_WRITES_ONLY_MODE_KEY)
Best Practices
- Comunicazione Tempestiva: Informa la tua community in anticipo sui periodi di sola lettura programmati per impostare aspettative adeguate.
- Test: Prima di implementare queste modalità durante operazioni critiche, conduci test durante periodi di basso traffico per comprendere il loro impatto.
- Documentazione: Tieni registri dettagliati di quando e perché ogni modalità è stata abilitata o disabilitata per assistere nella futura pianificazione operativa.
FAQ
-
Quanto tempo ci vuole per abilitare/disabilitare la Modalità di Sola Lettura?
- La modifica è immediata. Tuttavia, l’esperienza utente può variare leggermente a seconda delle loro azioni durante il periodo di transizione.
-
Aiuto! Sono bloccato fuori dal mio sito a causa della modalità di sola lettura - cosa posso fare per accedere di nuovo al mio sito?
-
Ho notato che ci sono altre modalità
READ-ONLYelencate in discourse/lib/discourse.rb, cosa fanno queste modalità?READONLY_MODE_KEYviene utilizzato principalmente per il processo di backup e ripristino ed è attivato dall’applicazione stessa. Questa modalità può anche essere abilitata o disabilitata dall’interfaccia a riga di comando di Discourse condiscourse enable_readonlyediscourse disable_readonly. Tuttavia, questa chiave non sopravviverà a un riavvio del container.USER_READONLY_MODE_KEYviene utilizzato quando un admin fa clic sul pulsante di sola lettura nell’interfaccia admin. La cosa speciale di questa chiave è che non la impostiamo come chiave in scadenza poiché la sola lettura abilitata da un utente deve sopravvivere ai riavvii del container. Altre chiavi sono impostate con una TTL di 60 secondi e abbiamo un thread per estendere la scadenza ogni 30 secondi per garantire che un’app non rimanga mai bloccata in modalità di sola lettura.PG_READONLY_MODE_KEYePG_FORCE_READONLY_MODE_KEYvengono utilizzati per il failover PG. Il primo è impostato come chiave in scadenza mentre il secondo non scade.

