2019.06 2020.06

Developer-Modus

Dieser Abschnitt beschreibt die Möglichkeit verschiedene Ressourcen zur Laufzeit zu überschreiben, ohne MyCoRe oder die Anwendung neu zu bauen.

Konfiguration

Zusammengefasst sieht eine mögliche Konfiguration z.B. für die Viewer- und MIR-Entwicklung wie folgt aus:

1
2
3
4
MCR.Developer.Resource.Override=/Pfad-zu-mir/mir-layout/src/main/resources,/Pfad-zu-mycore/mycore-viewer/src/main/resources
MCR.LayoutService.LastModifiedCheckPeriod=0
MCR.UseXSLTemplateCache=false
MCR.SASS.DeveloperMode=true

Im Property MCR.Developer.Resource.Override kann eine Liste von Ordnern angegeben werden, die beim Laden der Template- und Konfigurationsdateien zuerst ausgelesen werden. Dadurch ist es möglich, Templates zu editieren und die Änderungen unmittelbar (ohne erneutes Kompilieren und Bauen der JAR-Datei) in der gestarteten Anwendung zu nutzen. Gleich benannte Templates in den JAR-Dateien werden überschrieben. Die Pfade die als erstes aufgelistet werden haben eine höhere Priorität.

Das Überschreiben von Ressourcen funktioniert für folgende Ressource-Typen:

  • XSL-Stylesheets
  • XEditor-Formulare
  • Sass-Stylesheets

Das Überschreiben einer Resource wird beim Abrufen mit einer Log-Meldung quittiert:

1
  Found overridden Resource: /Pfad-zu-mir/mir-layout/src/main/resources/

Damit das Überschreiben von XSL-Stylesheets funktioniert, muss mittels MCR.UseXSLTemplateCache=false das Caching der XSLT-Templates deaktiviert und mit MCR.LayoutService.LastModifiedCheckPeriod=0 das Caching für den Layout-Service ausgeschaltet werden.

Im MyCoRe-Standardbetrieb werden Sass-Stylesheets nur einmal in CSS übersetzt und das Ergebnis gespeichert. Wünscht man eine permanente CSS-Übersetzung, kann man mit mit MCR.SASS.DeveloperMode=true den Sass-Entwickler-Modus einschalten.

Diese Properties sollten nur im Entwicklungssystem und nicht im Produktivsystem gesetzt werden!!!
Der beste Ort dafür ist die mycore.properties-Datei im Benutzerverzeichnis des Entwicklungssystems.