August
Entwicklungen und Neuigkeiten zu Goobi workflow
Zuletzt aktualisiert
Entwicklungen und Neuigkeiten zu Goobi workflow
Zuletzt aktualisiert
Endlich ist der neue Vokabularserver fertig und konnte schon in Betrieb gehen. Doch auch viele andere Bereiche von Goobi haben diesen Monat Neuerungen erhalten.
Goobi workflow verfügt bereits seit mehreren Jahren über eine Vokabularverwaltung. Diese war bisher in Goobi fest integriert und konnte somit an den verschiedenen Bereichen aus Goobi selbst verwendet werden, beispielweise innerhalb des Metadateneditors und in einigen Plugins. Der Vokabularserver verfügte in der Vergangenheit auch bereits über eine Api, um auch externe Applikationen damit kommunizieren zu lassen. Verwendung fand dies allerdings bisher nicht.
Neue Anforderungen stellten uns nun vor der Herausforderung, dass Funktionalitäten erforderlich wurden, die mehr als nur eine Anpassung der bestehenden Vokabularverwaltung erforderlich machten. Aus diesem Grund haben wir einen neuen Vokabularserver von Grund auf entwickelt, der äußerst flexibel ist, verschiedene Datensatztypen samt Validierung kennt und von vornherein mehrsprachig ausgelegt ist.
Er verfügt auch über einen Exportmechanismus im RDF-Format und ein Migrationstool, um die Daten aus der bisherigen Vokabularverwaltung in den neuen Vokabularserver umzuziehen. Und natürlich verfügt der neue Vokabularserver auch über eine sehr umfangreiche REST-API, die eine vollständige Kommunikation mit den Vokabularen ermöglicht. Über diese API kommuniziert nun auch Goobi workflow mit dem Vokabularserver.
Einer der Nebeneffekte dieser Umstellung ist, dass der Vokabularserver nun eigenständig und auf eigener Infrastruktur betrieben werden kann. Dies erlaubt, dass nun auch tatsächlich andere Applikationen aus verschiedenen Netzsegmenten damit arbeiten können, ohne dass Goobi workflow selbst öffentlich zugänglich werden muss.
Eine Anbindung des Goobi viewers an den Vokabularserver ist noch nicht erfolgt aber für das kommende Jahr geplant. Was außerdem noch offen ist, ist die Möglichkeit wie bisher aus der Nutzeroberfläche neue Vokabulare zu definieren. Vokabulare werden derzeit in dem Vokabularserver über REST-Aufrufe definiert. Auch hierzu wird es sicher bald eine Nutzeroberfläche geben. Bis dahin aber haben wir schon eine sehr umfangreiche Dokumentation zur Vefügung gestellt, die die Installation und Verwaltung des Vokabularservers beschreibt. Sie findet sich an dieser Stelle:
Der Vokabularserver wurde wie Goobi worklow auch auf Github unter der GPL2 als Open Source veröffentlicht und dokumentiert. Das Repository befindet sich hier:
Die Vorgangseigenschaften werden werden in vielen Goobi Installationen dazu benutzt, dass von Bearbeitern Informationen erfasst werden, während Aufgaben in Goobi ausgeführt werden. Typische solche Informationen sind beispielsweise der Öffnungswinkel, die Nutzung der Glasplatte, das verwendete Gerät und einige andere.
Öfter kam schon der Wunsch auf, dass die hierbei erfassbaren Felder nicht immer komplett aufgeführt werden, sondern immer nur dann für den Nutzer angezeigt werden, wenn diese auch erforderlich sind, abhängig von der Auswahl eines anderen Wertes in einer anderen Eigenschaft. Diese Funktionalität haben wir nun umgesetzt.
Innerhalb der Anlegemaske beispielsweise wird eine Eigenschaft angezeigt:
Wenn von dieser Eigenschaft der Wert geändert wird, werden abhängig davon andere Eigenschaften ebenso angezeigt:
Das gleiche Prinzip funktioniert ebenso innerhalb der angenommenen Aufgaben. Auch dort wird eine Eigenschaft angezeigt:
Und andere Eigenschaften lassen sich abhängig von der Auswahl der Eigenschaft zusätzlich anzeigen:
Die Konfiguration für das hier gezeigte Beispiel sieht innerhalb der Konfigurationsdatei goobi_processProperties.xml
wie folgt aus:
Vielen Anwendern von Goobi ist nicht bekannt, dass ich in der Anlegemaske auch Felder ausblenden lassen. Neu hinzugekommen ist in diesem Monat, dass sich auch der Vorgangtitel ausblenden läßt. Dies kann zum Beispiel sinnvoll sein, wenn dieser autoamtisch generiert wird und nicht von Nutzern geändert werden soll.
Die Konfiguration erfolgt innerhalb der Konfigurationsdatei goobi_projects.xml
und kann dort zusammen mit den anderen Ausblendungen erfolgen:
Auch andere Änderungen haben wir im Bereich der Anlegemaske von Goobi vorgenommen. Hier war uns schon seit längerem die komplizierte Konfiguration innerhalb der Datei goobi_projects.xm
ein Dorn im Auge, so dass wir nun neue verkürzte Schreibweisen für die gleiche Konfiguration erlauben, die intuitiver zu verwenden sind. Dennoch bleibt der Mechanismus abwärtskompatibel und kann sukzessive auf die besser lesbare Konfiguration umgestellt werden. Dazu gehört unter anderem:
Wenn für ein Feld (z.B. für den Identifier) das Attribut autogenerated="true"
gesetzt wird, wird dieses Feld jetzt standardmäßig ausgeblendet, kann aber zusätzlich eingeblendet werden durch Umschaltung der Anzeige.
Wenn für ein Feld (z.B. für den Identifier) das Attribut autogenerated="true"
gesetzt wird und es angezeigt wird, steht hinter dem Label jetzt der Hinweis, dass es automatisch generiert wird.
Es kann jetzt eine Auswahlmöglichkeit von Werten aus einem Vokabular geben. Dazu wurde das Attribut vocabulary
eingeführt.
Die bisherigen Bezeichnungen prozess
, werk
und vorlage
innerhalb des Attributs from
wurden geändert zu process
, work
und template
. Die alten Attribute werden jedoch weiterhin funktionieren, so dass keine Umstellung erfolgen muss.
Das Attribut ughbinding
ist ab jetzt optional. Es ist per default dann true
wenn in metadata
ein Wert steht. Das Attribut kann allerdings auch weiterhin aufgeführt werden und wird entsprechend interpretiert.
Das Attribut docstruct
hat jetzt den default-Wert topstruct
, so dass das Attribut in den meisten Fällen weggelassen werden kann und nur dann aufgeführt werden muss, wenn dort firstchild
verwendet werden soll.
Es wurde ein neues Attribut type
eingeführt, das als default-Wert text
hat. Es wird nur dann ausgewerted, wenn keine Auswahlliste (mit oder ohne Vokabular) verwendet wird. Es erlaubt die Werte text
, textarea
, date
und datetime
.
Wenn als type
entweder date
oder datetime
angegeben wird, kann auch ein Attribut pattern
angegeben werden, das das Layout von Datum und Zeit definiert. Für datetime
ist dies immer erforderlich, um die Zeit eintragen zu können.
Bisherige Konfiguration eines Haupttitels:
Neue verkürzte Schreibweise für den Haupttitel:
Wenn eine Eigenschaft hingeben direkt am Vorgang gespeichert werden soll, kann auch das Attribut from
weggelassen werden:
Soll eine Information hingegen ausschließlich innerhalb der METS-Datei gespeichert werden, kann die Speicherung als Eigenschaft so unterbunden werden:
Auch die Schreibweise der Position, wo ein Metadatum gespeichert wird, haben wir vereinfacht. Bisher wurde die Position so ausgedrückt:
Verkürzt sieht das jetzt so aus:
Bisher waren die Feldtypen in der Anlegemaske von Goobi worklow recht beschränkt. Hier haben wir nun drei neue Varianten geschaffen.
Informationen können jetzt in einer Textarea erfasst werden:
Informationen können aus Vokabularen übernommen werden:
Und auch Datumsangaben mit Kalenderauswahl sind nun möglich:
Aktuell verfügen bereits 143 der insgesamt 360 Plugins bereits über eine sehr ausführliche zweisprachige Dokumentation. Um diese bei dieser Vielzahl an Nutzungsszenarien und Plugintypen weiterhin gut pflegen zu können, haben wir uns dazu entschieden, die Art der Dokumentation zu überarbeitet. Statt die Dokumentationen an einer zentralen Stelle zu pflegen, haben wir sämtliche Dokumentationen jeweils in den Unterordner docs
des jeweiligen Plugins umgezogen und dessen Aufbau homogenisiert. Damit ist es ab nun möglich, dass die Dokumentation für jedes Plugin jeweils auch bei dem Entwickler im gleichen Quelltextrepository vorliegt, um sie zu überblicken und auch inhaltlich pflegen zu können.
Aus diesen somit deutlich einfacher zu pflegenden einzelnen Dokumentationen erzeugen wir nun automatisch eine zentrale Datenquelle in ein eigenes Repository, was hier zu finden ist:
Und weil wir sowieso schon so aktiv an den Dokumentationen von Plugins gearbeitet haben, haben wir in diesem Monat einfach einmal 20 weitere Plugins dokumentiert, womit nun ca. 150 Plugins bereits umfangreich dokumentiert sind.
In den letzten Monaten haben wir sehr intensiv an der Überarbeitung des Archiv-Management-Plugins gearbeitet. Ziel war dabei, dass wir funktionell sowie auch von der Bedienung einige Neuerungen umsetzen wollten. Diese konnten wir nun endlich abschließen und in einem ersten Projekt in Betrieb nehmen.
Einige der größten Neuerungen sind in diesem Kontext unter anderem:
Es wird keine BaseX-Datenbank mehr zusätzlich benötigt. Stattdessen speichert Goobi die Informationen aller Knoten des Archivbaums innerhalb der Goobi-Datenbank.
Mehrere Personen können gleichzeitig in einem Archivbaum arbeiten, ohne dass Sperrungen des gesamten Baumes nötig sind.
Es können jetzt EAD2, EAD3 und EAD4 Formate eingelesen und verarbeitet werden
Es gibt jetzt einen eigenständigen EAD-Export zum Goobi viewer
Knoten und Baumabschnitte können jetzt umgehängt werden innerhalb des Baumes
Knoten können dupliziert werden
Knoten können in Masse angelegt werden
Es können sehr granulare Rechte für die Arbeit mit dem Archiv-Management vergeben werden
Es können Berechtigungen für die Inhalte vergeben werden
Suche nach allen Metadaten statt nur nach Titelinhalten
Composite-Fields als Gruppen mit mehreren Metadatenfeldern
Verschiedene Feldtypen pro Metadatum
Periodischer Export des gesamten EAD-Bestandes zum Goobi viewer
Stark konfigurierbarer Export für den gesamten Bestand oder auch pro Metadatum
Mehr Informationen zu dem Plugin, dessen Installation und Konfiguration finden sich hier: https://docs.goobi.io/workflow-plugins/de/administration/goobi-plugin-administration-archive-management
Wir haben ein neues Plugin für die Anreicherung der METS-Dateien mit MIX Metadaten implementiert. Es erlaubt, dass aus vorliegenden Bildern deren Metadaten ausgelesen und anschließend in der METS-Datei als MIX-Daten gespeichert werden. Dazu ruft das Plugin zunächst einmal JHove auf und extrahiert aus dem somit gewonnenen Analyseergebnis die gewünschten Metadaten gemäß der festgelegten Konfiguration.
Hier einmal ein Ausschnitt einer solchen Konfiguration:
Auf diese Weise werden die Metadaten in die METS-Datei von Goobi überführt. In der weiteren Verarbeitung der Vorgänge vor allem in Hinblick auf die Veröffentlichung stehen somit diese konfigurierten übernommenen technischen Metadaten aus den Master-Bildern in der METS-Datei und damit dann auch für Nutzer bequem zur Verfügung.
Sie können somit beispielsweise neben den Bildern zusätzlich eingeblendet oder auch danach gesucht werden.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 24.08.3
. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Eine Dokumentation zu diesen Möglichkeiten findet sich hier im Handbuch:
Eine Dokumentation der gesamten Konfigurationsdatei findet sich hier:
Aus diesem Repository speist sich dann wiederum unsere Dokumentationsplattform unter .
Mehr Informationen zu dem Plugin, dessen Installation und Konfiguration finden sich hier: