2024.06

Migration MyCoRe LTS 2023.06 nach 2024.06

Diese Seite fasst Systemanforderungen für die Nutzung des MyCoRe LTS 2024.06 und die Migration von Version 2023.06 zu 2024.06 zusammen.

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

Systemanforderungen MyCoRe LTS 2024.06

Für den Betrieb einer MyCoRe-Anwendung unter LTS 2024.06 sind folgende Voraussetzungen zu erfüllen:

Betriebssystem

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

  • Open SuSE Leap 15.4 oder höher
  • SuSE SLES 15.4 oder höher
  • Ubuntu 20.04 LTS
  • CentOS 8
  • RHEL 8
  • Windows 10 für Test- und Entwicklungssysteme

Standardsoftware

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

  • Java 21 (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 8.11.2 oder höher
  • eine hibernate-fähige relationale Datenbank wie PostgreSQL 10 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

... die eine Migration erforderlich machen

  • Java 21 als Minimal-Voraussetzung (MCR-3028, MCR-3029)
  • OCFL Filesystem (MCR-3126)
    • size als fixity ergänzt
  • Kein URL-Rewriting mehr für Session-Tracking (MCR-3127)
    • Referenzen und Imports auf weggefallene XSL-Templates (UrlAddSession, UrlDeleteSession) im eigenen Code suchen und entfernen
    • kein $HttpSession und $JSessionID Parameter mehr in XSL verfügbar oder nötig
  • Absolute Pfade in XSLT1-Includes verwenden (MCR-3088, MCR-3055)
    • Auf Warnungen im Log achten und eigene Stylesheets anpassen
      (z.B.: WARN guest MCRURIResolver: The Stylesheet jar:file:[...].xsl which only works with an old absolute include mechanism. Please change the include to relative!)
  • XSLT3-Migration
  • Wegfall der persistence.xml (MCR-3031)
    • die Datenbank wird jetzt vollständig über Properties konfiguiert
  • Verbesserung der Java-API für konfigurierbare Instanzen (MCR-3053)
    • Folgende Methoden sind deprecated:
      • MCRConfiguration2#getInstanceOf(String),
      • MCRConfiguration2#getSingleInstanceOf(String name),
      • MCRConfiguration2#getSingleInstanceOf(String name, Class)
  • Optimierung des Resource-Lookup-Mechanismus (MCR-2881, MCR-2873)
    • Konsistente Priorisierung der Ladereihenfolge, Überschreibbarkeit von Resourcen aus der WAR-Datei, JAR-Dateien (Modulen), Anwendungskonfigurationsverzeichnis, ...
    • Achtung: Das Laufzeitverzeichnis der Webanwendung (entpackte WAR-Datei im Servlet-Container) kann nicht mehr für das Überschreiben von Resourcen genutzt werden.
      Ggf muss auf das Konfigurationsverzeichnis oder JAR-Dateien (Module) ausgewichen werden.

... die ohne Migration eingeführt wurden

  • Rate-Limiting-URI-Resolver
  • ggf. OCFL Store for Derivate
  • allow selection of XSLT processor when using MCRXslStyeResolver(MCR-3087)
  • Benutzer-Suche sucht nun auch in Attributen
  • SOLRJ 9.6 Clients
    • Varianten mit Apache HTTPClient deprecated, Alternativen basieren Java-internen HTTPClient (noch neu und fehleranfällig) oder JettyLibrary (untersützt nur HTTP2 und läuft deshalb nur mit Solr Server 8 oder aktueller (Prüfen!)
  • Support für Solr-Cloud-Installationen und externen Tika-Server
    • MCR-3113-15: SolrCloud-Support(MCR-3113)
    • Dedizierter TikaServer (MCR-3113)
    • paralleles Indizieren in mehreren Kernen (MCR-3115)
    • Verwendung von SOLR Nutzern (Logins) für Administrative Anfragen und Suchanfragen
  • ggf. SOLR 9 Server als Empfehlung?
    • SOL 10.0.alpha ist released. Es besteht die “Gefahr”, dass SOLR 9 im Laufe des nächsten Jahres zum LTS wird und damit der Update-Support für Version 8 einstellt wird.)
  • Sichere Benutzer Passwörter: OWASP-empfohlene HashAlgorithmen verwendbar (MCR-3137)
    • Update erfolgt “automatisch” (beim Anmelden des Nutzers)
    • Check-Constraint entfernen, falls vorhanden:
      ALTER TABLE mcruser DROP CONSTRAINT mcruser_hashtype_check oder vergleichbar je nach DBMS

aus dem Code entfernt

  • ToDo: ergänzen

Migrationsschritte

  • ToDo: Konkrete Migrationsschritte ergänzen