Listet die einzelnen Schritte zur Migration von MIR LTS 2022.06 nach 2023.06 auf.
Hier sind weitere Schritte zur MIR-Migration gelistet, die neben der Migrationsanleitung fĂĽr MyCoRe noch relevant sind.
mods:originInfo/mods:publisher-Elementen nach Crossref-Import
Während des Crossref-Imports wird das Stylesheet crossref2mods.xsl verwendet,
um Crossref-Metadaten in MODS zu transformieren.
Problematisch sind Publisher-Information (mods:originInfo/mods:publisher).
Hier fehlt das eventType-Attribut.
Dadurch ist das resultierende MODS nicht kompatibel mit dem Editor und kann nicht bearbeitet werden.
Alle Elemente, die ĂĽber Crossref importiert wurden sollten daher jedenfalls mit dem Stylesheet
mycoreobject-migrate-origininfo.xsl migriert werden.
Allgemein bietet sich hierfĂĽr der select-Befehl fĂĽr alle fehlerhaften Objekte an:
select objects with xpath /mycoreobject//mods:originInfo[not(@eventType)]
list selectedeventType-Attribut besitzen, durch nachträgliche
Anpassungen, sollten anschließend händisch entfernt werden. Migriert kann allgemein darauf basierend mit:
execute for selected xslt {x} with file mycoreobject-migrate-origininfo.xslDieses Problem wurde nachträglich entdeckt und betrifft auch die Versionen 2024 und 2025.
mods:displayForm bei Konferenzen
Im Editor gab es fĂĽr Konferenzen (mods:name[@type='conference']) ein Preprocessing fĂĽr das
mods:displayForm-Element.
War kein mods:displayForm-Element gesetzt, wurde es automatisch aus dem mods:namePart
abgeleitet.
Existierte bereits ein mods:displayForm-Element, wurde kein neues erzeugt oder ĂĽberschrieben.
Dieses Verhalten führte dazu, dass spätere Updates am mods:namePart keine Auswirkung mehr auf das
mods:displayForm-Element hatten und die Ausgabe dadurch inkonsistent war.
Das Preprocessing wurde mit MIR-1522 entfernt.
Das mods:displayForm-Element soll für Konferenzen künftig grundsätzlich nicht mehr verwendet werden.
Aus diesem Grund mĂĽssen alle bestehenden mods:displayForm-Elemente fĂĽr Konferenzen entfernt werden.
HierfĂĽr steht das Stylesheet mycoreobject-migrate-name-displayform zur Migration zur VerfĂĽgung.
Generell bietet sich der select-Befehl an fĂĽr die Bestimmung aller fehlerhaften Objekte
und eine anschlieĂźende Migration:
select objects with xpath /mycoreobject//mods:name[@type='conference']/mods:displayForm
execute for selected xslt {x} with file mycoreobject-migrate-name-displayform.xslDieses Problem wurde nachträglich entdeckt und betrifft auch die Versionen 2024 und 2025.
xslt/
Mit MCR-2966 wurden die XSLT3-fähigen
("Saxon ready") Stylesheets aus dem Verzeichnis xsl/ nach xslt/ verschoben.
Für die meisten Stylesheets ist das unkritisch, da die zugehörigen Properties in der
MIR-mycore.properties mitgepflegt wurden und beim Update automatisch ĂĽbernommen werden.
Problematisch ist das Stylesheet fĂĽr den DeepGreen-JATS-Import
(sword/jats2mods.xsl). Die zugehörige Property ist in der
MIR-mycore.properties nur auskommentiert enthalten:
# MCR.ContentTransformer.deepgreenjats2mods.Stylesheet=xslt/sword/jats2mods.xslmycore.properties
kopiert und aktiviert haben, verweisen weiterhin auf den alten Pfad xsl/sword/jats2mods.xsl
und werden durch das Update nicht automatisch angepasst.
Betroffene Anwendungen (mit aktiviertem DeepGreen-/SWORD-Import) mĂĽssen den Pfad in ihrer eigenen
mycore.properties daher manuell anpassen:
MCR.ContentTransformer.deepgreenjats2mods.Stylesheet=xslt/sword/jats2mods.xsl
Mit MIR-1613 wurde behoben, dass die
Dateien von Objekten im Zustand blocked (gesperrt) oder deleted (gelöscht)
ĂĽber das MCRFileNodeServlet auch an nicht angemeldete bzw. unprivilegierte Nutzer
ausgeliefert wurden – selbst dann, wenn auf der Metadatenseite die Hinweise
„Das Dokument ist gesperrt!“ bzw. „Das Dokument wurde gelöscht!“ angezeigt wurden.
Die Zugriffsstrategie berĂĽcksichtigte bislang nur die Klassifikation mir_access, nicht
aber den Objektzustand.
Die zugehörige Property-Anpassung wird durch das Update automatisch übernommen, sofern sie nicht in
der eigenen mycore.properties ĂĽberschrieben wurde. Anwendungen, die diese Property
selbst gesetzt haben, müssen den Zustand state ergänzen:
MIR.Access.Strategy.Classifications=state,mir_accessstate muss vor mir_access stehen, damit der
Objektzustand Vorrang hat und ein mir_access-Wert wie unlimited den Zugriff auf
gesperrte/gelöschte Inhalte nicht doch erlaubt.
Die neuen Zugriffsrechte liegen pro Installation in der Datenbank und werden durch das Update nicht automatisch angelegt. Sie müssen daher in bestehenden Installationen manuell ergänzt werden. Am einfachsten geschieht dies über die Oberfläche der Rechteverwaltung (ACL-Editor) im Administrationsbereich. Dort sind folgende Zugriffsdefinitionen anzulegen:
derivate:state:blocked – Berechtigungen read und view,
Regel grant-editors („administrators and editors“)derivate:state:deleted – Berechtigungen read und view,
Regel grant-editors („administrators and editors“)derivate:mir_access:unlimited – zusätzlich die Berechtigung view,
Regel grant-all („always allowed“)
Alternativ können die Rechte über die Kommandozeile mit dem Werkzeug mir-cli gesetzt
werden. Der Platzhalter {mir-cli} in den folgenden Kommandos ist dabei durch das
Installationsverzeichnis von mir-cli zu ersetzen (das Verzeichnis, in dem die
Regeldateien unter config/acl/ liegen):
update permission view for id derivate:mir_access:unlimited with rulefile {mir-cli}/config/acl/grant-all.xml described by always allowed
update permission read for id derivate:state:blocked with rulefile {mir-cli}/config/acl/grant-editors.xml described by administrators and editors
update permission view for id derivate:state:blocked with rulefile {mir-cli}/config/acl/grant-editors.xml described by administrators and editors
update permission read for id derivate:state:deleted with rulefile {mir-cli}/config/acl/grant-editors.xml described by administrators and editors
update permission view for id derivate:state:deleted with rulefile {mir-cli}/config/acl/grant-editors.xml described by administrators and editorsDieses Problem betrifft alle bestehenden Installationen und damit auch die Versionen 2024 und 2025.