Links

Dezember 2018

Entwicklungen und Neuerungen an Goobi workflow im Dezember 2018

Erweiterte Unterstützung von Normdaten über DANTE

Neben den bereits seit längerem nutzbaren Metadatenfeldern für Textareas, Selectmenüs, schreibgeschützten Feldern oder der Anbindung von GeoNames und der GND wurde der DANTE Normdatenservice des GBV angebunden. Dante stellt derzeit bereits ca. 90 verschiedene Vokabulare zur Verfügung, die alle mit dieser überarbeiteten Implementierung verwendet werden können.
Zur Nutzung der DANTE API muss die Datei goobi_metadataDisplayRules.xml um folgende Konfiguration erweitert werden:
goobi_metadataDisplayRules.xml
<!-- dante configuration for the metadata field DocLanguage-->
<dante ref="DocLanguage">
<!-- name of the vocabulary, a list of all vocabularies can be found here: http://api.dante.gbv.de/voc, the vocabulary name can be found inside of the element notation -->
<source>languages_gnd</source>
<!-- the list of fields to import the value from. The list is ordered and the first value that was found will be used for the display. Can be overwritten inside of the UI -->
<field>NORM_LABEL_de, NORM_LABEL_en, NORM_LABEL_fr, NORM_LABEL_es</field>
</dante>
Anschließend steht das jeweilig konfigurierte Feld im METS-Editor zur Verfügung. Mittels des Icons der Lupe wird das Suchformular geöffnet, so dass dort nach dem gewünschten Wert innerhalb des ausgewählten Normdatenvokabulars durchgeführt werden kann. Aus der angezeigten Suchtrefferliste kann der gewünschte Treffer anschliessend ausgewählt werden. Innerhalb des gewünschten Treffers kann der zu importierende Wert darüber hinaus aus einer Auswahlliste gewählt und durch einen Klick auf den grünen Button bestätigt werden.
Überarbietung der Dante-Suche innerhalb des METS-Editors

Korrektur der Ermittlung von Verzeichnisgrößen bei Nutzung von S3

Die Anbindung von Amazon S3 als Storagesystem für die Speicherung großer Datenmengen ist in den vergangengen Monaten bereits massiv fortgeschritten. Während dieser Arbeiten wurden immer auch weitere Verbesserungen und Fehlerkorrekturen notwendig. So ist neben einer Verringerung der Dateizugriffe unter anderem auch die Ermittlung von Verzeichnisgrößen überarbeitet worden, die bei der Benutzung von S3 nicht immer korrekte Ergebnisse geliefert hat.

Neues Plugin für den Import von Provinienzdaten aus dem GBV-Katalog

Wenn im GBV Katalog bereits Provinienzdaten erfasst wurden, lassen sich diese von nun an mit importieren. Da diese Metadaten jedoch nicht innerhalb des MARC Datensatzes enthalten sind, können sie beim initialen Import der Metadaten nicht mit übernommen werden. Der Import findet daher in einem zweiten Schritt statt. Hierzu wird über die EPN des A-Satzes nach dem zugehörigen Pica+ Datensatz gesucht. Anschließend wird geprüft, ob für das verwendete Exemplar Provenienzangaben vorliegen. Diese Prüfung findet über das Matching der EPN im Feld 092B$2 und des Bibliothekssigels innerhalb des Feldes 092B$1 statt.
Um das Plugin nutzen zu können, muss im Regelsatz eine Metadatengruppe Provenience existieren:
ruleset.xml
<MetadataType>
<Name>ProvenienceCode</Name>
<language name="de">Code</language>
<language name="en">ProvenienceCode</language>
</MetadataType>
<MetadataType normdata="true">
<Name>ProveniencePrevOwner</Name>
<language name="de">Besitzer</language>
<language name="en">ProveniencePrevOwner</language>
</MetadataType>
<MetadataType>
<Name>ProvenienceCharacteristic</Name>
<language name="de">Characteristik</language>
<language name="en">ProvenienceCharacteristic</language>
</MetadataType>
<MetadataType>
<Name>ProvenienceDate</Name>
<language name="de">Datum</language>
<language name="en">ProvenienceDate</language>
</MetadataType>
<MetadataType>
<Name>ProvenienceExplanation</Name>
<language name="de">Erläuterung</language>
<language name="en">ProvenienceExplanation</language>
</MetadataType>
<MetadataType>
<Name>ProvenienceGND</Name>
<language name="de">GND</language>
<language name="en">ProvenienceGND</language>
</MetadataType>
<Group>
<Name>Provenience</Name>
<language name="de">Provenienz</language>
<language name="en">Provenience</language>
<metadata>ProvenienceCode</metadata>
<metadata>ProveniencePrevOwner</metadata>
<metadata>ProvenienceCharacteristic</metadata>
<metadata>ProvenienceDate</metadata>
<metadata>ProvenienceExplanation</metadata>
<metadata>ProvenienceGND</metadata>
</Group>
Weitere Anpassungen sind nicht nötig. Das Plugin selbst ist Teil der Sammlung goobi-plugin-opac-marc.jar und kann über den Namen HaabProvenienceOpac angesprochen werden. Eine Freischaltung innerhalb der Konfigurationsdatei goobi_opac.xml ist nicht möglich, da das Plugin nur die Provenienz-Metadaten ausliefert und keine Strukturelemente erzeugt werden. Um es in den Workflow als Schritt nach dem initialen Import zu integrieren, wird außerdem das Schritteplugin intranda_step_provenience_request aus dem Repository goobi-plugin-step-catalogue-request benötigt.

Import von EAD Datensätzen direkt in Goobi

Goobi ist nun in der Lage, einzelne Datensätze aus EAD Findbüchern zu importieren. Dazu werden die in XML vorliegenden EAD-Datensätze periodisch in die XML Datenbank BaseX importiert. Diese Datenbank dient ab dem Moment als dynamisch aktualisierter EAD-Speicher und kann mit Hilfe eines speziellen OPAC-Plugins via der Abfragesprache RESTXQ anstelle eines typischen Bibliothekskatalog abgefragt werden.
Die Besonderheit gegenüber einem normalen XML-basierten Import ist hier, dass die Tektonik des Findbuches erhalten bleibt, da diese ebenfalls innerhalb der XML-Datenbank hinterlegt ist. Wird die Tektonik geändert und der bereits zuvor importierte Datensatz zu einer anderen Gliederung verschoben, so muss lediglich die EAD-Datei in aktualisierter Form in die XML-Datenbank eingelesen werden. Da hierbei die Identifier der Datensätze erhalten bleiben, kann eine Präsentationssoftware wie der Goobi viewer, die ebenfalls einen Zugriff auf diesen EAD-Speicher hat, den jeweils aktuellen Stand der Tektonik live abfragen.
Weitere detaillierte Informationen über die Implementierung samt einer Installationsanleitung finden sich hier:

Anzeige von Metadaten innerhalb von Aufgaben und in den Vorgangsdetails

Goobi workflow wurde dahingehend erweitert, dass nun innerhalb einzelner angenommener Aufgaben ebenso wie die Eigenschaften auch gezielt bestimmte Metadaten angezeigt werden können, die aus der METS-Datei stammen.
Die Anzeige dieser Metadaten integriert sich in den Bereich der bereits ebenfalls anzeig- und editierbaren Eigenschaften und kann für jede Aufgabe einzelner Workflows individuell konfiguriert werden. Eine solche Konfiguration sieht innerhalb der Datei goobi_processProperties.xml beispielhaft wie folgt aus:
goobi_processProperties.xml
<metadata name="CatalogIDDigital">
<project>*</project>
<showStep name="Print docket" />
</metadata>
<metadata name="DocLanguage">
<project>*</project>
<showStep name="Print docket" />
</metadata>
<metadata name="TitleDocMain">
<project>*</project>
<showStep name="Print docket" />
</metadata>
Die Anzeige der deskriptiven Metadaten ist außerdem ebenfalls innerhalb der Vorgangsdetails möglich. Dafür wurde eigens ein neuer Bereich unterhalb der Aufgaben geschaffen, der diese Metadaten auflistet.
Anzeige ausgewählter Metadaten innerhalb der Vorgangsdetails
Mit Hilfe dieser neuen Funktionalität und den kommenden Entwicklungen wird künftig die redundante Speicherung einiger Metadaten überflüssig. Informationen, die derzeit noch sowohl als Eigenschaft vorliegen als auch innerhalb der METS-Datei bestehen, können von nun an ausschließlich in der METS-Datei vorgehalten und von dort gelesen werden. Wichtig ist dabei, dass innerhalb der einzelnen Aufgaben des Workflows jeweils die Checkbox Metadatenindex beim Abschließen aktualisieren aktiviert wird, um das effizente Cachen der Daten aus der METS-Datei für die Anzeige zu gewährleisten.
Konfiguration für die Aktualisierung des Caches für Informationen aus der METS-Datei
Für eine vollständige Aktualisierung des Caches für die schnelle Anzeige dieser Metadaten innerhalb der Weboberfläche kann natürlich ebenfalls das vorhandene GoobiScript updateDatabaseCache für mehrere Vorgänge gleichzeitig aufgerufen werden.
Aktualisierung des Datenbank-Caches für mehrere Vorgänge mittels GoobiScript