In der Konfigurationsdatei goobi_metadataDisplayRules.xml
wird festgelegt, wie die Metadaten innerhalb des Metadateneditors von Goobi angezeigt werden sollen. Sie befindet sich üblicherweise an folgendem Pfad im Dateisystem.
In dieser Konfigurationsdatei wird beschrieben, wie einzelne Metadatenfelder dargestellt werden sollen. So kann unter anderem festgelegt werden, das Felder beispielsweise als Eingabefelder, Auswahllisten, Read-Only-Felder etc. angezeigt werden und entsprechend unterschiedlich durch den Nutzer bearbeitet werden können. Beispielhaft hier einmal eine solche Konfigurationsdatei:
In dieser Konfigurationsdatei kann innerhalb des Attributs projectName
festgelegt werden, für welche Projekte diese individuell konfigurierte Anzeige gelten soll.
Die mit ref
angegebenen IDs verweisen auf die Metadaten-Namen, die in der Datenbank zu dem entsprechenden Projekt (bzw. Vorgang) existieren.
Die meisten Elemente haben ein Unterelement label
. Dieses kann einen Text beinhalten, der das Input-Feld beschreibt. Üblicherweise ist das der Name des entsprechenden Metadatums, er kann jedoch zur besseren Lesbarkeit auch davon abweichen.
Darüber hinaus kann aus einer Liste verschiedener Feldtypen ausgewählt werden:
Der Typ input
wird als normales einzeiliges Eingabefeld dargestellt.
Der Typ textarea
ist ähnlich zur Input Box. Eine Text-Area ist jedoch mehrzeilig und erlaubt eine Anpassung der Anzeigegröße des Feldes.
Der Typ readonly
ist ähnlich zur Input Box, allerdings erlaubt dieses keine Änderung des Feldinhalts.
Die Select Box select1
erlaubt die Auswahl eines Wertes aus einer Liste von Werten. Hierbei wird zwischen dem angezeigten Wert (label
) und dem tatsächlich intern zu speichernden Wert (value
) unterschieden. Mit dem selected
Parameter kann ein <item>
Element vorausgewählt werden.
Die Multi Select Box select
erlaubt die Auswahl mehrerer Werte, die alle innerhalb des Metadatenfeldes gespeichert werden sollen. Auch hier wird zwischen dem anzeigten Wert (label
) und dem intern gespeicherten Wert (value
) unterschieden. Mit dem selected
Parameter können mehrere <item>
Elemente vorausgewählt werden.
Der Feldtyp htmlInput
erlaubt die Eingabe von Texten mit optischen Formatierungsmöglichkeiten. So lässt sich beispielsweise Text fett oder kursiv auszeichnen und wird samt den Formatierungen in der METS-Datei gespeichert.
Der Typ geonames
erlaubt die Suche und Auswahl von Orten innerhalb der GeoNames-Datenbank.
Der Feldtyp gnd
erlaubt die Suche und Datenübernahme von Einträgen aus der Gemeinsamen Normdatenbank der Deutschen Nationalbibliothek.
Der Feldtyp dante
erlaubt die Nutzung des Dante-Vokabularservers des GBV. Hierbei können sämtliche zur Verfügung gestellten Vokabulare konfiguriert werden. Eine vollständige Liste der zur Verfügung stehenden Vokabulare findet sich unter der folgenden Adresse innerhalb des notation
Elements:
Der Feldtyp viaf
erlaubt die Datenübernahme aus der VIAF-Datenbank über alle integrierten Normdatenbanken verschiedener Nationalbibliotheken hinweg.
Beispiel für Personen
Beispiel für Orte:
Der Feldtyp vocabularyList
erlaubt die Datenübernahme aus einem konkreten Vokabular des Vokabularmanagers von Goobi workflow. Innerhalb von source
ist hierbei das zu verwendende Vokabular genannt.
Sollen nicht alle Werte des Vokabulars aufgeführt werden, so kann mittels field
eine Einschränkung für eines oder mehrere Felder definiert werden, die einen bestimmten Wert enthalten sollen:
Soll der Inhalt eines Vokabulars aus dem Goobi Vokabularmanager über eine Suchbox möglich sein, wird der Typ vocabularySearch
verwendet. Hierbei kann mittels field
definiert werden, welche Felder der Datensätze angezeigt werden sollen.
Mit dem Typ person
kann eine Person ausgewählt werden. Die Person kann mit den Elementen source>
und <field>
näher spezifiziert werden.
Mit dem Typ corporate
kann ein Unternehmen ausgewählt werden. Das Unternehmen kann mit den Elementen source>
und <field>
näher spezifiziert werden.
Mit dem Typ process
kann ein Vorgang ausgewählt werden. Der Vorgang kann mit den Elementen source>
und <field>
näher spezifiziert werden.
Der Typ kulturnav
erlaubt die Datenübernahme aus der Kulturnav-Datenbank über alle integrierten Normdatenbanken verschiedener Nationalbibliotheken hinweg. Mit der Referenz person
und dem <source>
Element können zum Beispiel Personendaten abgefragt werden.
Mit dem Typ easydb
kann eine easydb Datenbank für das Importieren von Informationen angegeben werden.
Das Element easydb
definiert den gewünschten Metadatentyp, im Attribut ref
wird der Name des Metadatums konfiguriert, auf den der Eintrag zutreffen soll. Das Element source
enthält die ID der easydb Instanz, in der die Suche erfolgen soll. Der Wert muss einer instance ID aus der Datei plugin_metadata_easydb.xml
entsprechen. In field
steht die ID der zu nutzenden Suche. Die Zuordnung erfolgt über das Element ID im search
Bereich der Datei in plugin_metadata_easydb.xml
. Damit kann für jedes Metadatum eine individuelle Suchanfrage in einer eigenen easydb Instanz konfiguriert werden. Die einzelnen Suchanfragen lassen sich jedoch auch nachnutzen und können bei mehreren Metadaten in field
eingetragen werden.
Mit dem Typ generate
kann eine Regel zur Generierung des Feldes definiert werden. Dabei kann auf den Inhalt anderer Metadaten oder Goobi-Variablen zurückgegriffen werden. Im Attribut ref
wird der Name des Metadatums konfiguriert, auf den der Eintrag zutreffen soll. Wenn die Regel nur für bestimmte Datensätze gelten soll, kann optional in <condition>
ein XPath Ausdruck angegeben werden, der erfüllt werden muss. Im Gegensatz zu den anderen Elementen ist dieses Feld wiederholbar und erlaubt daher Konfigurationen für ein Feld mit unterschiedlichen Bedingungen. Wenn die Generierung ausgeführt wird, werden alle Einträge von oben nach unten abgearbeitet und der erste Eintrag genutzt, bei dem die Bedinung erfüllt ist oder bei dem keine Bedinung festgelegt wurde.
Das Element <value>
enthält den zu bildenden Text. Dabei können beliebige Platzhalter in Form von [NAME]
verwendet werden.
Die einzelnen Parameter werden dann innerhalb der <item>
Elemente definiert. Jedes Element enthält ein <label>
mit dem Namen des zu ersetzenden Platzhalters und einen <type>
. Der kann entweder xpath
oder variable
sein. Bei xpath
wird der zu suchende Wert mittels XPAth Ausdruck innerhalb des aktuellen Strukturelements gesucht, bei variable
kann auf die Daten des VariablenReplacers des aktuellen Vorgangs zurückgegriffen werden. Mittels <regularExpression>
und <replacement>
lässt sich der ermittelte Wert noch manipulieren. Wenn ein Wert gefunden wurde, wird der Platzhalter im Text ersetzt.