ucs-intranet-magnolia-updates/Readme.md
2024-11-22 17:20:04 +01:00

1.7 KiB

Synopsis

Maven Module um Magnolia Update Tasks auszuführen. Diese Update Tasks sind in ModuleUpdates gebundelt. Magnolia Bundles welche diese Funktionalität implementieren wollen, müssen IntranetUpdateModuleVersionHandler implementieren und als Version Handler setzten. In den meisten Fällen reicht es hierfür IntranetUpdateModuleVersionHandler#getModuleConfig() zu implementieren und ein Object von Typ IntranetUpdateModuleConfig zurückzugeben.

In IntranetUpdateModuleConfig können 3 Konfigurationen gesetzt werden:

  • List getInitialUpdateTasks()
    • Eine Liste von Tasks die bei einem ersten Startup ausgeführt werden sollen
  • String getYamlUpdateDir()
    • Filepath in von dem Bootstrap Yamls ausgelesen werden sollen
  • String getUpdateTaskPackage()
    • Java Package aus den Implementierungen von ModuleUpdate ausgelesen werden sollen

Module Update

Module Updates funktionieren hierbei genauso wie SimpleUpdates. Es gibt 3 verschiedene Arten von Tasks.

  • Generelle Tasks die ausgeführt werden sollen
  • Yaml Bootstrap Files
  • Tasks die nachdem Bootstrap ausgeführt werden sollen

Jedes Module muss eine Version gesetzt haben und muss mit einem Timestamp (ddMMyyyyHHmm) starten.

Allgemeine Funktionsweise

  1. Tasks aus List getInitialUpdateTasks() werden ausgeführt, falls das Module initial installiert wird
  2. ModuleUpdates werden über Reflection aus dem angegebenen Path initiiert und ausgeführt
    1. Sollte ein Task aus dem ModuleUpdate erfolgreich durchgeführt werden, dann wird ein Eintrag in JCR unter der Module Config in einem Version Node gespeichert
    2. Falls diese Version in diesem Task schon vorhanden ist, wird dieser Task ignoriert