Live-App-Code-Test-Code-Änderungen nicht im Frontend reflektiert

Hallo,

Da ich von der Entwicklung auf Joomla/WordPress komme, bin ich neugierig auf die Backend-Datei-Modifikationsfunktion von Discourse über Docker.
Ich habe die Dokumentation zum Erstellen eines Plugins gelesen (How can I make my own Discourse plugins? - #2 by merefield), aber das möchte ich noch nicht tun, ich möchte nur Code live testen.

Bei einer Nicht-Docker-MVC-Installation wurde eine Modifikation einer Datei über FTP sofort übernommen, und während ich bei Docker die Notwendigkeit verstehe, die App neu zu erstellen, um permanente Modifikationen anzuwenden, was ist, wenn man Dinge live testen möchte?

Live-Code-Modifikationen scheinen nicht zu funktionieren:

Zum Beispiel möchte ich Suchen für anonyme Benutzer deaktivieren, also habe ich bearbeitet:
/var/www/discourse/app/controllers/search_controller.rb, indem ich “if current_user.present?” nach “def show” hinzugefügt habe, mit einem “end” am Ende der Funktion.

Ich war überrascht, dass dies keine Auswirkung auf das Frontend hatte, und selbst das Umbenennen des Controllers in search_controllerold hätte keine Auswirkungen auf die Suchen.

Aber irgendwie hat das Umbenennen eines Bildes in /var/www/discourse/public/images# das Bild im Frontend versteckt :slight_smile: !

Kann mir bitte jemand sagen, wie die Dinge hier funktionieren, gibt es eine andere zwischengespeicherte Version des Systems, mehr als nur die App, die aus ihrem Image startet?

Danke

Ok, ich habe festgestellt, dass der Code modifiziert wird, wenn ich die Dateien in ./javascripts/discourse/node_modules/.embroider/rewritten-app/ modifiziere.
Es fühlt sich jetzt besser an :slight_smile:

1 „Gefällt mir“

Das sieht mehr nach einem Anti-Pattern aus.

Das wird wahrscheinlich mit jedem Build ersetzt.

Schauen Sie sich das Material in Documentation > Developer Guides und die unzähligen realen Open-Source-Beispiele an, um zu sehen, wie Sie das Frontend über Theme component und sowohl das Frontend als auch das Backend über #plugins modifizieren können.

2 „Gefällt mir“

Danke für das Teilen! Ich werde das prüfen und mich vielleicht irgendwann ernster damit beschäftigen. Im Moment wollte ich nur Live-Änderungen testen und verstehe nicht, warum sie im Frontend nicht so einfach angezeigt werden wie früher mit FTP bei Joomla/WordPress.