2019.06

Migration MyCoRe LTS 2018.06 nach 2019.06

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

Systemanforderungen MyCoRe LTS 2019.06

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

Betriebssystem

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

  • Open SuSE Leap 15 / 15.1
  • SuSE SLES 15 / 15.1
  • Ubuntu 18.04 LTS
  • CentOS 7
  • Windows 10 für Test- und Entwicklungssysteme

Standardsoftware

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

  • Java 11 (OpenJDK)
  • Tomcat 8.5 oder Tomcat 9.0 bzw. Jetty 9.4.18 (alternativ ein System mit Unterstützung von Servlet-3.1)
  • SOLR 7.7.2 oder höher
  • eine hibernate-fähige relationale Datenbank wie PostgreSQL, MySQL, DB2; für Testzwecke genügt auch die integrierte Datenbank H2
  • Git 2.12 oder höher
  • Apache Maven 3.6.0 oder höher

Migrationsschritte

Migrationskommandos einbinden

Um die Migrationskommandos nutzen zu können, muss die Komponente mycore-migration eingebunden werden.

1
2
3
4
5
 <dependency>
   <groupId>org.mycore</groupId>
   <artifactId>mycore-migration</artifactId>
   <version>2019.06.2-SNAPSHOT</version>
 </dependency>

Solrkonfiguration und Index aktualisieren

Im Zuge der im nachfolgenden Abschnitt beschriebenen Umstrukturierung des derobject-Tags im mycoreobject sind neue Index-Felder im Solr-Dokument ergänzt worden. Das entsprechende Solr-Dokument kann wie folgt angeschaut werden {$WebApplicationBaseURL}/receive/mir_derivate_00000001?XSL.Transformer=mycoreobject-solrdocument. Hier eine kurze Übersicht der Änderungen:

Status Feldname Typ wiederholbar betrifft
neu derivateTitle text_general nein derivate
neu derivateTitle.de text_de nein derivate
neu derivateTitle.en text_en nein derivate
neu derivateOrder pint nein derivate
umbenannt maindoc -> derivateMaindoc string nein derivate

Zur Index-Aktualisierung muss in der MyCoRe-CLI die Konfiguration neu geladen und der Metadatenindex aktualisiert werden.

1
2
3
 mycore.sh
   -> reload solr configuration main in core main
   -> rebuild solr metadata index in core main

Umstrukturierung des derobject-Tags im mycoreobject

Mit dem LTS 2019.06 wurde die Struktur des derobject-Tags innerhalb eines mycoreobject geändert (siehe XML-Syntax eines MyCoRe-Objektes). Diese Änderung kann mittels Migrationskommando automatisiert durchgeführt werden.

Falls das label-Attribut genutzt wurde um das Derivat zu kategorisieren, kann vor der Migration eine passende Klassifikation mit dem Namen derivate_types angelegt werden. Dann werden die label-Einträge in eine entsprechenden Klassifikationseintrag überführt. Eine Beispielklassifikation kann hier heruntergeladen werden: derivate_types.xml.

1
2
 mycore.sh
   -> migrate all derivates

Obsoleten host-Parameter entfernen

Der Stylesheet-Parameter host ist mit Ticket MCR-1013 ersatzlos entfallen. Die Verwendung in alten XSLT-Stylesheets ist zu entfernen. Als Vorlage können die entsprechenden Anpassungen in der MIR-Anwendung dienen: MCR-1013 remove host parameter support.

Konfiguration von mycore-pi anpassen

MCR.PI.Registration.Datacite.JobApiUser ist obsolete und wird durch die Verwendung eines MyCoRe-internen Nutzers MCRJanitor ersetzt. Dieses Property kann also aus der Konfiguration entfernt werden.

Weiterhin hat Datacite das Testprefix abgeschafft und bietet statt dessen einen Testserver an. Wenn dieser netzt werden soll müssen entsprechend die Zugangsdaten für den Testserver und das Property MCR.PI.Registration.Datacite.UseTestServer=true gesetzt werden. MCR.PI.Registration.Datacite.UseTestPrefix=true ist veraltet und wird in 2020 abgeschafft.

Migration nach Bootstrap v4

Für alle im Kern mitgelieferten Frontend-Webseiten, die xEditor-Komponente und alle Administrationswerkzeuge wird unter LTS 2019.06 jetzt die Verwendung von Bootstrap 4 vorausgesetzt. Damit einher geht auch der Ersatz der Glyphicons durch Fontawesome. In die eigene Anwendung sind also folgende Dinge einzubinden:

  CSS Javascript sonstiges
für Bootstrap bootstrap.min.css jquery.min.js
jquery-ui.min.js
bootstrap.min.js
 
für Fontawesome all.min.css   das Verzeichnis webfonts aus der Distribution

Dies bedeutet auch, dass in den eigenen Stylesheets verschiedene Anpassungen gemäß der Bootstrap 4 Migrations-Anleitung durchzuführen sind. Das ist mit etwas Aufwand verbunden, aber im Sinne einer langfristigen Anwendungspflege notwendig. Als hilfreiche Werzeuge haben sich auch das Bootply Migration Tool und Bootstrap Build erwiesen.

Die Bootstrap-Klassen zur Validierung existieren in der alten Form nicht mehr. Daher wurden MyCoRe-eigene Klassen definiert und verwendet (betrifft ACL-Editor, Login & xEditor). Damit die Darstellung wie gewohnt aussieht, muss das CSS in der Anwendung wie folgt erweitert werden:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* bootstrap 4 fix
 * this is a workaround for server side validation
 */
.mcr-invalid {
  label {
    color: red;
  }
  input,
  select {
    border: 1px solid red;
    padding-right: calc((1em + .75rem) * 3 / 4 + 1.75rem);
  }
}
.mcr-valid {
  label {
    color: green;
  }
  input,
  select {
    border: 1px solid green;
  }
}