EAD Datenübernahme
OPAC Plugin für die Datenübernahme von EAD Datensätzen am Beispiel des Universitätsarchives der HU Berlin
Übersicht
Einführung
Die vorliegende Dokumentation beschreibt die Installation, die Konfiguration und den Einsatz einer XML-basierten Datenbank, um damit EAD Dateien zu verwalten und in Goobi zu integrieren.
Installation und Konfiguration
Vorbereitung des EAD-Speichers
Als technische Lösung für die Datenübernahme von EAD-Dateien wurde das Konzept eines EAD-Speichers gewählt. Dabei handelt es sich um eine XML-Datenbank, die wiederholt mit mehreren aktualisierten EAD-Dateien beliefert werden kann und anschließend ähnlich zu einem abfragbaren Katalog als Datenquelle dient, die sowohl von Goobi workflow als auch vom Goobi viewer abgefragt werden kann, um neben Detailinformationen eines Datensatzes ebenfalls Informationen über die Tektonik abfragen zu können.
Durch die Zwischenschaltung dieses EAD-Speichers ist sichergestellt, dass auch die EAD-Dateien jederzeit aktualisiert werden können und die einzelnen Datensätze daraus stets mit aktuellem Kontext angezeigt werden, auch wenn dieser sich seit der ersten Datenübernahme zwischenzeitlich geändert haben sollte.
Installation der XML-Datenbank BaseX
BaseX ist eine XML-Datenbank, in der die EAD Dateien verwaltet, analysiert und abgefragt werden können. Voraussetzung für die Installation von BaseX ist Java 1.8.
Zunächst muss der Download der Datenbank erfolgen:
Für die Installation von BaseX auf einem Linux System muss zunächst die zip Datei herunterladen und auf dem Server installiert werden. Dies könnte beispielsweise in diesem Pfad erfolgen:
Anschließend muss die Jetty-Konfiguration angepasst werden, so dass die Applikation nur auf localhost erreichbar ist. Dafür muss in der Konfigurationsdatei /opt/digiverso/basex/webapp/WEB-INF/jetty.xml
sichergestellt werden, dass der host
auf 127.0.0.1
steht:
Anschließend wird die Systemd Unit File an diesen Pfad installiert:
Diese hat folgenden Aufbau:
Anschließend muss der Daemon neu geladen, die Unit-File aktiviert und die Datenbank neu gestartet werden:
Damit das Admin-Interface auch von extern erreichbar ist, kann dieses im Apache
zum Beispiel mit dem folgenden Abschnitt konfiguriert werden:
Im Anschluß daran muss noch das Apache Modul proxy_http
aktiviert und der Apache neu gestartet werden, damit die Anpassungen wirksam werden:
Datenbank einrichten
Die XML Datenbank kann nach der Installation unter folgender URL erreicht werden:
http://localhost:8984/dba/login
Die Zugangsdaten lauten admin
/admin
. Nach dem ersten Anmelden sollte daher als erstes ein neues Passwort vergeben werden. Dazu muss der Menüeintrag Users
geöffnet werden. Hier kann der Accountname angeklickt und das neue Passwort gesetzt werden.
Anschließend kann eine neue Datenbank für die EAD Dateien erzeugt werden. Dazu muss der Menüeintrag Databases
ausgewählt werden. Mittels Create
gelangt man in den Dialog dazu. Hier muss einTitel für die Datenbank vergeben werden. Alle anderen Einstellungen können so bleiben.
Dateien hinzufügen und löschen
Nachdem die Datenbank erstellt wurde, können nun EAD-XML-Dokumente hinzugefügt werden. Dazu kann unter Databases
die erstellte Datenbank ausgewählt werden. Daraufhin öffnet sich ein Fenster, in dem die zur Datenbank gehörenden Dateien verwaltet werden können. Neue Dateien lassen sich über den Dialog Add
auswählen und hochladen. Hier kann im Feld Input
eine EAD-Datei ausgewählt werden. Mittels Add
wird die Datei hinzugefügt und die Übersichtsseite geladen. Hier können auch Dateien entfernt werden. Dazu müssen sie mittels Checkbox markiert und dann über Delete
gelöscht werden. Das Aktualisieren einer EAD-Datei ist nur über Löschen und erneutes Hinzufügen möglich.
Definition der Suchanfrage
Um das Interface zur Abfrage für Goobi einzurichten, muss der Datenbank bekannt gemacht werden, wie eine Anfrage aussieht, was damit geschehen soll und wie das Ergebnis auszusehen hat. Dafür bietet BaseX verschiedene Optionen an. Wir haben uns für RESTXQ entschieden, da diese im Gegensatz zur REST Schnittstelle keine Authentication benötigt.
Dazu muss im Verzeichnis /opt/digiverso/basex/webapp/
eine neue Datei eadRequest.xq
erzeugt werden.
Dieses xquery-Modul wird ausgeführt, wenn Anfragen via GET
an die Adresse /search/{$identifier}
gestellt werden. Wenn ein anderer endpoint
genutzt werden soll, kann dies im Bereich declare
angepasst werden. Sobald eine Anfrage gestellt wird, wird die Funktion page:getRecord
ausgeführt. In der ersten Zeile der Funktion muss der zu verwendende Datenbankname definiert werden. Für den Fall, dass die Informationen auf mehrere Datenbanken aufgeteilt wurden, müssen daher auch mehrere Dateien mit dieser Funktion verwendet werden. Dabei muss die Variable rest:path
eindeutig definiert werden.
Ob die Konfiguration korrekt ist, kann mit einer Anfrage an die Datenbank getestet werden: http://localhost:8984/search/A91x07542461156845020181205140345849
Änderungen an den Dateien oder den Datenbanken können jederzeit im laufenden Betrieb vorgenommen werden.
Goobi Anbindung
Nachdem die Datenbank eingerichtet wurde, kann sie in Goobi konfiguriert werden. Da sich die Metadaten deutlich von den bibliographischen Metadaten von Bibliotheken unterscheiden, sollte in Goobi ein eigenes Projekt und ein eigener Regelsatz genutzt werden. Zusätzlich muss das OPAC-Plugin goobi-plugin-opac-ead
installiert werden.
Konfiguration der Datei goobi_opac.xml
Die Datei goobi_opac.xml
muss um zwei weitere Einträge erweitert werden. Zum einen muss der zu verwendende Dokumententyp definiert werden. Dies passiert im Bereich <doctypes>
:
In diesem Beispiel wird der Typ Akte (SingleRecord
im Regelsatz) verwendet.
Außerdem muss die Datenquelle definiert werden:
Das Attribut title
enthält den Namen, unter dem die Datenquelle in Goobi auswählbar ist. Das Element <config>
enthält in address
die URL zur zuvor definierten REST-Schnittstelle und in database
den Namen der Datenbank.
Konfiguration des Plugins innerhalb von plugin_opac_ead.xml
Diese Datei ist im Ordner /opt/digiverso/goobi/config/
zu finden und enthält das Mapping der EAD-Elemente zu Goobi-Metadaten.
Im oberen Bereich werden die zur Verfügung stehenden Namespaces definiert, anschließend der zu erzeugende Strukturtyp. Hier kann mit Hilfe des Attributes isanchor="true/false"
definiert werden, ob ein mehrbändiges Objekt oder ein eigenständiges Objekt erzeugt werden soll. Im Anschluss erfolgt im Bereich <mapping>
das Mapping der Metadaten. Da in EAD die Unterscheidung zwischen Personen und anderen Metadaten nicht vorgesehen ist, können hier nur normale Metadaten angelegt werden. Jedes <metadata>
enthält in name
das Metadatum, so wie es im Regelsatz definiert wurde. In level
wird angegeben, an welcher Stelle das Metadatum erzeugt werden soll. Mögliche Werte sind physical
, topstruct
und anchor
.
In xpath
steht der XPath Ausdruck, der auf den Datensatz angewendet wird, um den Wert des Metadatums zu ermitteln. Das Attribut xpathType
beschreibt den Rückgabewert des XPath-Ausdrucks. Dieser kann entweder Element
, Attribut
oder String
sein.
Projektkonfiguration innerhalb der Datei goobi_projects.xml
Die Datei goobi_projects.xml
benötigt eine neue Definition für den Publikationstyp und die neuen Metadaten.
Nachdem diese Konfiguration abgeschlossen wurde, steht innerhalb von Goobi eine neue Datenquelle innerhalb der Anlegemaske für Vorgänge zur Verfügung. Diese kann nun mittels der Identifier in gleicher Weise abgefragt werden wie andere Datenquellen und Kataloge auch.
Last updated