Prueba de código de aplicación en vivo modificaciones de código no reflejadas en el front-end

Hola,

Vengo del desarrollo en joomla/wordpress y tengo curiosidad sobre la función de modificación de archivos de backend de Discourse a través de Docker.
He leído la documentación sobre cómo crear un plugin (How can I make my own Discourse plugins? - #2 by merefield), pero aún no quiero hacerlo, solo quiero poder probar código en vivo.

En una instalación MVC sin Docker, al hacer una modificación en un archivo a través de FTP, se reflejaba instantáneamente y, si bien con Docker entiendo la necesidad de reconstruir la aplicación para aplicar modificaciones permanentes, ¿qué pasa si quieres probar cosas en vivo?

Las modificaciones de código para pruebas en vivo no parecen funcionar:

Por ejemplo, quiero deshabilitar las búsquedas para usuarios anónimos, así que edité:
/var/www/discourse/app/controllers/search_controller.rb agregando “if current_user.present?” después de “def show” con un “end” al final de la función.

Me sorprendió que esto no tuviera ningún efecto en el frontend, e incluso renombrar el controlador a search_controllerold no tendría ningún efecto en las búsquedas.

¡Pero de alguna manera, renombrar una imagen en /var/www/discourse/public/images# ocultaría la imagen en el frontend!

¿Alguien puede decirme cómo funcionan las cosas aquí? ¿Hay alguna versión en caché del sistema además de la aplicación que se inicia desde su imagen?

Gracias

Ok, he descubierto que el código se modifica si modifico los archivos en ./javascripts/discourse/node_modules/.embroider/rewritten-app/
Ahora se siente mejor :slight_smile:

1 me gusta

Eso parece más que un anti-patrón.

Eso probablemente se reemplazará con cada compilación.

Mira el material en Documentation > Developer Guides y los innumerables ejemplos reales de código abierto para ver cómo modificar el front end a través de Theme component y tanto el front como el back a través de #plugins

2 Me gusta

¡Gracias por compartir! Lo revisaré y quizás me involucre más seriamente en algún momento, por ahora solo quería probar modificaciones en vivo y no entiendo por qué no aparecen en el front end tan fácilmente como lo hacía con un ftp en joomla/wordpress.