[Kobv-opus-tester] Fragen zur Migration von OPUS 3 nach 4

Jens Schwidder schwidder at zib.de
Mi Apr 23 19:12:12 CEST 2025


Hallo,

ich hoffe es gibt irgendwo noch frische Erfahrungen zum Umstieg von OPUS 
3 nach 4. Ich befürchte in den Hosting Teams ist die letzte Migration 
schon eine ganze Weile her. Ich selbst bin erst mit OPUS 4 in die 
Entwicklung eingestiegen und kann daher zu OPUS 3 nichts weiter sagen.

On 23.04.25 14:26, Holger Trapp wrote:
> Liebe Kolleginnen und Kollegen,
> 
> die UB Chemnitz betreibt seit 2008 eine OPUS-basierte Universitätsbibliografie:
> 
>    https://www.bibliothek.tu-chemnitz.de/uni_biblio/
> 
> Wir hatten dazu 2007 von der SULB Saarbrücken einen Software-Stand von OPUS 3.0
> übernommen, der schon für den Einsatz als Bibliografie vorbereitet war. Diesen
> haben wir gegen Angriffe gehärtet und schrittweise an unsere Bedürfnisse
> angepasst (Änderungen am Datenbankschema und PHP-Code, so dass er aktuell unter
> PHP 8.2 lauffähig ist), wobei die Grundstruktur von OPUS 3.0 erhalten blieb und
> wir keine Updates auf höhere Versionen vornahmen.
> 
> Seit Ende März 2025 evaluieren wir das OPUS 4.8. Unser Ziel ist es, die
> Bibliografie auf eine neue technische Basis zu stellen und das neue System auch
> als Volltext-Repo nutzen zu können.
> 
> Damit stellt sich die Frage der Datenmigration von OPUS 3 nach 4. Hier wären
> wir an Erfahrungen und Tipps sowie ggf. an Tools anderer Häuser interessiert.
> 
> Gelesen hatten wir vom OPUS4-Projekt "migration" (https://github.com/OPUS4/migration).
> Wäre das nach wie vor die primäre Empfehlung? Wenn ja, welche PHP-Version wäre
> die höchste, die hier unterstützt wird? Ein Syntax-Check mit "php -l" unter PHP
> 8.2 ergab keine Probleme.

Das Projekt "migration" enthält Code, der aus der OPUS 4 Application 
ausgelagert wurde, als es keinen akuten Bedarf mehr dafür gab. Der Code 
wurde nicht weiter gepflegt und seit OPUS 4.4.5 hat sich viel verändert.

Die Dokumentation ist da leider auch nicht mehr hilfreich.
https://github.com/OPUS4/userdoc/blob/gh-pages/update/migration.md

Am Besten ist daher wahrscheinlich wirklich eine frische OPUS 4 Instanz 
und dann Skripte, die die Daten von der alten Datenbank in die neue 
übertragen. SWORD ist vielleicht auch eine Möglichkeit, aber vermutlich 
lassen sich darüber nicht alle Metadaten übertragen.

OPUS 4.8.* ist noch nicht PHP 8.2 kompatibel. Vieles funktioniert, aber 
leider nicht alles. OPUS 4.9, dass hoffentlich diesen Sommer endlich 
veröffentlicht werden kann, wird den PHP 7.1 Support fallen lassen und 
damit hoffentlich den Weg für PHP 8.2 ebnen.

Anschließend soll es auch mit dem Umstieg von Zend zu Laminas und 
Doctrine weiter gehen. Wenn Zend entfernt ist, können wir hoffentlich 
auch zügig kompatibel zu PHP 8.3+ werden. OPUS 4 hat leider noch ein 
paar sehr alte Abhängigkeiten.

> Die von uns hinzugefügten Datenbankfelder (z.B. die Kostenstellen der Autoren,
> um die Bibliografie auch für die Bewertung der Publikationstätigkeit der
> Uni-Angehörigen nutzen zu können) müssten wir in den Skripten ergänzen oder
> anderweitig migrieren, sofern wir sie weiter nutzen wollen und können.

Aktuell gibt es keine Möglichkeit Personen in OPUS 4 mit weiteren 
Informationen anzureichern. Ich gehe unten noch einmal weiter darauf ein.

> Bei OPUS 4 streben wir dabei nach Möglichkeit keine großen eigenen Anpassungen
> an, um Updates zu erleichtern. Dennoch die Frage: Hat jemand Erfahrungen mit
> der Migration eigener Felder?

Lokale Felder für Dokumente können als Enrichments abgebildet werden. 
Eigene Felder für andere Objekte werden bisher nicht unterstützt.

> 
> Eine andere Idee war noch, die Daten unserer Bibliografie mit einem eigenen
> Tool in SWORD zu exportieren und sie über diesen Weg nach OPUS 4 zu
> importieren. Liegen dazu Erfahrungen und ggf. Skripte vor?

Die SWORD Schnittstelle funktioniert auf jeden Fall. Es kann nur sein, 
dass das Import-Format nicht alle gewünschten Metadaten unterstützt. So 
etwas dann bitte als Issue auf GitHub melden.

Ich fände es gut, wenn unsere SWORD-Schnittstelle auch Standard-Formate 
unterstützen würde, aber das ist alles eine Frage der Kapazitäten für 
die Entwicklung.

> Existieren konkrete Erfahrungen mit zusätzlichen Personenmerkmalen wie
> Kostenstellen oder Institutsnamen? Wie lassen sich diese mit den vorhandenen
> OPUS-Mitteln sinnvoll abbilden?

Das hilft Ihnen erst einmal nicht, aber es wäre nützlich diese 
Anwendungsfälle als Issues auf GitHub festzuhalten.

Der Umstieg auf Laminas (im Prinzip Zend 4) und Doctrine soll OPUS 4 auf 
eine moderne technische Basis stellen, für die nächsten 15 Jahre 
Entwicklung. Dafür müssen sehr viele Altlasten bereinigt werden. Es ist 
eine sehr große Aufgabe. Was mit dem Umstieg auf Doctrine auch passieren 
soll, sind grundlegende Veränderungen im Datenmodell, unter anderem

- Trennung von "System" Enrichments und lokalen Metadaten-Feldern
- Beseitigung der Sonderbehandlung von Enrichments
- Erweiterbarkeit aller Datenobjekte

Enrichments sollen in Zukunft einfach lokal definierte Felder sein, im 
Gegensatz zu den Standard-Feldern. Es sind aber alles Felder, die 
ansonsten gleich behandelt werden. Es soll das Konzept von "Harten" und 
"Soften" Feldern geben. Die "hart" verdrahteten Felder werden direkt auf 
Spalten in der Datenbank abgebildet. Die "soften" Felder, wie die jetzt 
Enrichments, in allgemeinen Tabellen gespeichert. Mit diesen Änderungen 
soll die Erweiterbarkeit aller Objekte kommen. Zusätzliche lokale Felder 
für Personen sollen damit also auch möglich werden.

Das alles ist vom Umstieg auf Doctrine abhängig, weil es keinen Sinn 
macht die alte Codebasis jetzt noch weiter auszubauen. Über den Code für 
das Datenmodell und die Datenbankanbindung hinaus, müssen dafür 
natürlich auch die Formulare und viele andere Aspekte angepasst werden. 
Wie gesagt, ein großer Job.

Eine Zeitrahmen kann ich dafür nicht angeben, weil ich bei der Kern 
Entwicklung alleine unterwegs bin und es immer davon abhängt wie viel 
Ablenkung generiert wird. Ich kann nur eine Aufgabe nach der anderen 
angehen.

Ziele für dieses Jahr sind auf jeden Fall Fortschritte mit Doctrine 
(Laminas macht mir wenig Sorgen danach), ein neues Publish-Modul und 
Verbesserungen bei der Personenverwaltung, insbesondere auch als 
Schritte für eine umfassendere ORCiD Integration. Dafür müssen auch 
weitere Informationen für Personen gespeichert werden.

Vielleicht habe Sie mit Ihrer Instanz da schon Erfahrungen gesammelt, 
die für die weitere Planung hilfreich sind. Wir sollten da im Dialog 
bleiben.

> Gibt es für OPUS 4 eine Dokumentation der SQL-Tabellen analog zum Dokument
> opus-techdoku-3_0.pdf?

Ich glaube nicht. Ich würde einfach einfach eine Instanz aufsetzen und 
mir das Schema anschauen. Wenn es Fragen dazu gibt, können sicherlich 
auch die Hosting Teams, andere Betreiber und ich helfen.

> Viele Grüße aus Chemnitz
> Nils Trampel und Holger Trapp
> 

Aktuell muss erst einmal OPUS 4.9 fertig werden. Danach sind vielleicht 
Teilschritte möglich, um das Datenmodell zu erweitern, auch wenn noch 
nicht alles umgebaut wurde.

Viele Grüße aus Berlin
Jens Schwidder

> 
> --
> Kobv-opus-tester mailing list
> Kobv-opus-tester at zib.de
> https://listserv.zib.de/mailman/listinfo/kobv-opus-tester

-- 
==============================================================
Jens Schwidder
Kooperativer Bibliotheksverbund Berlin-Brandenburg (KOBV)
Zuse Institute Berlin (ZIB)
Takustr. 7, D-14195 Berlin
Telefon: (030) 841 85 - 308
  E-Mail: schwidder at zib.de
     WWW: http://www.kobv.de
==============================================================





Mehr Informationen über die Mailingliste Kobv-opus-tester