Migrationsanleitung von 2.1 auf 2013.06

Trotz der vielen Neuerungen ist die Migration von der Version 2.1 auf die Version 2013.06 deutlich überschaubarer und leichter zu realisieren als frühere Migrationen. Die in Version 2.1 hinzugekommene Verwendung von Maven macht dies unter anderem möglich!
Hinweis
Die Migrationsanleitung geht von MyCoRe 2.1 oder höher als Ausgangsbasis aus.

Allgemeine Schritte zur Anwendungsmigration

Der wichtigste Schritt um das neue Release in der eigenen Anwendung zu nutzen, ist die Anpassung der Konfigurationsdateien: pom.xml und mycore.properties.private. Daneben sind viele kleinere Anpassungen notwendig, die im Folgenden beschrieben werden.

Umstellung auf das neue Nutzersystem

Die Migrations-Komponente darf dafür nicht ausgenommen werden! Zur Umstellung muss diese Komponente in den mycore.properties.private aus dem Exclude herausgenommen werden.

#exclude these mycore components
#MCR.Components.Exclude=migration21-22
Danach steht ein entsprechendes Migrationskommando in der MyCoRe-Kommandozeile (CLI) zur Verfügung. Mehr erfahren Sie mit Hilfe des Aufrufs:
help migrate

Anpassung der Suchmasken

MCRSearchServlet?mode=load ist ein interner HTTP Request, d.h. hier ruft sich die Webanwendung aus Java-Code heraus selbst via HTTP auf. Das ist an sich noch nie eine gute Idee gewesen.

Ursprünglich wurde die MCRSession geschlossen und der Benutzer war abgemeldet, d.h. ein Benutzer der "Suche verfeinern" anklickt, verliert seine Daten. Die Verwendung eines URIResolvers behebt dieses unerwünschte Verhalten.

Migration: z. B. via sed per Skript alle Vorkommen von

request:servlets/MCRSearchServlet?mode=load&id=
durch
searchInput:
in *.xml ersetzen

Klassifikationen reparieren

Kategorie-IDs (categID) mit ":" sind nicht mehr erlaubt, da der Doppelpunkt als Trenner zwischen classID und categID verwendet wird. Alle Doppelpunkte müssen daher ersetzt werden. Das CLI-Kommando

fix colone in categID
ersetzt den ":" entsprechend durch ein "-".

Klassifikationsbrowser

Dem Klassifikationsbrowser muss für das Layout der Name des verwendeten Templates als Parameter mitgegeben werden. In den entsprechenden content-Dateien, in denen das <classificationbrowser />-Tag genutzt wird, ist dies entsprechend zu ergänzen:

<classificationbrowser ... addParameter="XSL.template=template_clausthal" />
Welche Parameter der Klassifikationsbrowser noch bietet, können Sie in der Dokumentation nachlesen.

Klassifikationseditor

Es steht ein neuer Klassifikationseditor zur Verfügung. In der eigenen Anwendung muss der Link zum Klassifikationseditor dafür angepasst werden (meist in der navigation.xml):

/modules/classeditor/classificationEditor.xml
Details zum neuen Editor finden Sie in der Dokumentation.

Verwendung von objectTypes.xsl

Die Stylesheets für die Darstellung der MyCoRe-Objekttypen werden nicht mehr über objectTypes.xsl eingebunden. Statt dessen wird der xslInclude-URIResolver benutzt. Falls Sie in Ihrer Anwendung mycoreobject.xsl und results.xsl oder andere Dateien überschreiben, müssen Sie dort das xsl:include ändern (siehe auch SVN). Statt

<xsl:include href="objecttypes.xsl" />
muss es nun heissen:
<xsl:include href="xslInclude:objectTypes" />

Falls Sie das "addObjectType"-Target von docportal in eigenen build.xml-Dateien verwenden, dann müssen Sie dieses jetzt in der config-Phase aufrufen und nicht mehr in der webapp-Phase.

Layoutanpassungen

Optionale Erweiterungen

Mit dem Release sind auch viele neue Funktionen hinzugekommen. Wie diese in die eigene Anwendung integriert werden können soll in diesem Abschnitt kurz erläutert werden. Mehr Details erfahren Sie in der Dokumentation oder auf der Mailing-Liste.

Warenkorb

siehe Dokumentation

Druckfunktion im Bildbetrachter aktivieren

Editor-Validierung

Info-Stylesheet

siehe Dokumentation

Umstellung auf SOLR

Um statt Lucene die neue SOLR-Implementierung für die Suche zu verwenden, muss die eigene Anwendung entsprechend konfiguriert werden. Die Anzeige der Klassifikationen und die Trefferliste basieren auf der jeweiligen Rückgabe aus dem Index, weswegen hierfür neue Stylesheets erstellt bzw. bestehende angepasst werden müssen.

Bevor auf SOLR umgestiegen werden soll, ist es ratsam die entsprechende Dokumentation im Wiki zu lesen. Für die eigene Anwendung ‚myapp‘ (bzw. das eigene Anwendungsmodul) sind die folgenden Dateien anzupassen bzw. neu zu erstellen:

  • build.xml -> config angepasst
  • config/mycore.properties
  • config/solr-home
  • xsl/classificationBrowserData-myapp.xsl
  • xsl/myapp-solr.xsl
  • xsl/response-myapp.xsl
  • xsl/solr-response.xsl
  • content/classification.xsl

Weitere Neuerungen

Abschliessend folgt ein Überblick über Neuerungen, die ohne weitere Anpassungen genutzt werden können.

Neue CLI-Befehle

Es gibt einen neuen CLI-Befehl

"generate md5sum files indirectory {0}"

Mit diesem Befehl kann man Dateien erzeugen, die zu dem "md5sum"-Programm kompatibel sind. Pro Content-Store-ID, wird eine Datei in dem Verzeichnis angelegt in dem alle Dateien des Content-Stores alphabetisch sortiert mit MD5 Summer hinterlegt sind.

Diese MD5-Datei kann man mit

"md5sum -c <Datei.md5>"
zum Überprüfen aller Dateien benutzen, um so Änderungen oder fehlende Dateien feststellen zu können.

Mit einer sortierten Liste (z.B. per find) der Dateien im Content-Store, kann man mit einem Script zusätzlich noch leicht herausfinden, welche Dateien in der Datenbank nicht vermerkt sind, aber noch Platz wegnehmen.

Weitere Workflowkomponente

Es steht nun neben dem SimpleWorkflow eine weitere Workflowkomponente zur Verfügung ...