Ich entwickle ein Plugin für einen Kunden und muss sicherstellen, dass bestimmte Einstellungen beim Deployment konfiguriert sind. Narrative Bot ist im Grunde ein Kernbestandteil von Discourse, fungiert aber selbst als Plugin.
Ich vermute, dass das Überschreiben von Einstellungen für Narrative Bot in meinem Plugin funktionieren wird, da mein Plugin alphabetisch später geladen werden sollte. Doch was passiert, wenn mein Plugin mit ‘a’ beginnt und ich ein Discourse-Plugin überschreiben muss? Oder werden Discourse-Plugins sowieso zuerst geladen?
Wenn du den Server betreibst, ist die beste Lösung die Verwendung von Umgebungsvariablen. Nimm den Einstellungsnamen aus der YAML-Datei, mache ihn groß und füge DISCOURSE_ am Anfang hinzu.
Zum Beispiel:
DISCOURSE_TITLE='forcedtitle'
Dies erzwingt den Seitentitel auf diesen Wert und verhindert, dass er in der Admin-Oberfläche geändert werden kann.