Discurso personalizado con funciones limitadas

Hola equipo,

Estoy trabajando en un pequeño proyecto donde estamos personalizando Discourse para que el usuario aterrice directamente en “un tema”, con muchas personalizaciones del lado del cliente. El usuario aterriza directamente en el tema y solo puede publicar/responder en el hilo del tema. Discourse se carga en un WebView en la aplicación móvil. También eliminé el compositor original e implementé un compositor personalizado con algunas opciones eliminadas. Este compositor personalizado siempre se mantiene pegado en la parte inferior de la página para responder rápidamente a las publicaciones de los usuarios.

Utilizamos una especificación mínima de 2 GB (sin Docker). Cuando un usuario se registra en el foro, lo redirigimos (del lado del cliente) a un tema; a veces, esta redirección tarda entre 10 y 25 segundos. He probado otros sitios web como swift.org y su Discourse carga las páginas con bastante rapidez, tardando entre 3 y 6 segundos. Inspeccioné las pestañas de red y es exactamente el mismo JS y CSS que se cargan desde la red; lo único es que la versión móvil carga “mobile.css”.

¿Cuál podría ser el problema con nuestro Discourse personalizado? ¿Alguna orientación para optimizarlo? ¿Creen que sea necesario aumentar las especificaciones del servidor? Nuestra base de clientes son solo unas pocas cientos de personas; actualmente solo tiene un par de usuarios (desarrolladores) y estamos enfrentando este problema.

¿No realizaste una Instalación estándar oficial de Discourse, sino una instalación de desarrollo? Lo que describes parece ser el rendimiento esperado para una instalación de desarrollo.

¿Realizaste tus cambios en un plugin o hiciste un fork?

4 Me gusta

Sí, hice un fork. No utilicé Docker; personalicé un poco desde el lado del servidor y realicé cambios principalmente en el lado del cliente, como JS y CSS. El documento oficial de instalación no estaba claro sobre la configuración de código personalizado. ¿Podrías decirme dónde puedo encontrar la configuración de Docker con código personalizado? Básicamente, solo quiero extraer el código de mi repositorio. [Soy nuevo en Docker].

Tu código personalizado siempre debe construirse como un plugin, no como un fork del núcleo.

Estoy de acuerdo, no tienes una instalación de producción. Consigue una instalación de desarrollo adecuada, crea tu plugin y colócalo en una instalación de producción adecuada.

3 Me gusta

Consulta la Guía para desarrolladores de temas de Discourse y la Guía para principiantes sobre la creación de complementos de Discourse, parte 1: Creación de un complemento básico.

1 me gusta

Al decir “código personalizado” me refiero a no modificar el núcleo de Discourse. Solo algunos ajustes de CSS y cambios en JavaScript para adaptarnos a nuestros requisitos. Lo que queríamos era redirigir a los usuarios (según cierta configuración) directamente a la pantalla de discusión del tema (como esta).

¿Los plugins son para agregar nuevas funciones, correcto?

Al menos en cierto sentido, si solo estás modificando JavaScript y CSS, es probable que puedas realizar todos tus cambios mediante Componentes de Tema. Si necesitas hacer modificaciones en la parte backend de Rails, necesitarás un plugin.

Te recomiendo que comiences con el enlace de Desarrollador de Temas mencionado arriba y veas si puedes realizar tus cambios en los componentes del tema.

3 Me gusta