Antecedentes
Tenemos una instancia de Discourse alojada en la nube para la comunidad Ruby de Australia (me referiré a ella como Maestra). Dos veces al año organizamos eventos de RailsCamp. Es cuando pasamos un fin de semana completo juntos en un lugar remoto (50-150 personas por evento). A menudo hay poca o ninguna cobertura de telefonía móvil, lo que hace difícil la coordinación.
Estaba pensando que sería ideal tener una instancia de Discourse alojada en la red local durante el evento (me referiré a ella como Esclava). Podríamos usarla para publicar anuncios, horarios, compartir fotos, etc.
Dado que ya tenemos una comunidad en crecimiento en la Maestra, sería excelente aprovecharla. Por ejemplo, tu perfil ya estaría configurado cuando llegues al evento y tendrías una copia de todo el contenido.
Desafío
¿Cómo tener la instancia de Discourse Esclava funcionando junto con la Maestra cuando la Esclava está desconectada durante tres días?
Solución propuesta
Entiendo que Discourse no está diseñado para eso. Pero creo que hay una manera de adaptarlo a nuestras necesidades. Estoy interesado en sus ideas al respecto.
El plan:
- Configuramos una instancia de Discourse Esclava en la red local durante el evento.
- Justo antes del evento, hacemos una copia de seguridad de la Maestra y la restauramos en la Esclava.
- En la Esclava:
- Todas las categorías se marcarán como solo lectura.
- Creamos una nueva categoría de lectura/escritura para el evento.
- Después del evento, utilizamos un script en Ruby para transferir información de la Esclava a la Maestra:
- Nuevos usuarios creados.
- Todos los temas y publicaciones de la categoría creada para el evento.
- Éxito.
Preguntas
- ¿Ven algún problema con la solución propuesta?
- ¿Pueden ver un enfoque mejor?
Sería genial permitir el acceso de escritura a todas las categorías en la Esclava, pero siento que el proceso de sincronización podría ser muy complicado. Además, eso podría ser confuso, ya que algunas personas aún podrían acceder a la Maestra si tienen cobertura.
