¡Hola!
Estoy buscando un sistema de foro de terceros para mi cliente (una organización sin fines de lucro) y parece que Discourse es la opción favorita hasta ahora.
¿Tendré acceso remoto al servidor si elijo el alojamiento de Discourse?
¿Necesito tener una instancia de desarrollo de Discourse en “localhost” para probar plugins y otras personalizaciones (temas, estilos)? ¿O puedo probar algunos cambios directamente en “Producción” (no me gusta esa opción)?
¿Existe alguna forma de registrar las personalizaciones (aplicación de estilos y plugins)? Por ejemplo, ejecutar scripts en el entorno de desarrollo y, si todo está bien, desplegarlos en Producción (ya sea en el alojamiento de Discourse o autoalojado). ¿Hay algo como “Entrega Continua” aquí?
Si mis cambios personalizados no tienen éxito, ¿cómo puedo revertirlos? Supongo que, para probar un plugin, simplemente puedo “desactivarlo”.
Si tu alojamiento es gestionado por CDCK o Communiteq (anteriormente DiscourseHosting), que AFAIK es 100% gestionado. No tendrías acceso SSH ni nada por el estilo. A menos que tengas un plan empresarial, las opciones de complementos son fijas y todo es probado para garantizar la compatibilidad por los equipos respectivos.
Puedes instalar temas y componentes de tema en esas opciones de alojamiento sin restricciones. Por supuesto, siempre es aconsejable tener una instancia de prueba.
No conozco ninguna opción de CD con el alojamiento de CDCK; quizás alguien del equipo pueda corregirme si estoy equivocado. En el peor de los casos, realizarías esos cambios en el sitio en vivo de la misma manera en que los probaste en otro lugar.
No puedes instalar complementos adicionales en las opciones de alojamiento básicas; incluyen varios de los más comunes y mejor compatibles de forma predeterminada. Tendrías que estar en su nivel empresarial o autoalojarte. Los complementos deben integrarse en el archivo app.yml y el sitio debe reconstruirse para incorporarlos; para desactivarlos, comentas la línea y ejecutas otra reconstrucción. Los temas y componentes de tema se pueden agregar y eliminar sin afectar el tiempo de actividad ni el acceso de los usuarios al sitio.
Me sumo aquí para confirmar que todo lo que Stephen publicó es correcto.
En nuestros sitios alojados, tienes acceso completo a la API de Discourse, pero no tienes acceso SSH al servidor. Los plugins personalizados no se pueden instalar en nuestros planes Standard o Business, pero los plugins que desarrolles se pueden instalar en los planes Enterprise una vez que nuestro equipo los haya verificado. Para ver los plugins que vienen preinstalados en cada uno de nuestros planes, consulta Plugin directory | Discourse - Civilized Discussion.
Los temas personalizados y los componentes de tema se pueden instalar en cualquiera de nuestros planes.
La forma más sencilla de entender cómo funciona nuestro alojamiento es registrarte en una prueba gratuita del plan Standard o Business desde aquí: Discourse pricing | Discourse - Civilized Discussion. Nunca iniciamos la facturación automática para los sitios de prueba, por lo que esta es una forma sin riesgos de probar tanto Discourse como nuestro servicio de alojamiento.
La otra respuesta a tu pregunta es que si quieres (o necesitas) hacer esas cosas, entonces tendrás que hacer un autoalojamiento.
Pero, probablemente no necesites ningún complemento. La mayoría de las personalizaciones puedes hacerlas con componentes del tema.
Todos los cambios administrativos se registran en la interfaz de usuario, por lo que puedes ver quién cambió qué y cuándo.
Si quisieras desarrollar complementos personalizados, he desarrollado un sistema de CI/CD que te permite fijar Discourse y los complementos en commits específicos y realizar cambios en un sitio de staging y uno de producción al enviar un inventario a GitHub. Lamentablemente, el cliente abandonó el proyecto justo después de que lo configuré.