Questions & Answers

MikeVoltmann
Occasional Observer

Projekt Web App Konfiguration via API anpassen, wie genau?

Guten Tag liebe Community

wir haben bei unserem Kunden ein Modul im Einsatz, das eine Konfigurationsoberflรคche bietet und pro Projekt konfiguriert werden muss.

Nun Versuchen wir dies รผber die API zu bewerkstelligen, damit wir nicht in alle 47 Projekte mรผssen um alles fรผr Preview und Live zu konfigurieren.

Dabei bin ich auf ein Problem gestoรŸen.

Ich beschreibe zunรคchst das Vorgehen. Im Anhang befindet sich aber auch ein einfacher Beispiel Code.

Innerhalb des Moduls gibt es eine "Properties"-Datei, die in der module.xml als Ressource fรผr die Webapp aufgefรผhrt ist.

Ich greife zunรคchst auf den ModuleAdminAgent zu mit dem ich mir die WebAppConfig holen kann

moduleAdminAgent.getWebAppConfig(ModulName,ComponentName,WebAppId)

nun habe ich das Konfigurationsverzeichnis und kann mit einem "obtain" ein FileHandle der Konfigurationsdatei erhalten. Diese kann ich mit load in eine "java.util.Properties" laden um auf die einzelnen Values zuzugreifen.

Nachdem ich die Properties geladen habe, รคndere ich die Werte, die projektspezifisch geรคndert werden mรผssen und speichere meine ร„nderungen wie folgt:

final ByteArrayOutputStream out = new ByteArrayOutputStream();

currentWebAppProperties.store(out,"Module - Configuration");

configFile.save(new ByteArrayInputStream(out.toByteArray()));

currentWebAppProperties ist vom Typ java.util.Properties
configFile ist vom Typ FileHandle

Wenn ich im Anschluss รผber den Servermanager die Konfiguration lade, dann sind noch immer die alten Werte vorhanden. Bei einem Deployment der WebApp sind auch im Dateisystem die alten Werte vorhanden.
Bei einem erneuten Aufruf der Konfigurationsdatei รผber die API erhalte ich die von mir gespeicherten richtigen Werte.

Jetzt ist in diesem Fall meine Frage:
Bin ich im falschen Konfigverzeichnis?
Muss ich an einer bestimmten Stelle einen Refresh durchfรผhren?
Ist das erhaltende FileHandle dazu gedacht die Konfiguration zu verรคndern?
Wie kann ich vorgehen um mein Ziel zu erreichen?

Mit freundlichem GruรŸ
Mike

FS Version 5.2.422

Java8

0 Kudos
4 Replies
marza
I'm new here

Hallo Mike,

das ist durchaus mรถglich, dass Du die Datei unter dem falschen Pfad abgelegt hast. Wenn Du Konfigurationsdateien fรผr Project-Apps schreiben willst, dann ist die Project-App-ID Teil des Pfades.

Z.B.

<FS Server Root>data\projects\project_<ID>\modules\<Module-ID>.<ProjectApp-ID>

Legt Du die Datei unter <FS Server Root>data\projects\project_<ID>\modules\<Module-ID> ab, wird sie nicht verwendet.

GrรผรŸe Marian

sebastianc
Crownpeak employee

Hallo Mike,

benรถtigst Du noch weitere Hilfe oder haben Dir die Antworten von Marian bereits geholfen?

In diesem Fall wรคre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere

Community-Teilnehmer diese auf den ersten Blick finden. Solltest Du zwischenzeitlich eine eigene Lรถsung

gefunden haben, wรคre es nett, wenn Du diese hier bereitstellst.

Viele GrรผรŸe

Sebastian

0 Kudos

Hallo Sebastian,

leider war ich im Urlaub. Daher auch die spรคte Reaktion auf die Diskussion.

Das was Marian geschrieben hat, haben wir kurze Zeit spรคter auch herausgefunden. Dies hat uns auf jedenfall auf den richtigen Weg gebracht.

Viele GrรผรŸe

Mike

0 Kudos

Danke Marian.

0 Kudos

Type a product name