Esta guía explica los diversos modos de solo lectura disponibles en Discourse, cómo habilitarlos y deshabilitarlos, y los escenarios en los que podría desear usar cada modo.
Nivel de usuario requerido: Administrador
Administrar una comunidad en línea vibrante en Discourse requiere ocasionalmente que los administradores limiten temporalmente las actividades de los usuarios. Estas situaciones pueden variar desde realizar mantenimiento del servidor, facilitar copias de seguridad o migrar servidores. Durante tales momentos, es crucial restringir las actividades del foro sin cerrar completamente el acceso de los usuarios.
Discourse ofrece varios Modos de Solo Lectura que los administradores pueden habilitar para congelar temporalmente diferentes tipos de interacciones dentro de un sitio.
Esta guía explora estos modos, centrándose específicamente en cómo habilitarlos y deshabilitarlos, incluida la gestión de situaciones en las que ciertos modos se cruzan.
Comprensión de los Modos de Solo Lectura
Discourse admite dos niveles diferentes de modos de Solo Lectura adaptados para satisfacer diversas necesidades administrativas. Estos son:
-
Modo de Solo Lectura Completo
- Restringe todas las operaciones de escritura en el foro, impidiendo que cualquier usuario cree o modifique contenido, como publicar, comentar o dar “me gusta”.
- Permite que el foro se “congele” esencialmente en su estado actual, de modo que los usuarios aún puedan leer y navegar por el contenido existente sin afectar la base de datos.
- Deshabilita el cambio de cualquier configuración del sitio de administración o personalizaciones del sitio para preservar el estado actual de la base de datos.
- Deshabilita nuevos inicios de sesión en el foro.
-
Modo Solo Escritura para el Personal
- Restringe a los usuarios estándar las operaciones de escritura en el foro, como publicar, comentar o dar “me gusta”. Los usuarios estándar se limitan a operaciones de solo lectura y no podrán iniciar sesión en sus cuentas una vez que este modo esté habilitado.
- Permite que las actividades de los administradores y moderadores continúen normalmente. Los administradores pueden cambiar la configuración del sitio y los usuarios del personal pueden realizar operaciones de escritura como publicar, dar “me gusta” o modificar perfiles.
Estos modos garantizan flexibilidad en la gestión de la operabilidad del foro durante períodos administrativos críticos.
Cómo Habilitar/Deshabilitar Modos de Solo Lectura
Los administradores deben gestionar cuidadosamente la transición entre los diferentes modos de solo lectura. Antes de habilitar cualquier modo de solo lectura, asegúrese de que cualquier modo activado previamente esté deshabilitado.
Modo de Solo Lectura Completo
A través de la Consola Rails
Si tiene acceso a su instalación de Discourse, utilice la interfaz de línea de comandos de Discourse rails para ejecutar el siguiente comando después de ingresar a su contenedor Docker con ./launcher enter app y luego a la consola rails con rails c:
Discourse.enable_readonly_mode(Discourse::USER_READONLY_MODE_KEY)
A través del Panel de Administración
Si tiene acceso administrativo a través de la interfaz web, puede navegar a Admin > Backups > Enable Read-Only Mode para habilitar el modo de solo lectura.
Para deshabilitar el Modo de Solo Lectura, ejecute el siguiente comando rails:
Discourse.disable_readonly_mode(Discourse::USER_READONLY_MODE_KEY)
O, utilice el panel de administración navegando a Admin > Backups > Disable Read-Only Mode.
Modo Solo Escritura para el Personal
El modo Solo Escritura para el Personal solo se puede habilitar / deshabilitar desde la consola rails de Discourse. Si su sitio está alojado por Discourse, comuníquese con team@discourse.org si desea habilitar o deshabilitar cualquiera de estos modos.
Para habilitar el Modo Solo Escritura para el Personal, utilice el siguiente comando de la consola rails:
Discourse.enable_readonly_mode(Discourse::STAFF_WRITES_ONLY_MODE_KEY)
Para deshabilitar:
Discourse.disable_readonly_mode(Discourse::STAFF_WRITES_ONLY_MODE_KEY)
Mejores Prácticas
- Comunicación Oportuna: Informe a su comunidad sobre los períodos programados de solo lectura con anticipación para establecer expectativas adecuadas.
- Pruebas: Antes de implementar estos modos durante operaciones críticas, realice pruebas durante períodos de bajo tráfico para comprender su impacto.
- Documentación: Mantenga registros detallados de cuándo y por qué se habilitó o deshabilitó cada modo para ayudar en la planificación operativa futura.
Preguntas Frecuentes
-
¿Cuánto tiempo se tarda en habilitar/deshabilitar el Modo de Solo Lectura?
- El cambio es inmediato. Sin embargo, la experiencia del usuario puede variar ligeramente dependiendo de sus acciones durante el período de transición.
-
¡Ayuda! Estoy bloqueado de mi sitio debido al modo de solo lectura. ¿Qué puedo hacer para acceder a mi sitio nuevamente?
-
Noté que hay otros modos
READ-ONLYlistados en discourse/lib/discourse.rb, ¿qué hacen estos modos?READONLY_MODE_KEYse utiliza principalmente para el proceso de copia de seguridad y restauración y es activado por la propia aplicación. Este modo también se puede habilitar o deshabilitar desde la interfaz de línea de comandos de Discourse condiscourse enable_readonlyydiscourse disable_readonly. Sin embargo, esta clave no sobrevivirá a un reinicio del contenedor.USER_READONLY_MODE_KEYse utiliza cuando un administrador hace clic en el botón de solo lectura en la interfaz de administración. Lo especial de esta clave es que no la establecemos como una clave que expira, ya que la activación de solo lectura por parte de un usuario debe sobrevivir a los reinicios del contenedor. Otras claves se establecen con un TTL de 60 segundos y tenemos un hilo para extender la expiración cada 30 segundos para garantizar que una aplicación nunca se quede atascada en modo de solo lectura.PG_READONLY_MODE_KEYyPG_FORCE_READONLY_MODE_KEYse utilizan para el failover de PG. El primero se establece como una clave que expira, mientras que el segundo no expira.

