Hallo Team,
ich arbeite an einem kleinen Projekt, bei dem wir Discourse so anpassen, dass der Nutzer direkt auf ein „Thema
Haben Sie keine offizielle Standardinstallation von Discourse durchgeführt, sondern stattdessen eine Entwicklungsumgebung eingerichtet? Das, was Sie beschreiben, klingt nach der erwarteten Leistung bei einer Entwicklungsumgebung.
Haben Sie Ihre Änderungen in einem Plugin vorgenommen oder haben Sie einen Fork erstellt?
Ja, ich habe geforkt. Ich habe Docker nicht verwendet, sondern habe ein wenig auf der Serverseite angepasst und hauptsächlich Änderungen auf der Clientseite wie JS und CSS vorgenommen. Die offizielle Installationsdokumentation war nicht klar bezüglich der Einrichtung von eigenem Code. Könntest du mir sagen, wo ich das Docker-Setup mit eigenem Code finde? Im Grunde möchte ich den Code einfach aus meinem Repository ziehen. [Ich bin neu bei Docker]
Dein benutzerdefinierter Code sollte immer als Plugin und nicht als Fork des Kernels erstellt werden.
Ich stimme zu, du hast keine Produktionsinstallation. Besorge dir eine ordentliche Entwicklungsumgebung, erstelle dein Plugin und stelle es auf einer ordentlichen Produktionsinstallation bereit.
Siehe Entwicklerhandbuch für Discourse-Themes und Anfängerhandbuch zur Erstellung von Discourse-Plugins, Teil 1: Ein einfaches Plugin erstellen.
Mit ‘Benutzerdefiniertem Code’ meine ich, dass der Kern von Discourse nicht verändert wird. Es geht nur um einige CSS-Anpassungen und JS-Änderungen, um unsere Anforderungen zu erfüllen. Wir wollten Benutzer (basierend auf bestimmten Einstellungen) direkt zum Diskussionsscreen eines Themas weiterleiten (wie hier).
Plugins dienen doch dazu, neue Funktionen hinzuzufügen, oder?
Es gilt zumindest in gewisser Weise: Wenn du nur JavaScript und CSS änderst, kannst du deine Änderungen wahrscheinlich vollständig mit Theme-Komponenten vornehmen. Wenn du jedoch Änderungen an Backend-Code in Rails vornehmen musst, benötigst du ein Plugin.
Ich empfehle dir, mit dem oben genannten Link zum Theme-Entwickler zu beginnen und zu prüfen, ob du deine Änderungen in den Theme-Komponenten umsetzen kannst.