In der Konfigurationsdatei goobi_opac.xml
wird die Kommunikation von Goobi workflow mit externen Datenquellen festgelegt. Dies betrifft zumeist Systeme wie Bibliothekskataloge. Die Datei befindet sich üblicherweise an folgendem Speicherpfad:
Beispielhaft sieht diese Konfigurationsdatei wie folgt aus:
In dem Element <doctypes>
können mehrere Publikationstypen definiert werden. Jeder Typ steht in einem eigenen <type>
-Element und hat einige Eigenschaften, die über Parameter und Unterelemente angegeben werden.
Alle wichtigen Eigenschaften eines Publikationstyps werden als Parameter im <type>
-Element angegeben. Folgende Parameter können verwendet werden:
Die im title
-Parameter angegebene Bezeichnung eines Publikationstyps wird softwareintern verwendet und ist daher für Anwender nicht immer gut lesbar und wird nicht automatisch übersetzt. Daher kann der Name des Publikationstyps mit dem <label>
-Element in verschiedene Sprachen übersetzt werden. Mit dem language
-Parameter wird das Sprach-Kürzel angegeben. Je nach Konfiguration werden üblicherweise folgende Sprachen unterstützt:
Es kann vorkommen, dass ein Publikationstyp mit einer Suchfunktion oder mit externen Datenformaten über bestimmte Bezeichnungen oder Kürzel gefunden werden können soll, die nicht aus dem Titel ableitbar sind. Dazu können für jeden Typen mit dem Unterelement <mapping>id42</mapping>
weitere Bezeichnungen angegeben werden. Wird dann zum Beispiel nach der ID id42
gesucht, so wird der entsprechende Publikationstyp gefunden.
Goobi kann Metadaten aus verschiedenen Katalogen verwenden. Diese werden mit dem <catalogue>
Element direkt im <opacCatalogues>
Element eingetragen. Für jedes Katalog-Element wird mit dem title
Parameter der offizielle Name des jeweiligen Katalogs angegeben.
Einige weitere Eigenschaften eines Katalogs werden im Unterelement <config>
als Parameter angegeben. Folgende Parameter können verwendet werden:
Metadaten werden in Katalogen mithilfe bestimmter Nummern identifiziert (zum Beispiel ISBN oder ISSN). Sollen in Goobi Metadaten anhand einer vorgegebenen Nummer aus dem jeweiligen Katalog importiert werden, können mit dem ` Element verschiedene Nummernsysteme aufgelistet werden. Ein Anwender kann dann im folgenden Beispiel eine ISBN-Nummer eingeben und dazu passend das ISBN-Feld auswählen:
Dabei stellt jedes <searchField>
Element eine Option in dem zugehörgigen Dropdown-Menü dar. Der in label
angegebene Text wird auf der Nutzeroberfläche dargestellt. Der in value
definierte Wert ist die interne ID des Nummernsystems. Je nach Katalog kann auch eine textbasierte ID verwendet werden. Das kann zum Beispiel so aussehen:
Detailierte Informationen über unterstützte Nummernsysteme können von der jeweiligen Katalog-API abgefragt werden. Dies ist eine XML-Datei, die direkt im Browser aufgerufen werden kann. Die Domain muss entsprechend dem verwendeten Anbieter angepasst werden.
Wie oben beschrieben, können Publikationstypen mit alternativen Bezeichnungen gefunden werden. Zusätzlich ist es in <catalogue>
Elementen möglich, mit dem <specialmapping>
Element katalogspezifische Bezeichnungen (und damit auch Kataloge) zu Publikationstypen zu verknüpfen. Damit können über die alternativen Bezeichnungen eines Katalogs passende Publikationstypen definiert und gefunden werden.
Dabei verweist der type
-Parameter des <specialmapping>
-Elements auf den title
des zuvor definierten Publikationstypen. Das <specialmapping>
Element beinhaltet eine alternative Bezeichnung. Folgendes Beispiel würde für einen K10Plus-Katalog den Suchbegriff k10plus_periodical
mit dem Publikationstyp periodical
verknüpfen:
Werden Datensätze aus Katalogen abgefragt, so werden diese unter anderem über MARC-Dateien in Goobi importiert. Datensätze aus diesen Dateien können durch bestimmte Ersetzungsmuster angepasst werden. Dazu wird das <beautify>
Element als direktes Unterelement des entsprechenden <catalogue>
Elements verwendet und kann beliebig viele <setvalue>
Befehle enthalten.
Da die Bearbeitung der MARC-Daten mit diesen Befehlen sehr komplex werden kann, werden hier auf Basis des folgenden MARC-Daten-Ausschnitts nur ein paar einfache Beispiele beschrieben.
Mit dem folgendem Befehl können bestimmte Werte ersetzt werden. Stellt sich zum Beispiel heraus, dass manche Datensätze vom Typ book
eine ungültige Jahreszahl (year
) haben, können falsche Daten korrigiert werden. Der setvalue
-Befehl bestimmt, dass in jedem mit der inneren <condition>
angesprochenen datafield
mit Tag book
das subfield
mit dem Parameter code="year"
den Wert 1900
bekommen soll. Die <condition>
besagt, dass alle datafield
Elemente berücksichtigt werden sollen, die das Tag book
haben und bei denen ein Unterelement mit code="year"
und dem Wert 190
vorhanden ist.
Daten können mit dem <setvalue>
-Befehl gefiltert werden. Möchte man zum Beispiel die other_id
Elemente entfernen, kann deren Wert mit einer leeren Zeichenkette überschrieben werden.
Hinweis: Ein Sternchen (*) ist ein Platzhalter für ein beliebigen Wert. Reguläre Ausdrücke werden nicht unterstützt.
Datensätze können auch um neue Eigenschaften ergänzt werden. Dies funktioniert allerdings nur bedingt, weil nur auf die Daten aus der MARC-Datei und aus dem <setvalue>
Befehl zurückgeriffen werden kann. So ist es zum Beispiel möglich, Datensätze mit bestimmten Inhalten neue Tags zu vergeben:
Hinweis: Bitte beachten Sie, dass Goobi ursprünglich auf die Kommunikation mit PICA-Katalogen ausgerichtet war. Mittlerweile werden auch viele weitere verschiedene Katalogsysteme unterstützt. Diese bedingen jedoch oftmals eine sehr individuelle Konfiguration z.B. für die Kommunikation über das Protokoll Z39.50 oder unter Nutzung von SRU.
Attribut | Mögliche Werte | Bedeutung |
---|---|---|
Attribut | Mögliche Werte | Bedeutung |
---|---|---|
title
Text
Dieses Feld gibt den Titel des Publikationstypen an. Der Titel ist ein technisch einfach nutzbarer Name, der mit dem <label>
-Unterelement übersetzt werden kann.
isContainedWork
true
, false
Dieser Wert kann auf true
gesetzt werden, wenn es sich bei diesem Publikationstyp um einen Teil eines anderen Publikationstyps handelt. Dies kann beispielsweise verwendet werden, wenn in einem Buch herausnehmbare Landkarten enthalten sind und dieser Publikationstyp die beliliegenen Landkarten darstellt. Hinweis: Dieser Parameter ist weitgehend veraltet und sollte nicht mehr verwendet werden.
isMultiVolume
true
, false
Dieser Wert kann auf true
gesetzt werden, wenn es sich bei dem Publikationstyp um eine mehrbändige Ausgabe handelt, zum Beispiel ein einzelner Band eines Lexikons.
isPeriodical
true
, false
Dieser Wert kann auf true
gesetzt werden, wenn es sich bei dem Publikationstyp um eine regelmäßige Ausgabe, zum Beispiel eine Zeitung, handelt.
rulesetType
Name aus ruleset.xml
Mit diesem Feld kann ein Regelsatz angegeben werden, der mit diesem Publikationstyp verknüpft werden soll.
rulesetChildType
Name aus ruleset.xml
Mit diesem Feld kann ein Regelsatz-Unterelement angegeben werden, das mit diesem Publikationstyp verknüpft werden soll.
tifHeaderType
Text
Mit diesem Feld kann eine Bezeichnung angegeben werden, die beim Export zu Tiff-Dateien in den Dateiheader geschrieben werden soll.
opacType
OPAC-Typ
Mit diesem Parameter kann der OPAC-Typ der vom Katalog verwendeten Datenbank angegeben werden. Dies kann zum Beispiel PICA
, ALMA-MARC
oder GBV-MARC
sein.
description
Text
Hier kann eine Beschreibung des Katalogs angegeben werden.
protocol
Protokoll
Dieser Parameter wird üblicherweise auf http://
oder https://
gesetzt, sofern das Protokoll nicht bereits im address
Parameter enthalten ist.
address
URL
Dieser Parameter gibt den Domain-Namen oder die IP-Adresse der API des Katalog-Services an. Wird hier das Netzwerkprotokoll angegeben, so muss der protocol
Parameter leer bleiben.
port
Portnummer
Mit der Portnummer kann ein besonderer Netzwerkport der API des Katalog-Services angegeben werden. Üblicherweise ist dies der Standard-HTTP-Port 80
.
database
Zahl
Mit diesem Parameter kann die Datenbank-Version angegeben werden, die bei API-Anfragen verwendet werden soll.
charset
Zeichensatz
Mit diesem Parameter kann ein Zeichensatz angegeben werden, mit dem die Datenbank die Datensätze zurückgeben soll.
iktlist
Dateipfad
Dieser Parameter wird nur verwendet, wenn der Katalog eine PICA-Datenbank verwendet. Der Dateiname muss auf eine IKTLIST-Datei verweisen, die Informationen über Mediennummernsysteme bereitstellt.
ucnf
Text
Dieser Parameter wird verwendet, um UCNF-Informationen in die URL der API-Anfrage einzufügen.