2026.12

Migration MyCoRe LTS 2026.06 nach 2026.12

Diese Seite fasst Systemanforderungen fĂĽr die Nutzung des MyCoRe LTS 2026.12 und die Migration von Version 2026.06 zu 2026.12 zusammen.

Diese Seite ist Work in Progress.
Sie wird im Rahmen der Fertigstellung des aktuellen MyCoRe-Releases weiter ergänzt!

Systemanforderungen MyCoRe LTS 2026.12 [TODO: UPDATE]

FĂĽr den Betrieb einer MyCoRe-Anwendung unter LTS 2026.12 sind folgende Voraussetzungen zu erfĂĽllen:

Betriebssystem

MyCoRe LTS 2026.12 ist auf diesen Betriebssystemen im Einsatz. Höhere Versionen sollten kein Problem darstellen.

  • Open SuSE Leap 15.6 oder höher
  • SuSE SLES 15.6 oder höher
  • Ubuntu 24.04 LTS
  • CentOS 8
  • RHEL 8
  • Windows 11 fĂĽr Test- und Entwicklungssysteme

Standardsoftware

Zur Arbeit mit MyCoRe LTS 2026.12 sind folgende Softwarekomponenten erforderlich bzw. empfohlen. Diese sind alle von Drittanbietern und im Normalfall in den Distributionen enthalten.

  • Java 25 (OpenJDK) (muss ggf. extern nachinstalliert werden)
  • Tomcat 10.1.x bzw. Jetty 11.x (alternativ ein System mit UnterstĂĽtzung von Servlet-6.0 und JakartaEE)
  • SOLR 9.8.1 oder höher
  • eine hibernate-fähige relationale Datenbank wie PostgreSQL 16 oder höher, MySQL/Maria-DB 10 oder höher, DB2; fĂĽr Testzwecke genĂĽgt auch die integrierte Datenbank H2
  • Git 2.26 oder höher
  • Apache Maven 3.6.3 oder höher

Neuerungen

  • Kleinere Neuerung 1
  • Kleinere Neuerung 2
  • Kleinere Neuerung 3

Größere Neuerung 1 ( MCR-XXXX )

Beschreibung

Größere Neuerung 2 ( MCR-XXXX )

Beschreibung

Migrationsschritte

Geänderte Funktionen in property.xsl ( MCR-3719 )

Durch property.xsl wurden ursprünglich zwei Funktionen bereitgestellt; eine, one, die den Wert zu einem Property-Namen zurückliefert und eine, all, die alle Sub-Properties zu einem Präfix zurückliefert. Letztere Funktion gibt eine geschachtelte XML-Elementstruktur zurück.

Im Rahmen der XSLT3-Umstellung wurde eine weitere Funktion, map, hinzugefĂĽgt, die dasselbe tut wie all, dabei aber eine XSL-Map zurĂĽckliefert.

Mit MCR-3719 wurden die bereitgestellten Funktionen ĂĽberarbeitet:

  • Die Methode one wurde in get umbenannt.
    Aufrufe von mcrproperty:one mĂĽssen durch mcrproperty:get ersetzt werden.
  • Die Methode map wurde in get-sub-properties umbenannt.
    Aufrufe von mcrproperty:map mĂĽssen durch mcrproperty:get-sub-properties ersetzt werden.
  • Die Methode all wurde entfernt.
    Aufrufe der Form mcrproperty:all('MCR.Foo.Bars')/entry[@key='baz'] mĂĽssen durch
    • map:get(mcrproperty:get-sub-properties('MCR.Foo.Bars'), 'baz') (Hilfsmethode),
    • mcrproperty:get-sub-properties('MCR.Foo.Bars')('baz') (Funktionsaufruf) oder
    • mcrproperty:get-sub-properties('MCR.Foo.Bars')?'baz' (Lookup-Operator) ersetzt werden.

Die Verwendung von <xsl:param name=​'MCR.Foo.Bar'> auf oberster Ebene eines Stylesheets sollte durch <xsl:variable name=​"Bar" select=​"mcrproperty:get('MCR.Foo.Bar')" /> auf oberster Ebene des Stylesheets oder, besser, <xsl:variable name=​"bar" select=​"mcrproperty:get('MCR.Foo.Bar')" /> am Verwendungsort ersetzt werden, um Probleme mit undefinierten oder doppelt definierten Parametern im Zusammenhang mir xsl:include / xsl:import zu vermeiden.

Methoden in MCRConfigurationBase und MCRConfiguration2 ( MCR-3785 )

MyCoRe stellt die Klassen MCRConfigurationBase und MCRConfiguration2 bereit, wobei MCRConfigurationBase im Wesentlichen die aus mycore.properites-Dateien eingelesenen Konfigurationseinträge bereitstellt und MCRConfiguration2 eine nettere API für die Verwendung dieser Konfigurationseinträge anbietet.

Ein wichtiger Unterschied ist hier, dass MCRConfigurationBase Einträge mit leeren Werten, wie alle anderen Einträge auch, bereitstellt. MCRConfiguration2 hingegen ignoriert Einträge mit leeren Werten und behandelt diese wie nicht vorhandene Einträge.

Hiervon abweichend haben die Methoden MCRConfiguration2#getPropertiesMap und MCRConfiguration2#getSubPropertiesMap jeweils alle Einträge berücksichtigt, inklusive Einträgen mit leeren Werten. Daher wurden diese Methoden nach MCRConfigurationBase verschoben und in MCRConfiguration2 äquivalente Methoden hinzugefügt, die Einträge mit leeren Werten ignorieren. Zudem wurden die Namen der Methoden leicht angepasst.

Dementsprechend mĂĽssen in eigenem Java-Code

  • Aufrufe von MCRConfiguration2#getPropertiesMap entweder durch MCRConfigurationBase#getAllPropertiesMap oder durch MCRConfiguration2#getAllPropertiesMap ersetzt werden und
  • Aufrufe von MCRConfiguration2#getSubPropertiesMap entweder durch MCRConfigurationBase#getSubpropertiesMap oder durch MCRConfiguration2#getSubpropertiesMap ersetzt werden,

je nachdem, ob man einen 1-zu-1-Ersatz für die alte Methode benötigt, oder ob man das Verhalten der neuen Methode bevorzugt (z.B. weil man angenommen hatte, das sich die alte Methode bereits mit den sonstigen Methoden aus MCRConfiguration2 harmonisch verhalten hat).

Grundsätzlich ist es empfehlenswert, jeweils die neue Methode zu verwenden, es sei denn es gibt wichtige Gründe dafür, Konfigurationseinträge mit leeren Werten zu verarbeiten.

Schritt 1 ( MCR-XXXX )

Beschreibung

Schritt 2 ( MCR-XXXX )

Beschreibung