Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Entwicklungen und Neuigkeiten zu Goobi workflow
Die größere Umstellung in der Maven Architektur von Goobi workflow und den Plugins ist im April abgeschlossen worden. Wir empfehlen aufgrund der vielen Nacharbeiten erst das Mai Release einzusetzen.
Im April haben wir die Maven Infrastrukturänderung umgesetzt. Goobi workflow sieht weiterhin so aus wie gewohnt, unter der Haube hat sich aber einiges getan. Gerade für Entwickler und Systemadministratoren ist das interessant.
Die neue Struktur ermöglicht jetzt einfachere Refaktorisierungsarbeiten und das einfachere pflegen von Abhängigkeiten an zentraler Stelle.
Für Entwickler gibt es jetzt nicht mehr das goobi-workflow Repository alleine, sondern es gibt workflow-base
und goobi-workflow-core
. Wir empfehlen Entwicklern alle lokalen Repositories zu löschen und neu von Github auszuchecken.
Der Core und die Plugins definieren jetzt workflow-base als parent.
Ebenfalls hat sich der Ort für die Artefakte im Nexus geändert. Sie liegen nicht mehr unter de.intranda.goobi.workflow
, sondern unter io.goobi.workflow
.
Für Systemadministratoren hat sich die Benennung der Artefakte in den Plugins geändert. Hier wurde konsequent die Schreibweise von .jar
Plugindateien und .xml
Konfigurationsdateien angeglichen und vereinheitlicht. Bei Updates muss genau darauf geachtet werden, dass keine alten Artefakte liegen bleiben.
Für einen Kunden wurde ein größeres Set an Spezialplugins fertiggestellt
Die Arbeiten im Kontext Vokabulare und Archiv gehen voran
Entwicklungen und Neuigkeiten zu Goobi workflow
Die größere Umstellung in der Maven Architektur von Goobi workflow und den Plugins ist im vollen Gange, aus diesem Grund gibt es im März kein Goobi workflow Release.
Der frisch integrierte Konfigurationseditor wurde dahingehend erweitert, dass jetzt auch komplette Dateien hoch- und runtergeladen werden können. Weiter werden die im Hintergrund geschriebenen Backups der Dateien in der Oberfläche optional zum Download angeboten
In dem Abschnitt für die Verwaltung der Quartz-Jobs gab es kleinere Änderungen an der Benutzeroberfläche. Wenn eine Aufgabe pausiert ist, wird jetzt auch kein Zeitplan und Datum für die nächste Ausführung angezeigt. Außerdem wurde das Icon zum einmaligen Ausführen geändert.
Im Bereich der Vokabulare wurde begonnen die Bedienbarkeit bei dem Im- und Export von Datensätzen zu vereinheitlichen.
Im Bereich der Archive wurde damit begonnen die Java Logik für die Suche in Beständen neu zu implementieren.
Ein Export Plugin wurde entwickelt, dass beim Erzeugen spezieller Exportformate in die Software Imagen Media Archive Management unterstützt.
Das ALMA API Plugin kann jetzt bei Variablen auch Bedingungen enthalten.
Das neue Schritteplugin erlaubt es, dass Metadaten aus einer Excel-Datei gelesen und zu bestehenden Strukturelementen hinzugefügt werden.
Entwicklungen und Neuigkeiten zu Goobi workflow
An dieser Stelle geben wir einen detaillierten Einblick in unsere aktuellen Entwicklungen. Wir versuchen, diese relativ aktuell zu halten und für möglichst jeden Monat zusammenzufassen, was es an Neuerungen oder Änderungen gab.
Im Inhaltsverzeichnis auf der linken Seite findet sich eine Auflistung der jeweiligen Monate, zu denen eine solche Zusammenstellung bereits vorliegt. Und zusätzlich sind im Folgenden auch einmal die letzten Digests verlinkt:
Entwicklungen und Neuigkeiten zu Goobi workflow
Endlich kann die Spaltenbreite innerhalb von Goobi workflow individuell angepasst werden. Dabei wird die Information im local Storage des Browsers gespeichert. Eine einmal gemachte Einstellung ist also an den PC und den Browser gekoppelt und nicht serverseitig hinterlegt. Dadurch können auf verschiedenen PCs mit verschiedenen Bildschirmen auch jeweils verschiedene Einstellungen vorgenommen werden, die sich dann nicht immer gegenseitig im Weg stehen.
Wenn mehrere Export Schritte in einem Vorgang existieren, dann kann man jetzt im GoobiScript den Titel übergeben, damit der richtige Export getriggert wird. Beispiel:
Es wurden verschiedene kleinere Stylinganpassungen im Bereich Breadcrumbs oder Menüs vorgenommen
Intern wurden erste Vorbereitungen für eine Java 17 Unterstützung vorgenommen
Die Message Queue hat Performanceverbesserungen erhalten
Eine abgekündigte und seit vielen Jahren nicht mehr gepflegte Java Library für die Verarbeitung von regulären Ausdrücken wurde entfernt und durch eine alternative Lösung ersetzt.
Ein Schritteplugin um Dateien herunterzuladen, zu verifizieren und dann an das externe System eine Rückmeldung zu geben wurde entwickelt.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 23.12.3. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Wir planen in den kommenden Monaten eine größere Umstellung in der Maven Architektur von Goobi workflow und den Plugins. Diese internen Arbeiten können Entwickler und Systemadministratoren in Ihrer Arbeitsweise kurzzeitig beeinträchtigen.
Die Anzahl der Bilder innerhalb eines Vorgangs kann bereits seit einiger Zeit als zusätzliche Tabellenspalte angezeigt werden. Bisher war es aber nicht möglich diese Einstellung generell zu aktivieren, sondern sie musste nach jedem Anmelden neu gesetzt werden. Ab dem Januar Release ist es möglich die Option in den Benutzereinstellungen zu speichern, so dass sie für einen Account standardmäßig aktiv ist.
Ab sofort ist es möglich nach allen Vorgängen zu suchen die eine Aufgabe mit einem bestimmten Titel haben. Bisher musste der Status der Aufgabe mit angegeben werden (steplocked:
, stepopen:
, stepinwork:
, stepdone:
, ...). Ab jetzt funktioniert auch einfach step:
gefolgt von einem Titel oder einem Teil eines Titels.
Der im Oktober eingeführte Harvester wurde für den Typ OAI-PMH um einen Testmodus erweitert. Ist dieser aktiviert wird nicht das komplette Trefferset abgefragt, sondern nur die erste Seite. Der resumptionToken wird dabei ignoriert.
Außerdem können können statische from
und until
Werte gesetzt werden. Sind die Werte leer, wird inkrementell nach allen neuen Daten seit der letzten Abfrage gesucht.
Im Januar Release wurde an vielen kleinen Baustellen im Kontext einer verbesserten Bedienbarkeit und Barrierefreiheit gearbeitet. So wurden teilweise Seitentitel eingepflegt, die Bedienung via Tastatur unter Firefox verbessert, alternative Texte für graphische Elemente eingepflegt und die Seitenstruktur verbessert. Die Änderungen sind erst dann bemerkbar, wenn Goobi workflow mit einem Screenreader oder ohne Maus bedient wird.
Seit einiger Zeit wird das Journal auch bei Benutzeraccounts angezeigt. Ab dem Januar Release wird dort automatisch eine Nachricht hinterlassen, wenn das Benutzerprofil von einem Administrator betreten wurde.
Im GoobiScript setPriority
ist die Option steptitle
jetzt optional.
Ein Fehler, der bei einer leeren Suche nach Normdaten aufgetreten ist, wird jetzt abgefangen.
Das generische Importplugin für Excel-Dateien kann das Anlegen der Vorgänge jetzt auch via GoobiScript abarbeiten.
Das Soutron OPAC Plugin unterstützt jetzt auch die neue XML API.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 24.01.2. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Wir planen in den kommenden Monaten eine größere Umstellung in der Maven Architektur von Goobi workflow und den Plugins. Diese internen Arbeiten können Entwickler und Systemadministratoren in Ihrer Arbeitsweise kurzzeitig beeinträchtigen.
In den kommenden Monaten wird intensiv an den Bereichen "Archive" und "Vokabulare" gearbeitet.
Das ehemalige Plugin für den Goobi workflow Konfigurationseditor wurde in den Core integriert und steht ab diesem Release ohne zusätzliche Installation zur Verfügung.
Die Oberfläche von Goobi workflow wird über die klassischen Webtechnologien CSS und Javascript maßgeblich mitgestylt. Die Entwicklung findet aber zum Beispiel in SASS oder LESS Dateien statt, die dann zu CSS kompiliert werden. Auch in Javascript gibt es verschiedene Einzeldateien, die dann für die Applikation in eine Datei zusammengefasst werden. Früher passierte das Kompilieren und Zusammenfassen auf dem PCs des Entwicklers, der die fertigen Dateien dann mit in das Repository eingecheckt hat. Ab dem Februar Release erfolgen diese Arbeitsschritte in der CI Umgebung automatisch. Das vereinfacht den Entwicklungsprozess und reduziert das Potential für merge-Konflikte.
Der Komperator für Dateinamen wurde grundlegend überarbeitet, so dass auf- und absteigende Sortierungen von Dateien im Core und in Plugins einfacher und fehlerfreier zur Verfügung stehen.
Das VLM Export-Plugin kann jetzt basierend auf Metadaten und Bedingungen unterschiedliche Konfigurationsblöcke verwenden.
Das Schritteplugin um Dateien umzubenennen wurde massiv erweitert und kann jetzt mit in der neuen Konfigurationssektion <namepart />
mehrere <condition />
und <replace />
Argumente enthalten.
Im Schritteplugin zum Bearbeiten von Metadaten gab es einen Bugfix um Informationen zum Repräsentanten korrekt zu speichern.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 24.02.2. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Der folgende Screenshot zeigen die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .
Der folgende Screenshot zeigen die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .
Entwicklungen und Neuigkeiten zu Goobi workflow
Große Teile der Funktionalität des intranda Harvesters sind in den Goobi workflow Core integriert worden. Ab sofort können Repositories von unterschiedlichen Typen angelegt und konfiguriert werden. Der Harvester in einer festgelegten Abfragefrequenz ein Repository, zum Beispiel vom Typ OAI-PMH ab und lädt die Datensätze in einen angegebenen Ordner herunter. Dabei können Repositories einzeln auf eingeschaltet oder deaktiviert werden.
Es besteht die Möglichkeit ein Skript zu definieren, dass auf jeden heruntergeladenen Datensatz angewendet werden soll. Dadurch ist es sehr einfach möglich die heruntergeladenen Dateien noch zu modifizieren.
Sofern gewünscht können dann auch Vorgänge in Goobi workflow angelegt werden. Dafür muss ein Projekt und eine Produktionsvorlage sowie das Importformat ausgewählt werden. Bei den Importformaten steht das Mapping aus dem Regelsatz zur Verfügung.
Über die erfolgte Integration können zum Beispiel aus Goobi workflow heraus Datensätze geharvestet, via Skript aufbereitet und dann direkt an den Hotfolder des Goobi viewers weitergeleitet werden. Ein anderes Szenario ist, dass zum Beispiel MARC-XML Datensätze aus einer OAI-PMH Schnittstelle heruntergeladen und Vorgänge in Goobi workflow angelegt werden um damit dann weiter zu arbeiten.
Die Java Bibliothek UGH wurde dahingehend erweitert, dass es auch leere Elemente erzeugen kann, wie es für das LIDO Format notwendig ist. Mit dem folgenden Exportmapping wird zum Beispiel ein Element auch dann erzeugt, wenn es keinen Wert gibt:
Das Dashboard Plugin erlaubt es einen Barcode in eine Eingabebox abzuscannen und direkt eine vorher ausgewählte Aktion auszuführen. So kann zum Beispiel eine Aufgabe angenommen oder auch angenommen und direkt wieder abgeschlossen werden.
Für die Durchführung des Imports des Liechtensteiner Volksblatts wurde ein spezielles Importplugin entwickelt.
Der folgende Screenshot zeigen die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der Projektseite.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 23.10.2. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Die in Goobi workflow vorhandenen Vorgangseigenschaften können jetzt auch als Textarea dargestellt werden. Die Konfiguration erfolgt über die bekannte goobi_processProperties.xml
. Eine Beispielkonfiguration ist wie folgt:
Wurde das GoobiScript zum löschen von Vorgängen mehrfach hintereinander über das gleiche Trefferset aufgerufen, kam es zu einem Fehler, der einen Neustart der Applikation notwendig machte. Das Verhalten wurde abgestellt.
Die Standardkonfiguration von ActiveMQ wurde angepasst, so dass der Dienst nur noch auf localhost lauscht.
Ein Fehler, der bei der Wiederholung von bestimmten Variablen in Skriptschritten aufgetreten ist, wurde behoben
Für den Import von den beiden Datenbanken "Ärztinnen im Kaiserreich und in der Weimarer Republik" und "Verfolgte Ärztinnen und Ärzte des Berliner Städtischen Gesundheitswesens (1933-1945)" und der Überführung in METS/MODS Dateien wurde ein spezielles Importplugin entwickelt.
Ein sehr mächtiges Schritteplugin wurde in diesem Monat fertiggestellt. Damit kann für jedes Bild eines Vorgangs eine vielzahl von Metadaten und Verlinkungen erfasst werden.
Das Plugin ermöglicht es, eine Vorgangseigenschaft auszulesen und einen bestehenden Workflow-Schritt für jede Zeile in der Eigenschaft mehrfach zu duplizieren. Zusätzlich dupliziert es die Eigenschaften auch in einzelne Eigenschaften pro Zeile aufgesplittet.
Das bereits bekannte Plugin für die vollautomatische Aufbereitung von PDF-Dateien wurde um eine freie Dateibenennung und eine aktualisierte Dokumentation ergänzt.
Der folgende Screenshot zeigen die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der Projektseite.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 23.11.1. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Die Anlegemaske von Goobi workflow hat schon immer verhindert, dass ein Vorgang mit identischem Namen ein erneutes Mal angelegt werden konnte. Man erhielt dann eine kurze Fehlermeldung, die sagt, dass der Vorgang bereits existiert. Dies wurde erweitert, so das man ab jetzt auch die Details über den bereits existierenden Vorgang einsehen kann.
Die GoobiScript Aufrufe metadataAdd
und metadataReplace
können jetzt auch Normdatenwerte anlegen oder manipulieren. Damit ist es zum Beispiel möglich die GND-ID für Personen nachträglich in Masse anzupassen.
In dem gleichen Zuge wurde das GoobiScript metadataReplaceAdvanced
eingeführt. Der Aufruf erlaubt es zusätzlich mit regulären Ausdrücken zu arbeiten.
Der September bring ebenfalls Änderungen an der REST Schnittstelle, zwei neue Endpoints wurden hinzugefügt. Der erste erlaubt eine Suche und liefert eine Liste an VorgangsIDs zurück:
Der zweite erlaubt es Aufgaben mit einem definierten Titel zu abzuschließen:
Ein Importplugin um aus einer Excel-Datei eine EAD Archivstruktur mit Metadaten zu erstellen wurde entwickelt.
Im September gab es kein dediziertes Goobi workflow Release.
Entwicklungen und Neuigkeiten zu Goobi workflow
GoobiScript Anpassungen
Dokumentation der Schrittedetails
Immer wieder kommt es vor, dass man mehrere GoobiScript Aufrufe hintereinander aufrufen muss. Oft wiederholen sich die Aufrufe dann auch noch weil zum Beispiel in einem bestimmten Projekt unter bestimmten Bedingungen immer mal wieder erforderlich ist einen bestimmten Schritte einzufügen.
Hierfür gibt es jetzt einen neuen Mechanismus um diese Aufgaben angenehmer zu gestalten. Im Bereich "Administration" wurde der neue Bereich GoobiScript Templates eingeführt. Dort können mehrere Aufrufe elegant verkettet und als Template abgespeichert werden. Jedes Template hat einen obligatorischen Namen und eine optionale Beschreibung.
In der Liste der GoobiScript Templates werden die selbst definierten Templates als Badges mit eigener Farbe angezeigt. Die Beschreibung wird angezeigt, wenn mit der Maus über den Badge gefahren wird. Für die Templates gelten dieselben Möglichkeiten zur dedizierten Rechteverwaltung wie für die fest eingebauten GoobiScript Aufrufe.
Beim Anlegen eines Vorgangs können die Vorgangseigenschaften jetzt auch über die zentrale Konfigurationsdatei goobi_processProperties.xml
verwaltet werden. Dafür wurde in der Konfigurationsdatei das neue XML-Element <showProcessCreation />
hinzugefügt. Als Attribute gibt es access=""
und template=""
. Die Werte des Attributs access
sind analog zu den anderen bereits in der Datei vorhandenen Möglichkeiten. Mit dem template
Attribut wird gesteuert für welche Produktionsvorlage die Einstellung gilt. Das XML-Element ist wiederholbar um unterschiedliche Produktionsvorlagen konfigurieren zu können. Es ist möglich beim template
Attribut ein *
zu definieren, damit die Einstellung für alle Produktionsvorlagen gilt.
Mit dieser Änderung ist es erstmalig möglich die Metadaten, die aus dem Katalog importiert werden, von den Eigenschaften, die beim Anlegen eines Vorgangs mit erhoben werden sollen und dadurch inhaltlich etwas komplett anderes sind, visuell zu trennen. Bisher wurde beides vermischt im oberen Bereich mit der Überschrift "Metadaten importieren" angezeigt.
Hier ein Beispiel für eine Konfiguration und ein Screenshot wie es in der goobi_projects.xml
bisher gemacht werden musste und aussah:
Dieselbe Konfiguration kann jetzt über die goobi_processProperties.xml
abgebildet werden. Dafür wird dann eine eigene Box angezeigt, in der die Einstellungen vorgenommen werden können. Dadurch kann eine klarer strukturierte und dadurch übersichtlichere Oberfläche realisiert werden.
Der Zeitungsexport für die DDB schreibt nun erweiterte Informationen um DFG-Viewer Darstellungsanforderungen zu erfüllen.
Der folgende Screenshot zeigen die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der Projektseite.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 23.07.2. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
GoobiScript Templates
Dokumentation der Schrittedetails
In den Einstellungen des eigenen Benutzeraccounts gibt es einen neuen Reiter, in dem ein API Token generiert und mit entsprechenden Rechten ausgestattet werden kann.
Das Recht einen Token zu erstellen haben nur Superadministratoren, oder Benutzeraccounts, die einer Gruppe angehören, der das entsprechende Recht zugewiesen wurde.
Dieser Token kann dann mit einer Basic Auth verwendet werden um die vorher freigeschalteten Kommandos abzufragen.
Beim Anlegen eines Vorgangs kann die Maske über die Datei goobi_projects.xml
konfiguriert werden. Dabei konnten auch Multiselect Felder mit dem Attribut multiselect="true"
definiert werden. Wurden dann mehrere Werte ausgewählt so landeten diese hintereinander in dem konfigurierten Metadatum oder der festgelegten Eigenschaft.
Ab diesem Release wird für jeden Wert ein eigenes Metadatum oder eine eigene Eigenschaft geschrieben.
Es wurde ein neues Schritteplugin entwickelt, dass es erlaubt den OCR Text aller Bilder eines Vorgangs in ein Metadatum zu überführen.
Die ALTO Bearbeitung im Metadateneditor kann jetzt auch Dateien in S3 speichern.
Das Plugin zur automatischen PDF-Extraktion hat kleinere Verbesserungen erhalten, zum Beispiel bei fehlenden Leerzeichen im Volltext.
Im Juni gab es kein dediziertes Goobi workflow Release.
Entwicklungen und Neuigkeiten zu Goobi workflow
Immer wieder suchen wir uns kleine Bereiche in der Oberfläche heraus um bei dieser gezielt die Bedienbarkeit zu verbessern. Im August war es der Bereich der Aktionen innerhalb einer angenommenen Aufgabe, bei der wir alleine durch eine Anpassung der verwendeten Terminologie versucht haben Klarheit zu schaffen.
Hier zwei Screenshots von dem Bereich vor dem Update:
Verwirrung gab es vor allem, weil der erste Reiter "Aufgabe ausführen" hieß und die Visualisierung einen Button suggerierte. Klickte man darauf passierte aber nichts. Die zweite Verwirrung gab es dann im Bereich der Fehler und Korrekturmeldungen bei dem eine "Korrektur angefordert" und eine "Fehlerlösung gemeldet" wurde. Erwartet wurde hier eher, dass man einen "Fehler meldet" und eine "Korrektur sendet". Alleine durch die Anpassung der entsprechenden Übersetzungen konnte das Benutzerinterface klarer gestaltet werden. Hier das Ergebnis:
Das GoobiScript openNextStep
wurde neu hinzugefügt um die ersten gesperrte Aufgabe eines Vorgangs aus dem Trefferset auf offen zu setzen, sofern keine andere Aufgabe offen ist. Wenn es sich um eine automatische Aufgabe handelt wird diese auch automatisch gestartet.
Außerdem besteht bei dem addStep
GoobiScript jetzt die Möglichkeit mit der Einstellung number: end
die Aufgabe am Ende des Vorgangs einzufügen, auch ohne die genaue Nummer zu kennen. Diese wird bei der Einstellung automatisch ermittelt.
In der REST API ist ein neuer Endpoint hinzugefügt worden um offene automatische Aufgaben zu starten.
Außerdem wurde der Endpoint zum Anlegen von neuen Vorgängen dahingehend erweitert, dass auch Metadaten und Eigenschaften optional gleich mitgegeben werden können.
Der VLM Export unterstützt neben einem Passwort jetzt auch die Möglichkeit die SFTP-Funktionalität mit einem SSKH Key zu verwenden.
Ein Spezialplugin für den Export von fünf ausgewählten Bildern sowie Metadaten als JSON Datei wurde für das Bundesdenkmalamt in Österreich entwickelt.
Für den Import von den Nürnberger Hausbüchern und der Überführung von einer SQL Datenstruktur in METS/MODS Dateien wurde ein spezielles Importplugin entwickelt.
Ein Schritteplugin zur Auswahl und festlegen einer Reihenfolge von Bildern sowie Speichern des Ergenisses für die weitere Verarbeitung als Prozesseigenschaft wurde fertiggestellt.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 23.08. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Dokumentation der Schrittedetails
Personalisierte API Token
In einer angenommenen Aufgabe können Fehler- und Korrekturmelden gesendet werden. Neu ist, dass jetzt ein optionales DropDown Menü zur Verfügung steht, in dem eine Liste an klassischen Fehlertypen konfiguriert werden kann.
Die Konfiguration erfolgt sowohl für die Fehler- als auch für die Korrekturmeldungen in der zentralen goobi_config.properties
Datei. Hier eine Beispielkonfiguration:
Der Mailversand aus dem Goobi workflow heraus wurde vereinheitlicht und verschiedene Plugins, die ebenfalls E-Mails versenden können, können jetzt auf dieselbe Konfiguration zugreifen. Dadurch entfallen Redundanzen im Code, der Wartungsaufwand wird minimiert und die Konfiguration wird einfacher.
Seit einiger Zeit arbeiten wir in Goobi workflow mit Sonarcloud zur statischen Analyse von Codequalität. Im Juli letzte Jahres sind wir mit gut 4.600 angemerkten Issues gestartet. Mit diesem Release sind wir bei gut 1.600 Issues angekommen. Alleine im letzten Monat konnten rund 1.000 Issues bearbeitet werden. Zusätzlich konnten rund 75 Unit Tests in den Core übernommen werden.
Beim Anlegen und Löschen von Vorgängen mit sehr vielen Schritten (sagen wir mal mehr als 50) gab es Performanceprobleme. Diese konnten durch Umstellungen an SQL Aufrufen und Java Code behoben werden.
Das Excel-Importplugin erlaubt nun für die Generierung von Vorgangstiteln - analog zu der Konfiguration in der goobi_projects.xml
- die Angabe eines replacewith Attributs, um zum Beispiel Leerzeichen durch einen Unterstrich zu ersetzen
Das Schritteplugin zur PDF-Generierung erlaubt jetzt die Angabe und Nutzung der vor kurzem im ContentServer eingeführten PDF-Generiervarianten. Dadurch können zum Beispiel als Schritt innerhalb einer Produktionsvorlage valide PDF-A Dateien erzeugt und an einem bestimmten Ort abgelegt werden.
Der folgende Screenshot zeigen die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der Projektseite.
Ein paar Worte zu der fehlschlagenden Analyse:
In SonarCloud lassen sich Qualitätsanforderungen, sogenannte Quality Gates, definieren. Die Quality Gates werden einmal auf den gesamten Quelltext angewendet und einmal auf den Quelltext der in den letzten 30 Tagen geändert wurde. Das jetzt fehlschlagende Quality Gate in Goobi workflow bezieht sich auf den angepassten Quelltext in den letzten 30 Tagen. Dort wird eine Testabdeckung von mindestens 25% gefordert und die Duplucations sollen unter 10% sein. Da wir mit diesem Release sehr viel Quelltext angefasst haben erfüllen wir diese Vorgaben - bezogen auf den Quelltext der letzten 30 Tage nicht.
Das Quality Gate für den gesamten Quelltext wird aber erfüllt.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 23.05.1. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Portierung der Benutzeroberfläche auf neues Framework
Regelmäßige Aufgaben
Dokumentation der Schrittedetails
Der ALTO Editor zur OCR Korrektur, der bei Bedarf im Metadateneditor geöffnet werden kann, unterstützt jetzt auch Rechts-nach-links Sprachen. Die Umschaltung erfolgt automatisch auf Basis der gewählten Einstellung im Metadateneditor selbst.
Nach und nach fließen kleinere Änderungen für die Bedienbarkeit in die Oberfläche ein. In diesem Digest möchten wir auf einen winzigen Teilbereich eingehen und aufzeigen was das in der Praxis bedeutet.
Ausgangslage ist in diesem Fall der Metadateneditor und die Möglichkeit ein weiteres Metadatum hinzuzufügen. Das sah bisher wie folgt aus:
Wir haben diesen kleinen Teilbereich beleuchtet und dabei folgende Punkte notiert:
Die Überschrift "Neue Metadaten anlegen" suggeriert durch den Plural, dass man hier mehrere gleichzeitig "anlegen" kann. Das ist aber nicht möglich denn in der Maske kann immer nur eines "angelegt" werden.
Das Wort "anlegen" ist von der Terminologie eher mit "Vorgang anlegen" verknüpft. Das Wort "hinzufügen" ist hier passender, da ja zu einem bestehenden Vorgang ein neues Metadatum hinzugefügt werden soll
Auch das Wort "Neu" in dem Zusammenhang ist eigentlich zuviel. "Metadatum hinzufügen" ist ebenfalls klar und eindeutig. Es wird an der Stelle ja nicht den Regelsatz editiert.
Mit "Typ" wird eher so etwas wie "Text, MultiSelect, DropDown, Textarea" assoziiert, nicht aber "Weitere Titel". Ein Metadatum vom Typ "Weitere Titel" ist komisch. Besser ist schlicht "Name".
"Die Änderungen speichern" sagt aus das man etwas geändert hat. Aber es wird doch etwas "angelegt" beziehungsweise ist nicht "Hinzufügen" die richtige Terminologie hier?
Das Ergebnis der Überlegungen sieht wie folgt aus:
Natürlich gibt es noch viel mehr was man sich an der Stelle Fragen kann:
Warum ist die Box ein- und ausklappbar?
Ist es aus UX Perspektive richtig den Abbrechen und Hinzufügen Button visuell gleichwertig gewichtet zu haben?
Warum wird das nicht einfach in einem Modal als Overlay geöffnet?
...
Aber diese Fragen sind komplexer zu beantworten und wir gehen kleine Schritte. Dieses Beispiel soll nur aufzeigen wie wir an verschiedensten Stellen und nach und nach Dinge besser machen.
Das Schritteplugin um Metadaten direkt aus dem angenommenen Aufgabe heraus bearbeiten zu können kann jetzt leere Felder ausblenden. Das war bisher nicht möglich und hat bei Anwendungsfällen wo das Plugin für die schnelle Prüfung von Metadaten eingesetzt wurde zu sehr langen Listen geführt.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 23.01. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Der folgende Screenshot zeigen die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .
Entwicklungen und Neuigkeiten zu Goobi workflow
Der Dezember war im Projekt geprägt von dem anstehenden Jahresende: Viel Housekeeping und der Versuch noch Kleinigkeiten aufzuräumen und abzuschließen um mit Luft und einem sauberen Schreibtisch / Projekt erst in den Urlaub und dann auch so in das neue Jahr zu starten.
Aus diesem Grund gibt es nichts neues was in dem Dezember-Digest an Featureentwicklungen zu berichten wäre. Deswegen wollen wir einen Ausblick wagen auf das was wir für das kommende Jahr sehen.
Schon länger arbeiten wir im Hintergrund daran die bestehende Oberfläche im Unterbau auf andere Füße zu stellen. Viele hundert Stunden sind dort bereits hineingeflossen und das Ergebnis wird erst einmal annähernd genauso aussehen wie vorher. Allerdings erlauben uns diese Arbeiten dann deutlich einfacher an der Oberfläche zu arbeiten. Änderungen müssen nicht mehr an vielen einzelnen Stellen gemacht und geprüft werden, sondern können an einer zentralen Stelle umgesetzt werden und wirken sich dann auf alle Stellen aus.
Sobald wir mit diesen Arbeiten durch sind wollen wir an der Bedienbarkeit in der Oberfläche arbeiten. Diese erstrecken sich über verschiedene Bereiche. Beispiele dafür ist die Benennung von Funktionalität die überall einheitlich sein soll oder die Verwendung von immer denselben Icons für dieselbe Aktion. Aber auch die konsistente Platzierung von Bedienelementen über die Applikation hinweg gehört dazu, Stichwort: "Erwartbarkeit".
Zuletzt gehören auch visuelle Umgestaltungen dazu. Hierzu später mehr.
Wir möchten die veralteten Command-Plugins entfernen und durch die REST API ersetzen. Außerdem soll die Möglichkeiten die über die REST API zur Verfügung stehen massiv erweitert werden.
Angedacht ist zum Beispiel via REST auch Zugriff auf Funktionalitäten aus GoobiScript zu geben. Dadurch könnte dann zum Beispiel aus Skripten heraus ein Massenexport getriggert oder in einzelnen Vorgängen die Manipulation von Metadaten erlaubt werden.
Diese Arbeiten sollen Anstoß dafür sein auch die Softwarearchitektur zu überdenken.
Es gibt viele Stellen in der Oberfläche bei denen man auf die Dateien eines Vorgangs zugreifen kann, darf, soll oder möchte. Über die Jahre haben sich hier verschiedene Stellen gebildet die aber allesamt eher als Abkürzungen und Insellösungen zu sehen sind und es fehlt ein gradliniger Weg. Das möchten wir im kommenden Jahr auf verschiedenen Ebenen angehen. So möchten wir die Stellen in der Oberfläche zusammentragen an denen Zugriffs aufs Dateisystem möglich ist und uns fragen wofür die Funktionalität an genau dieser Stelle benötigt wird. Dann wollen wir einen zentralen Weg für den Zugriff konzipieren und entwickeln und zu guter Letzt auch im Java Code eine zentrale Stelle schaffen die für alle Dateioperationen genutzt werden soll.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 22.12. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Portierung der Benutzeroberfläche auf neues Framework
Dokumentation der Schrittedetails
Verbesserte PDF-A Generierung
REST-API
Schon länger kann Goobi workflow bestimmte Aufgaben periodisch anstoßen. Es gibt interne Aufgaben, die einmal täglich ausgeführt werden, aber auch Plugins wie der DataPoller oder zum zeitlichen pausieren von Schritten (Delay-Plugins) zählen dazu. Diese Funktionalität arbeitet stabil und verlässlich, hatte aber zwei Einschränkungen die wir mit diesem Release angegangen sind.
Zum Einen fand alles im verborgenen statt. Es gab keine Übersicht darüber welche regelmäßigen Aufgaben es gibt, wann diese laufen und ob es dabei einen Fehler gab oder nicht. Für diese Übersicht gibt es jetzt eine neue Seite im Bereich "Administration" das die angesprochenen Informationen auflistet. Auch ein individuelles Ausführen oder Pausieren von Aufgaben ist dort möglich.
Der zweite Teil war die Konfigurationsmöglichkeiten. Entweder waren Dinge gar nicht konfigurierbar oder sie wurden in Sekunden seit Mitternacht angegeben. Um etwas um 15:30 Uhr zu starten musste dann der Wert 55800
angegeben werden. Nicht gerade intuitiv. Jetzt wird die Cron-Syntax verwendet, die deutlich intuitiver zu lesen und auch mächtiger in der Konfiguration ist. Die Syntax für 15:30 Uhr jeden Tag ist jetzt 0 30 15 * * ?
Schon länger können in den Einstellungen eines Benutzeraccounts zusätzliche Spalten für die Tabelle auf der Seite "Vorgänge" und "Meine Aufgaben" konfiguriert werden. Ab sofort sind diese auch sortierbar sofern sie in der Datenbank stehen. Das ist zum Beispiel für Variablen wie {db_meta.XYZ}
, {process.XYZ}
, {product.XYZ}
oder {template.XYZ}
der Fall. Andere Variablen wie {origpath}
oder auch {meta.XYZ}
sind nicht sortierbar.
Das Thema Bedienbarkeit geht in kleinen Schritten voran. Diesen Monat haben wir uns die Projektkonfiguration vorgenommen und dort vor allem den Reiter "METS Parameter" der zu "Inhaltliche Einstellungen" umbenannt wurde. Die Bezeichnung der Zeilen wie auch die Inline Hilfe wurden massiv überarbeitet und mit sinnvollen Beispielen versehen.
In den Warteschlangen wird die Fehlertabelle jetzt automatisch und regelmäßig geleert.
In den Projekteinstellungen kann im Bereich der "Inhaltlichen Einstellungen" eine eigene URL für die DFG-Viewer METS-Datei hinterlegt werden.
Entwicklungen und Neuigkeiten zu Goobi workflow
Portierung der Benutzeroberfläche auf neues Framework
Regelmäßige Aufgaben
Dokumentation der Schrittedetails
Es konnte ein Flaschenhals bei der Performance von SQL Queries mit "Like"-Queries identifiziert und behoben werden wenn. Das war zum Beispiel der Fall, wenn Suchanfragen nach Schrittetiteln ausgeführt wurde. Die Ladezeiten konnten teilweise von 155 Sekunden auf 3,2 Sekunden reduziert werden.
Auch im Bereich der automatischen Aufgaben konnte durch eine Umstellung der SQL-Queries ein deutlicher Geschwindigkeitszuwachs erzielt werden.
Das Ergebnis ist in bestimmten Situationen eine schneller reagierende Oberfläche.
Benutzer können sich jetzt individuelle Sucheinstiege konfigurieren. Dafür steht in den Benutzereinstellungen im Bereich "Allgemein" ein neuer Eingabebereich für individuelle Sucheinstellungen zur Verfügung.
Jede Zeile ist nach dem Name=Suchfilter
Prinzip aufgebaut wobei der Platzhalter {}
für den Suchbegriff steht. Eine Beispielkonfiguration könnte zum Beispiel wie folgt sein:
Sofern konfiguriert erscheint auf der Seite "Vorgänge" vor dem Suchschlitz oberhalb der Tabelle ein Dropdown Menü mit den konfigurierten Werten.
Das Plugin zum Umbenennen von Dateien hat bisher automatisch in allen Vorgangsordnern umbenannt. Jetzt kann es auch nur in bestimmten Ordnern arbeiten. Der Anwendungsfall ist dabei, dass man verschiedene Uploadschritte hat, die Dateien jeweils in einen temporären Ordner zwischenspeichert, anschließend das Plugin die Dateien individuell benennt und diese dann mit einem Skript in den _master Ordner verschoben werden. Dadurch kann man eine individuelle und dennoch einheitliche Benennung der Dateien sicherstellen.
Das Plugin zum Ändern des Workflows auf Grundlage von Vorgangseigenschaften kann jetzt auch die Priorität für einzelne oder alle Schritte eines Vorgangs beeinflussen. Der Hintergrund zu der Erweiterung ist, dass innerhalb eines Workflows die Entscheidung stattfindet ob der Vorgang aus Gründen auf die Überholspur muss, oder nicht. Wenn Überholspur, dann bekommen alle Schritte im Vorgang eine höhere Priorität und tauchen entsprechend weiter oben in den Aufgaben auf.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 23.02. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Dokumentation der Schrittedetails
Verbesserte PDF-A Generierung
Mehrere hundert Stunden haben wir im Hintergrund daran gearbeitet und im Ergebnis ändert sich an der Oberfläche erst einmal nur wenig... Im Unterbau aber dafür eine ganze Menge: Dort wo mit der Zeit Quelltext kopiert und modifiziert wurde ist jetzt wieder ein einheitliches System vorhanden. Neue Strukturen wurden aufgebaut, Redundanzen entfernt, Code und Markup für gleiche Dinge vereinheitlicht und dadurch der gesamte Aufbau vereinfacht.
Vermutlich fällt als erstes nur auf, dass alles ein klein bisschen luftiger ist und hier und dort einige Dinge jetzt vielleicht sogar ein bisschen komisch aussehen. Ungewohnt auf alle Fälle. Aber der grundsätzliche Aufbau und auch das Design bleibt gleich.
Auf der Basis dieser Arbeiten können wir jetzt jedoch beginnen an der Bedienbarkeit zu arbeiten: Wie wollen wir Buttons wo anordnen und benennen? Wo wird von der Terminologie im Plural gesprochen und wo Singular? Welche Boxen werden wo angezeigt, wie ist die Reihenfolge der Informationen und wie heben wir relevante Dinge hervor, blenden irrelevante oder nebensächliche aus oder reduzieren den Fokus? Was ist ein einheitlicher und verlässlicher Weg zu einem Ziel und wo wollen wir bewusst Abkürzungen schaffen? Mit dieser Basis können wir viele Dinge an einer zentralen Stelle ändern und sie wirkt sich automatisch auf alle Bereiche aus. Vorher hätten wir sehr sehr viele Stellen einzeln betrachten müssen.
Bitte meldet uns Dinge die jetzt komisch aussehen oder unverständlich sind.
Im April haben wir im Rahmen eines Projektes begonnen die REST API neu zu beleuchten und unserer Ansicht nach essentielle Funktionalität zu entwickeln, zu refaktorisieren und bestehenden Code auch zu konsolidieren.
Konkret haben wir dabei Vorgänge, Schritte, Eigenschaften und das Journal bedacht und folgende Funktionalitäten implementiert:
Vorgänge anlegen, Informationen auslesen, aktualisieren oder Vorgänge löschen
Schritte für einen Vorgang auslesen, aktualisieren, neu hinzufügen, löschen oder ausführen
Journal auslesen und Einträge hinzufügen, aktualisieren oder löschen
Eigenschaften auslesen, hinzufügen, bearbeiten und löschen
Die Logik nutzt - wo möglich - vorhandenen Code aus GoobiScript. Auch die Terminologie ist identisch gewählt, so dass es hier beim Arbeiten Wiedererkennungseffekte geben sollte. Der neue Code hat eine sinnvolle Testabdeckung erhalten und die REST Kommandos sind auch in der Swagger Dokumentation alle aufgeführt und beschrieben.
Die neuen REST Endpoints erlauben über eine standardisierte Schnittstelle im Goobi workflow Core eine Integration von Funktionalität mit externen Systemen.
Hier einmal vier Beispielaufrufe für die Möglichkeiten die für das Journal zur Verfügung stehen:
Schon länger können die in einer Instanz installierten Plugins über die Oberfläche eingesehen werden. Auf der Seite ist ebenfalls zu sehen, ob das Plugin gegen die installierte Goobi workflow Versionsnummer getestet wurde.
Mit dem April Release haben wir begonnen die Plugins nicht nur auf die Kompatibilität zu testen, sondern auch mit einer identischen Versionsnummer zu taggen. Dadurch ist es jetzt möglich auch im Plugin Repository sofort die Commits zu erkennen, die die Kompatibilität zu einer bestimmten Core Version sicherstellen.
Wir müssen die jetzt gefundene Lösung noch beobachten und eventuell auch noch nachjustieren, aber unserem Ziel: "Pluginversionen analog zum Goobi workflow Core zu haben", sind wir dadurch schon einen großen Schritt näher gekommen.
Der folgende Screenshot zeigen die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der Projektseite.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 23.04.3. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
In den Projekteinstellungen gibt es nun im Reiter METS Parameter
zwei zusätzliche Felder zur Erfassung der URL zur SRU Schnittstele des Goobi viewers und der URL des IIIF Manifests für das Gesamtwerk.
Beispielhafte Einträge könnten hierbei wie folgt aussehen:
Das Ergebnis innerhalb einer so erzeugten METS-Datei ist entsprechend dann wie folgt:
Vor nicht allzu langer Zeit haben wir die neuen Bildkommentare hier vorgestellt. Mit deren erster Nutzung an verschiedenen Einrichtungen ist uns allerdings aufgefallen, dass der interne Speicherort für die Daten nicht ideal war. Aus diesem Grund haben wir hierfür eine Änderung vorgenommen. Wer diese Funktionalität also bereits in Verwendung hatte, sollte daher beim nächsten Update unsere hier bereitstellte Updateanleitung beachten:
Bei dem GoobiScript metadataChangeType
funktionierte der Parameter any
nicht wie erwartet. Dies wurde korrgiert und erlaubt nun wie gewünscht die Änderung von Metadaten auf allen Ebenen einer METS-Datei.
Der Vollständigkeit halber hier nochmal der Link zur ausführlichen Dokumentation von GoobiScript:
Administratoren lieben Logging. Das hilft, um im Fehlerfall besser nachvollziehen zu können, warum ein Problem aufgetreten ist und was als Auslöser für ein Fehlverhalten in Betracht gezogen werden kann. Für einen verläßlichen Betrieb produktiver Applikationen ist ein sinnvolles Logging nicht nur hilfreich, sondern oft auch einfach zwingend notwendig. Umso besser ist es, wenn die Entwickler einer Software eng mit den Admistratoren zusammenarbeiten, die die Software tatsächlich betreiben.
Ergebnis einer solchen Zusammenarbeit im Kontext Goobi ist, dass wir permanent versuchen, dass eben auch das Logging von Goobi workflow verbessert wird. In diesem Monat haben wir das Logging beim Applikations-Stop einmal näher betrachtet und einiges verbessert. Denn zu viel Logging ist manchmal schließlich auch nicht richtig.
Auf den Goobi-Tagen hatten wir darüber schon einmal berichtet. In den letzten Monaten kamen unsere Entwicklungen für die Verarbeitung von Zeitungen aber immer häufiger in den Einsatz. Deswegen möchten wir das Thema zusammen mit den letzten Entwicklungen noch einmal explizit aufgreifen:
Für Goobi besteht bereits seit einger Zeit die Möglichkeit, dass Zeitungsausgaben semiautomatisch erkannt und mit Metadaten erschlossen werden. Dazu erfolgt im Workflow zunächst eine automatische Erkennung von Zeitungsausgaben auf der Basis von trainierten Modellen. Diese haben wir kürzlich noch einmal deutlich erweitert und mit mehr Ground-Truth-Daten gefüttert. Somit ist die Erkennungsgenauigkeit von Zeitungsausgaben um ein vielfaches besser geworden.
Nach dieser automatischen Erkennung steht in Goobi worklow ein Plugin zur Anreicherung der Zeitungsausgaben mit ausgabenbezogenen Metadaten bereit. Dieses erlaubt relativ bequem, dass Ausgabennummern, Datumsangaben sowie auch die Erscheinungstage samt Morgens- und Abendausgaben erfasst werden können, ohne dass man dies für jede Ausgabe einzeln machen müsste. Stattdessen greift hier ein Semi-Automatismus, der mit wenigen Angaben eines Nutzers die Folgeausgaben entsprechend hochzählt, mit Datumsangaben anreichert und auch benennt.
Darüber hinaus lassen sie hier auch Beilagen schnell erzeugen, so dass anschließend eine umfangreiche METS-Datei erzeugt wird, die über normierte Datumsangaben verfügt und im Goobi viewer z.B. über einen Kalendereinstieg recherchierbar ist.
Um den Anforderungen der Deutschen Digitalen Bibliothek und des DFG-Viewers gerecht zu werden, gibt es seit kurzem übrigens auch ein zusätzliches Export-Plugin, dass die Daten entsprechend den Vorgaben aufbereitet und bereitstellt.
An diesen hier beschriebenen einzelnen Komponenten haben wir in den letzen Monaten viel gearbeitet und immer wieder Optimierungen auch hinsichtlich der Bedienung vorgenommen. Einiges wird in den nächsten Wochen hier auch noch weiter passieren. Gern können wir das in einem Workshop auf den kommenden Goobi-Tagen auch einmal detailliert vorstellen.
Bisher hatten wir auf die verschiedenen neueren Import-Plugins noch gar nicht hingewiesen, die wir in letzter Zeit für einige spezifische Massenimporte umgesetzt hatten. Für diese Plugins existieren bisher auch noch keine ausführlichen eigenständigen Dokumentationen.
Uns ist aber dennoch wichtig einmal darauf hinzuweisen, dass es mehrere neue Massenimporte gibt, die ihrerseits oft nicht nur Vorgänge in Goobi workflow anlegen sondern ebenso immer häufiger sogar ganze Archivbäume mit einer Tektonik erzeugen oder anreichern.
Je nach Projekt können hierbei im Übrigen auch wie bei anderen Importern für Goobi workflow strukturierte METS-Dateien erzeugt werden, wo jeweils Strukturelmente und zugehörige Metadaten samt Normdaten zu den zugehörigen Bilddateien eingespielt werden.
Das Step-Plugin intranda_step_pdf-extraction
erlaubt, dass Volltexte aus PDF-Dateien extrahiert und als ALTO-Dateien gespeichert werden können. Dabei ist uns allerdings kürzlich ein Fehler in der Verarbeitung aufgefallen, der dafür verantwortlich war, dass innerhalb von manchen Wörtern unpassende Lücken entstanden sind, unter anderem durch eine vorhandene Silbentrennung in den Wörtern.
Die Ursache dieses Problems konnten wir nun finden und beheben. Dokumentiert war das Plugin übrigens hier schon:
Veröffentlicht haben wir das Plugin ist unter der folgenden URL, wo nun auch die korrigierte Fassung heruntergeladen werden kann:
Im Bereich unserer Dokumentationen ist auch wieder viel passiert:
Bei dem GoobiScript addToProcessLog
waren die enthaltenen Erläuterungen nicht ideal. Hier gab es eine kleine Korrektur, die nun so aussieht:
Damit die Updateanleitung für Goobi workflow intuitiver ist, ist sie nun nicht mehr nach Datum gegliedert, sondern nach der jeweils veröffentlichten Version. Diese Umstellung gilt nur für alle künftigen Hinweise, die dort aufgenomnmen werden und nicht rückwirkend. Sie sollte es für Administratoren hoffentlich künftig etwas übersichtlicher machen.
Wir haben wieder ein beachtliches Maß an Energie in die Dokumentation weiterer Konfigurationsdateien gesteckt. Annähernd alle Konfigurationsdateien sind dort nun bereits vorbildlich dokumentiert. Ein paar Restarbeiten stehen noch an. Wer aber einmal schauen mag findet hier einige Beispiellinks zu neuen Dokumentationen:
Konfiguration für Laufzettel:
Konfiguration der Warteschlangen:
Konfiguration für Eigenschaften:
Konfiguration für Übersetzungen:
Konfiguration für die Web-Api:
Konfiguration für die Normdaten:
Konfiguration für die Feldanzeige im Metadateneditor:
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 22.07. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Lange gibt es das Plugin schon. Aber irgendwie haben wir wohl noch keine Zeit gefunden, dass Plugin einmal zu dokumentieren, und so könnte man fast meinen, dass Goobi keine Anbindung an Kalliope hätte. Das stimmt aber nicht, denn diese Dokumention beweist, dass es ein solches Plugin schon längst gibt:
Wenn man genau im Quellcode schaut, der bei GitHub veröffentlicht wurde, dann sieht man sogar, dass es das Plugin bereits seit November 2014 gibt. Wer hätte das gedacht?
Für die Anbindung von Ariadne haben wir bereits vor längerer Zeit ein Plugin implementiert. Dieses wurde nun erweitert, um den Publikationstyp flexibler steuern zu können. Und bei der Gelegenheit haben wir das Plugin auch gleich einmal ausführlich dokumentiert und bei GitHub veröffentlicht.
Hier findet sich die ausführliche Dokumentation für das Plugin:
Und hier haben wir das Plugin bei GitHub veröffentlicht:
Vor ca. 1,5 Jahren haben wir bereits ein Plugin veröffentlicht, das die Registrierung von DOIs erlaubte. So ganz glücklich waren wir mit der Implementierung aber nicht. Insbesondere wenn man sich einmal genau anschaut, was bei der Registrierung der Persistenten Identifier bei DataCite in einem eigenen Metadatenschema gemeldet werden kann, erkennt man, dass die bisherige Lösung dort enge Grenzen hatte. Aus diesem Grund haben wir nun ein zweites DOI-Plugin implementiert, dass deutlich flexibler ist und auf der Basis von XSLT nahezu alle erdenklichen Datenformate erzeugen könnte.
Hier haben wir das Plugin einmal genau dokumentiert:
Der Quelltext für das Plugin wurde hier bei GitHub veröffentlicht:
Goobi worklow hat schon seit geraumer Zeit eine integrierte Hilfe. Diese erlaubt, dass insbesondere bei verschiedenen Formularen Hilfetexte eingeblendet werden können, die für die Eingabe eine Unterstützung sind. Unglücklicherweise war dort bisher das Problem, dass beim Umschalten dieser integrierten Hilfe auch stets die Seite neu geladen wurde, so dass bereits im Formular eingetragene oder geänderte Werte wieder zurückgesetzt wurden, wenn diese noch nicht gespeichert waren.
Hier gab es jetzt eine Umstellung, wie die Anzeige der Hilfe aktiviert wird. Sie lädt ab nun allein über JavaScript und kann somit auch ohne ein Neuladen der Seite eingeblendet werden. Das vermeidet die Problematik, dass ungespeicherte Inhalte versehentlich zurückgesetzt werden.
Wir haben bereits vor einigen Jahren ein Export-Plugin entwickelt, dass einen sehr flexiblen Export erlaubt und wo sich unter anderem steuern liess, welche Bildverzeichnisse alle für den Export berücksichtigt werden sollten. Dieses Plugin haben wir nun noch einmal massiv erweitert und auch vorbildlich dokumentiert. Es erlaubt nun unter anderem auch, dass innerhalb eines Exportaufrufs abhängig von einem vorhandenen Metadatum ein Export in mehrere Goobi viewer erfolgen kann und dabei z.B. unterschiedlichen Bildverzeichnisse genutzt werden und ein verschiedener Umgang mit OCR-Daten erfolgen soll.
Mehr Informationen gibt es wie gewohnt hier in der neuen Dokumentation:
Und hier haben wir das neue Plugin bei GitHub veröffentlicht:
Im Grunde war der ganze Monat stark auf Dokumentation ausgerichtet. Denn neben den frisch erstellten Dokumentationen für neue und auch schon bestehende Plugins ist insbesondere in dem Bereich der Konfigurationsdateien viel Neues hinzugekommen.
Folgende Konfigurationsdateien von Goobi workflow sind neu dokumentiert oder in ihrer bestehenden Dokumentation massiv überarbeitet worden:
Diese Konfigurationsdatei ist maßgeblich dafür, wie sich die Eingabefelder innerhalb des Metdateneditors verhalten sollen:
In dieser Konfigurationsdatei wird festgelegt, auf welche Bereich der REST-API externe Dienste zugreifen dürfen und wie sie sich authentifizieren müssen:
Diese Konfigurationsdatei legt die Kataloge fest, aus denen Goobi workflow Daten importieren können soll:
Diese Konfigurationsdatei steuert, wie mit Umlauten, die bei der Katalogabfrage zurückgegeben werden, verfahren werden soll:
Diese umfangreiche Konfigurationsdatei erlaubt einen Einfluß darauf zu nehmen, wie genau die Anlegemaske von Goobi aufgebaut sein soll:
Es gab einige besondere Ausnahmefälle, bei denen die Ausführung mehrerer GoobiScripte nur das jeweils letzte der gleichzeitig abgesendeten Kommandos ausgeführt hat. Dies konnte glücklicherweise nun aber gefunden und behoben werden, so dass auch solche gleichartigen Kommandos nun an Goobi übergeben werden können und korrekt ausgeführt werden.
Goobi workflow hatte über viele Jahre schon die Möglichkeit, dass Nutzer sich ein individuelles Session-Timeout einstellen können. Davon haben nur sehr wenige Nutzer Gebrauch gemacht und dies auch nur deswegen, weil der Standardwert auf zu kurze 30 min eingestellt war. hier haben wir nun eine Änderung vorgenommen. Der neue Standardwert ist ab nun 4 Stunden.
Zusammen mit der Zentral- und Landesbibliothek Berlin (ZLB) entwickeln wir gerade eine ganz neue Funktionalität für die Verarbeitung und Bereitstellung von E-Pflicht-Publikationen. Hierbei handelt es sich ingesamt um ein recht sportliches Vorhaben mit teilweise enormer Komplexität. Aus diesem Grund wird sich die Entwicklung der Funktionalität auch noch über ein paar Wochen erstrecken. Um die Welt da draußen aber nicht ewig auf die Folter zu spannen, möchten wir hier einmal einen kleinen Einblick in den aktuellen Status quo der Entwicklungen ermöglichen, indem wir hier einmal verschiedene Screenshots der (noch) nur deutschsprachigen Oberfläche zeigen:
Auf einer eigens angepassten Oberfläche im Corporate Design können sich die Abliefernden in Goobi workflow einloggen oder registrieren.
Abliefernde Einrichtungen legen sich in einer möglichst intuitiv bedienbaren Oberläche eigene Benutzerkonten an.
Nachdem die ZLB neu registrierte Nutzer für die Ablieferung freigeschaltet hat, können diese weitere Daten zu der abliefernden Institution ergänzen.
Nach vollständiger Registrierung der abliefernden Einrichtung sind verschiedene Aktionen möglich, so unter anderem die Ablieferung von eigenständigen Werken.
Innerhalb der Nutzeroberfläche ist es über eine eingebettete Hilfefunktion jederzeit möglich, sich Hilfetexte zur Eingabe anzeigen zu lassen.
Innerhalb der regulären Oberfläche von Goobi workkflow sorgt ein besonderes Administrationsplugin dafür, dass die ZLB einen Überflick über alle abliefernden Einrichtungen behält, die in Goobi als Mandanten vorliegen.
Auch die zugehörigen Nutzer einer abliefernden Einrichtung lassen sich über die administrativen Bereiche verwalten.
Unter anderem ist auch die Datenschutzerklärung in diesem Bereich bearbeitbar, die die Abliefernden während der Registrierung akzeptieren.
Alles in allem ist hier also bereits schon viel geschehen. Die Arbeiten sind aber noch in vollem Gang und werden noch einiges an Zeit in Anspruch nehmen. Manche Funktionen und Oberflächen werden sich vermutlich auch noch einmal deutlich ändern in den kommenden Wochen. Aber als ein erster Einblick zeigen die Screenshots hier bereits gut, was in den nächsten Wochen und Monaten als weitere Funktionalität für alle Interessierten als Open-Source-Lösung bereitstehen wird.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 22.06. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Angekündigt hatten wir es ja schon. So mancher Nutzer wird es vielleicht auch schon bemerkt haben, dass sich das Layout (zunächst) minimal ändert: Sukzessive stellen wir das Layout von Goobi workflow auf Bootstrap 5 um. Erste Seiten sind bereits umgezogen.
Aber wer hätte es gedacht: Es ist aufwendiger als erwartet. Es begleitet uns als Thema also auch noch weiterhin ein bisschen.
Wir haben am Bereich des Logins und Logout in den letzten Monaten schon einige Umstellungen vorgenommen, die unter anderem die Anzeige der aktiven Nutzer und auch das Logging betrafen. Uns ist allerdings aufgefallen, dass nach dem Ausloggen von Nutzern dessen Session nicht sofort komplett bereinigt wurde bisher. Hier haben wir noch einmal einiges angepasst und anschließend auf Herz und Nieren durchgetestet. Damit sind wir jetzt zufrieden, der Speicherplatz für die Sessions fällt nun etwas kleiner aus und es kann aus unserer Sicht so bleiben.
Auf einigen Goobi-Systemen, insbesondere denjenigen mit umfangreichem Datenbestand, viel auf, dass die Auflistung der Produktionsvorlagen signifikant langsamer war als die Auflístung der Vorgänge. Das haben wir uns in diesem Monat einmal genauer angeschaut und konnten feststellen, dass hier die umfangreichere Rechteprüfung der Projektmitgliedschaften einen wesentlichen Einfluß hat. Das ließ sich glücklicherweise aber ganz gut beheben, so dass jetzt keine Performanceeinbußen bei den Produktionsvorlagen mehr erkennbar sein sollten.
Uns ist leider ein kleiner Bug aufgefallen, der die Prüfung der Passwortlänge von Nutzern betrifft. Die Länge des Passworts wurde fälschlicherweise auch dann geprüft - und als zu kurz angemerkt, wenn Daten eines bestehenden Nutzers geändert werden sollten, ohne dass überhaupt ein Feld für die Passworteingabe in der Nutzeroberfläche angezeigt wurde. Wir haben den Fehler in diesem Release korrigiert.
Um die Qualität von Software sicherzustellen, können Softwareentwickler automatische Tests implementieren. Solche Tests können dann automatisiert einzelne Funktionalitäten der Gesamtsoftware prüfen und werden mindestens vor der Veröffentlichung eines Release ausgeführt.
Goobi workflow hat bereits seit vielen Jahren einige hundert solcher Tests. Dennoch ist es unser Ziel, dass wir möglichst viel des Quellcodes mit Tests abdecken, um somit einerseits die Codequalität sicherzustellen und andererseits auch, um bei Neuentwicklungen und Anpassungn stets sicher sein zu können, dass die vorhandene Funktionalität auch weiterhin gewährleistet ist.
Mit dem Release in diesem Monat sind ca. 230 neue Tests hinzugekommen. Das bemerkenswerte hierbei ist allerdings nicht nur die Anzahl der Tests allein. Denn gerade die neu hinzugekommenen Tests beziehen sich hier auf einen der komplexesten Bereiche von Goobi workflow, indem wir nun auch im Metadateneditor eine deutliche bessere Testabdeckung erreicht haben.
Neben der Steigerung der Testabdeckung mittels automatisierter Tests haben wir uns intensiv mit der Code-Qualität von Goobi workflow auseinandergesetzt. Dafür haben wir Goobi workflow nun auch innerhalb von Sonarcloud mit registriert, so dass wir dort automatisch Codeanalyseergebnisse erhalten und sukzessive Verbesserungen am Quellcode der Software vornehmen können.
Dort läßt sich nun beispielsweise nachvollziehen, wie wir in diesem Monat eine Einstufung auf Level A erreicht haben für alle wichtigen Bereiche der Qualitätsanalyse:
Hier kann man auch noch einmal einen Vergleich zwischen Vorher und Nachher einsehen:
Wer einmal selbst im Detail schauen möchte, wir die Qualität des Quellcodes von Goobi workflow aussieht, der kann hier einmal Einblick nehmen:
Vor gar nicht allzu langer Zeit haben wir hier über ein neues Plugin für die Registrierung von URNs berichtet, das die REST-API der Deutschen Nationalbibliothek nutzt. Dieses Plugin ist nun bereits bei den ersten Goobi-Nutzern in den Regelbetrieb gegangen. In dem Zusammenhang haben wir dann noch einmal eine zusätzliche Funktionalität ergänzt: Der Aufbau der URNs kann nun auf Wunsch den Timestamp der Registrierung einsetzen.
Bisherige Verwendung mit einem Zähler:
Neue Möglichkeit mit Nutzung eines Timestamps:
Bei der Gelegenheit haben wir auch gleich die Log-Meldungen im Vorgangslog noch einmal etwas übersichtlich gestaltet, so dass diese alle einen Präfix erhalten und so klar von anderen Log-Meldungen unterscheidbar sind, wie in diesem Beispiel:
Und natürlich haben wir auch die Doku erweitert und um die neuen Möglichkeiten ergänzt:
Hier auch noch einmal der Link zu dem Quellcode und der kompilierten Fassung des Plugins bei GitHub:
Wir haben eine Fehlfunktion im beliebten Image-QA-Plugin gefunden. Dort ist es ja möglich, dass auch Bilder gelöscht werden können, sofern dies aktiviert wurde. Hier hatte sich aber scheinbar ein Fehler eingeschlichen, der bei der Auswahl mehrerer Bilder zum Löschen dafür sorgte, dass nicht immer die ausgewählten Bilder gelöscht wurden. Dies ist jetzt korrigiert.
Mehr Informationen zu dem Plugin finden sich hier in der Dokumentation:
Und wer das Plugin noch nicht einsetzt, sollte es unbedingt mal testen. Hier läßt es sich beziehen:
Mit dem Plugin Export-Package steht ein Plugin zur Verfügung, das nahezu alle erdenklichen Exporte der Daten an Drittsysteme erlaubt. Dabei läßt sich genau steuern, welche Daten im Export vorhanden sein sollen, wo die Daten hingeliefert werden sollen und vieles mehr. Sogar eine Konvertierung der METS-Dateien in dritte Formate kann hierbei erfolgen, indem eine xslt-Transformation angewendet wird. Was allerdings bisher noch nicht ging war, dass das exportierte Ergebnis nicht mehr nur als Verzeichnis exportiert sondern im Anschluß gezippt werden soll. Diese Funktion haben wir nur entwickelt und auch entsprechend in der Dokumentation ergänzt.
Hier findet sich die ausführliche Dokumentation des Plugins:
Und wie gehabt befindet sich der Quellcode des Plugins zusammen mit der kompilierten Fassung des Plugins hier:
Wir haben ein neues Plugin für den Massenimport von Excel-Dateien implmeentiert und veröffentlicht. Die Besonderheit hierbei ist, dass aus jeder Excel-Datei, die importiert wird, mehrere Strukturelemente erzeugt werden, jeweils ein Element pro Zeile. Darüber hinaus kann hierbei auch ein vorhandener EAD-Baum mit weiteren Knoten angereichert werden, so dass ein umfangreicher Bestand entsteht.
Im Detail kann die Funktionalität des Plugins hier in der Dokumentation eingesehen werden:
Und hier befindet sich der Quellcode des Plugins:
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 22.08. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Wir haben für einen Partner eine Prozesskette entwickelt, die es erlaubt aus einer easydb exportierte Datensätze vollautomatisch in Goobi workflow zu importieren, zu verarbeiten und in einen Goobi viewer zu exportieren.
Für diese Prozesskette wurden drei Plugins verwendet und erweitert um die Anforderungen an das Projekt zu erfüllen.
Das kann ab jetzt nicht nur eine entfernte API abfragen, sondern auch XML Dateien aus dem Dateisystem lesen.
Der (ehemals CataloguePoller) wurde im Rahmen des Projektes um die Möglichkeit erweitert, nicht nur über ein Filterset von Vorgängen zu arbeiten, sondern auch über die Dateien in einem Ordner zu iterieren. Neu ist auch die Funktionalität, dass die einzelnen Arbeitsaufträge über die interne Ticket Queue abgearbeitet werden.
Das hat kleinere Anpassungen erfahren um zum Beispiel Dateien ohne Dateiendung zu finden, mit doppelten Dateinamen umzugehen oder um Fehlermeldungen bei fehlenden Bildern zu überspringen.
Die Prozesskette funktioniert auch periodisch und legt neue Vorgänge an oder aktualisiert bestehende. Einmal importiert durchlaufen die Datensätze wie gewohnt die einzelnen Schritte des Workflows.
Der Kern von Goobi workflow wurde um die Möglichkeit erweitert innerhalb des Metadateneditors Plugins anzubieten. Diese binden sich oben in der blauen Kopfzeile ein und stellen ihre Funktionalität zur Verfügung.
Ausschlaggebend für die Entwicklung war die Anforderung innerhalb des Metadateneditors den Publikationstyp wechseln zu können. Hierfür sollten Templatevorgänge angelegt und bestimmte, gekennzeichnete Metadaten bei dem Wechsel übernommen werden.
Immer wieder kommt es vor, dass bestimmte Metadaten automatisch aus anderen Werten gebildet werden sollen. Ein Beispiel könnte der Haupttitel eines Briefes sein, der immer wie folgt gebildet werden soll: "Brief von [Absender] an [Empfänger] an [Ort], [Datum]
"
Um diese Funktionalität im Metadateneditor zur Verfügung stellen zu können wurde der die Konfigurationsdatei goobi_metadataDisplayRules.xml
um die Möglichkeit erweitert für bestimmte Metadaten unter konfigurierbaren Bedingungen Werte aus anderen Metadatenwerten generieren zu können.
Eine Konfiguration für das oben genannte Beispiel könnte wie folgt aussehen:
Innerhalb des Metadateneditors besteht jetzt die Möglichkeit zu jeder Zeit ein PDF aller Bilder zu generieren. Dafür befindet sich ein neuer PDF-Button in der linken Spalte mit dem Strukturbaum
Es gibt ein neues Schritteplugin um innerhalb eines Workflows einen Vorgang umzubenennen. Dafür kann auf die in Goobi workflow vorhandenen Variablen zurückgegriffen werden. Zusätzlich sind Unterstriche und Minus als Zeichen erlaubt. Leere Variablen werden übersprungen und Leerzeichen entfernt.
Das Plugin um einen Export für das DDB Zeitungsportal zu realisieren wurde für eine bessere Anzeige der Daten im DFG-Viewer angepasst.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 22.11. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
In Goobi workflow läßt sich durch den Regelsatz steuern, welche Metadaten beispielsweise wie häufig vorkommen dürfen, wo sie erlaubt sind und welche Inhalte darin möglich sind. Auf diese Weise läßt sich eine Qualitätsanforderung an die zu erfassenden Metadaten gut steuern und einhalten. Damit der Nutzer diese Anforderungen gut einhalten kann, zeigt der Metadateneditor Validierungsmeldungen an, die auf Probleme hinweisen. In der Vergangenheit wurden diese Meldungen allerdings immer nur global anzeigt, nicht direkt am betreffenden Metadatum selbst und auch nicht am zugehörigen Strukturelement. Mit anderen Worten: Man war ein bisschen ratlos als Nutzer, welches Feld nun wo genau nicht valide war. Man musste sich erst einmal auf die Suche machen.
An dieser Stelle gibt es ab sofort einige größere Änderungen. Validierungsmeldungen erscheinen unmittelbar am Feld in roter Farbe und weisen mit einer hilfreichen Meldung direkt auf die Probleme hin.
Und auch in der Baumanzeige der Strukturelemente im linken Bereich werden die Validierungsprobleme jetzt hervorgehoben und ermöglichen dem Nutzer jetzt, sehr schnell das betreffende Metadatum zu finden, für das eine Meldung vorliegt.
Wenn man dabei den Mauszeiger über ein Strukturelement mit Fehlern hält, sieht man in einem Popup sofort die zugehörige Meldung.
Ausserdem haben wir bei der Gelegenheit übrigens auch eine neue Tastenkombination für die Durchführung der Validierung eingeführt. Sie lautet: CTRL
+ SHIFT
+ V
.
Nachdem durch kleinere optische Anpassungen der Suchschlitz innerhalb der Vorgangsliste von Goobi workflow zu klein geraten ist, war er in letzter Zeit etwas zu mühsam in der Benutzung. Man konnte einfach nicht mehr gut überblicken, welche Suchbegriffe man schon eingetragen hatte, wenn die Suchanfrage etwas länger wurde.
Ab diesem Monat gehört dieser Umstand der Vergangenheit an. Der Suchschlitz ist jetzt grundsätzlich deutlich länger auf regulären Displays.
Und auch auf Mobilgeräten ist die Bedienbarkeit so, dass man vernünftig mit der Suche arbeiten kann:
Goobi workflow verfügt ja seit einiger Zeit schon über eine Vokabularverwaltung, die unter anderem dafür verwendet werden kann, dass de Metadateneditor mittels Auswahlfeldern mit kontrollierten Listen möglichst bequem bedient werden kann. Dabei ist es auch möglich, dass die Werte nicht nur in einem Auswahlfeld zur Verfügung stehen sondern ebenso nach Nutzung einer Suchmaske aus einer Trefferliste ausgewählt werden können.
Übernommen wird in einem solchen Fall nicht nur der ausgewählte Wert für die anschließende Anzeige der Digitalisate im Goobi viewer. Stattdessen wird außerdem eine URL für die Verlinkung auf den entsprechenden Vokabulardatensatz eingetragen.
Hier hatte sich unglücklicherweise ein kleiner Fehler eingeschlichen, so dass diese URLs ggf. nicht korrekt waren. Dieses Verhalten haben wir nun korrigiert, so dass die URLs jetzt stimmen. Bitte prüfen Sie aber, ob Sie diese Funktionalität bisher bereits verwendet haben. In diesem Fall sollten die bereits eingetragenen URLs gegebenenfalls noch bei Ihnen korrigiert werden.
Wir hatten schon angekündigt, dass wir hinsichtlich Accessibility und Usability einige größere Umbauten im Hintergrund vornehmen. Bei der Administrationsmaske für die Benutzer ist es jetzt soweit, dass wir diese Änderungen langsam in Betrieb nehmen. Wie angekündigt gehen damit kleinere optische Änderungen einher. Dies sollte sich bald dann auch flächendeckend auf andere Bereiche auswirken.
So sieht es jetzt schon aus:
Es gab schon seit einiger Zeit verschiedene GoobiScripts, um Daten innerhalb der Metadaten zu ändern. Leider war dies jedoch bisher nicht ohne weiteres auch für Metadatengruppen möglich. Hier gab es in diesem Monat nun jedoch einige Änderungen, so dass die bestehenden GoobiScripte jeweils auch für Metadatengruppen anwendbar sind, wenn die jeweiligen Parameter korrekt gesetzt sind.
Da die Änderungen recht umfangreich sind, haben wir auch die Dokumentation gleich angepasst bzw. erweitert. Sie findet sich wie gehabt unter folgender Adresse:
Innerhalb des Journals (früher Vorgangslog
) sind die einzelnen Aktivitäten eines Workflow üblicherweise gut nachvollziehbar. Unter anderem wurden dort auch bereits in der Vergangenheit schon die Aufrufe von Skripten protokolliert, um diese in Problemfällen auch besser nachvollziehen zu können. Was allerdings fehlte war, das innerhalb der Skriptaufrufe auch die verwendeten Variablen in ihrer ersetzten Form angezeigt werden. Dies ist jetzt angepasst worden, so dass nach jedem Aufruf eines Skriptes innerhalb des Journals sowohl der Skriptaufruf in seiner ursprünglichen Form als auch in seiner aufgelösten Form aufgeführt wird.
Im Fall eines einfachen Skripts wie diesem hier:
... sieht so der Aufruf innerhalb des Journals nun aus:
Bei der Gelegenheit haben wir übrigens auch gleich einmal die Höhe der Box angepasst, so dass diese den verfügbaren Platz besser ausnutzt und man ohne zu scrollen gleich mehr Informationen auf einmal einsehen kann.
Goobi workflow verfügt über ein ziemlich granular steuerbares Rechtesystem. Es ist dabei so flexibel, dass sogar Plugins eigene Rechte definieren können, über die ein Nutzer verfügen muss, damit er mit dem Plugin arbeiten kann.
Um den Administratoren (also auch uns selbst) das Leben etwas einfacher zu machen, haben wir nun eingeführt, dass alle Nutzer, die über den Status Super-Administrator
verfügen, auch automatisch stets über sämtliche Rechte in Goobi verfügen inklusive derjenigen individuellen Rechte, die Plugins mitbringen.
Im Rahmen unserer Entwicklungen der Lieferung von elektronischen Pflichtexemplaren benötigten wir eine flexible Möglichkeit, dass die von Nutzern hochgeladenen Dateien validiert und auf die Einhaltung von Anforderungen hin geprüft werden. Hierfür sollte es unter anderem möglich sein, dass beliebige externe Tools zur Validierung verwendet werden können und dass die Einhaltung definierter Level sichergestellt wird.
Herausgekommen ist in der Entwicklung nun ein extrem flexibles Validierungsplugin, dass sich sehr granular konfigurieren läßt. Eine umfangreiche Dokumentation für das Plugin haben wir hier auch samt mehrerer sinnvoller Konfigurationsbeispiele veröffentlicht:
Und wie gewohnt findet sich der Quellcode des Plugins sowie eine kompilierte Fassung bei GitHub:
Dies dürfte nur wenige Nutzer betreffen, aber für diejenigen ist es wichtig:
Das noch recht neue Plugin für die Registrierung von URN konnte bisher nicht verwendet werden, wenn der Goobi- Server nur über einen Proxy auf das Internet zugreifen darf. Hier haben wir jetzt eine Anpassung vorgenommen, die ab sofort auch den Betrieb hinter einem Proxy erlaubt.
Die Dokumentation haben wir für diese Änderung auf den aktuellen Stand gebracht:
Das Plugin findet sich wie gehabt hier auf GitHub:
Nach langer Entwicklung an dem Plugin zur Erfassung von verlinkten Entitäten haben wir nun auch die zugehörigen Plugins abgeschlossen und bei GitHub veröffentlicht. Hierbei handelt es sich einerseits um ein besonderes Dashboard-Plugin:
Andererseits wird ausserdem dieses Workflow-Plugin benötigt:
Die Installation und Konfiguration dieser Plugins sind nun auch vollständig und sehr granular dokumentiert. Sie stehen wie gewohnt auf unserer Dokumentationsplattform zur Verfügung:
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 22.10. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Innerhalb der Benutzereinstellungen gibt es nun im Bereich Allgemein
die Möglichkeit, dass sich jeder Nutzer selbst den Anzeigemodus individuell festlegt. Hierbei kann zwischen Normaler Anzeige
, Low Vision Modus
sowie dem WCAG kompatiblen Modus
ausgewählt werden.
Diese Option besteht natürlich zusätzlich zu der Möglichkeit, dass jeder Nutzer sich über eigene CSS-Definitionen das Layout von Goobi selbst anpassen kann.
Im Konfigurationsdateien-Editor-Plugin ist es ab jetzt möglich, eine Liste von Verzeichnissen, in denen Dateien zum Bearbeiten gesucht werden sollen, zu konfigurieren. Die neue Konfiguration sieht erweitert nun wie folgt aus:
In dem Zusammenhang wurde bedacht, dass der Editor nicht dafür genutzt werden sollte, seine eigene Konfigurationsdatei zu ändern. Dies hätte andernfalls ermöglicht, dass sich berechtigte Anwender zusätzliche Pfade für den Editor festlegen, um auch tiefgreifendere Eingriffe in das System vorzunehmen.
Die Dokumentation für das Plugin findet sich an dieser Stelle:
Im Rahmen unserer permanenten Verbesserung der Nutzeroberfläche zur Steigerung der Barrierefreiheit haben wir nun auch einmal den zentralen Skip Link
genauer anschaut. Dieser befindet sich auf allen Seiten ganz oben und erlaubt, dass Nutzer mit einer Tastatursteuerung über die TAB
-Taste sofort zu dem Inhaltsbereich der Seite navigieren können. Hier gab es nun also eine kleine Korrektur für die richtige Reihenfolge des Durchlaufens der Seitenelemente.
Innerhalb des Dashboards, was die Mehrheit der Goobi workflow Nutzer einsetzen, werden die zuletzt abgeschlossenen Aufgaben angezeigt. Dort wurden bisher auch versehentlich Aufgaben mit aufgelistet, die aus kürzlich bearbeiteten Produktionsvorlagen stammen. Hier gab es nun eine Korrektur, die diesen Anzeigefehler vermeidet.
Mit den neuen Entwicklungen ist es von nun an möglich, Kommentare zu einzelnen Bildern zu schreiben. Diese Kommentar-Funktion ist an mehreren Stellen in Goobi workflow integriert: im METS-Editor, im ImageQA Plugin sowie auch im LayoutWizzard. Um diese neue Funktionalität nutzen zu können, muss sie innerhalb der zentralen Konfigurationsdatei goobi_config.properties
aktiviert werden:
Bisher hat innerhalb des Metadateneditors ein Klick auf ein Thumbnail immer auch die aktuelle Seite in der Paginierung gesetzt, selbst wenn man sich zum Beispiel in der Strukturdaten-Ansicht befunden hat. Dadurch konnte es versehentlich zu Fehlbedienungen kommen, wenn später weitere Paginierungsarbeiten erfolgen sollen. Durch eine Änderung der Bedienlogik ändert ein Klick auf die Thumbnails von nun an nur noch die in der Paginierung ausgewählte Seite, wenn man auch tatsächlich in der Paginierung ist.
Es gab ein Fehlverhalten innerhalb des Vorgangslogs, wenn ein Nutzer nach Eingabe eine Nachricht Enter gedrückt hat. Dort wurde die Anzeige gewechselt, statt die Nachricht abzusenden. Dieser Fehler ist nun behoben.
Sämtliche Buttons innerhalb von Goobi workflow wurden einmal intensiv geprüft, um sicherzustellen, dass diese nach den umfangreichen Accessibility-Umstellungen auch weiterhin funktionieren und richtig angezeigt werden. Sollten wir hierbei doch einen Button oder eine Funktionalität übersehen haben, so freuen wir uns über eine Rückmeldung.
Bisher hat der GoobiScript-Parser bei invalide verwendeter Syntax des YAML-Formats zunächst die Sicherheitsabfrage angezeigt und dann erst ganz oben auf der Seite einen Fehler angezeigt. Das hat zu Verwirrungen bei den Nutzern geführt, weil das zuvor abgesendete GoobiScript doch nicht wie erwartet ausgeführt wird. Aus diesem Grund wird ab jetzt das GoobiScript direkt nach dem Abschicken auf Validität überprüft und bei einem eventuellen Fehler eine Fehlermeldung direkt oberhalb des GoobiScript-Bereichs angezeigt.
Im GoobiScript addUserGroup
gab es ein Fehlverhalten, das bei mehrfachem Aufruf dazu geführt hat, dass lediglich die zuletzt hinzugefügte Nutzergruppe zu der gewünschten Aufgabe hinzugefügt wurde. Dieses Verhalten wurde nun behoben und das GoobiScript verhält sich von nun an korrekt.
In der Vokabularverwaltung werden ab jetzt bei allen Textfelder (Input, Textara, HTML) vorangestellte und nachfolgende Leerzeichen entfernt, um solche versehentlichen Eingaben und die sich daraus potentiell ergebenden Probleme zu vermeiden.
Die GoobiScripte metadataChangeValue
, metadataAdd
, metadataDelete
und metadataReplace
setzen nun für Änderungen von Inhalten den Variablenreplacer ein und erlauben somit eine sehr flexible Verwendung unter Einbeziehung anderer Metadatenfeldinhalte oder auch Informationen über den Vorgang, zu dem die Metadaten gehören.
Ein beispielhafter Aufruf sieht so aus:
Mehr Informationen gibt es wie gehabt hier zum Variablensystem von Goobi workflow:
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 22.01. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Es gibt bereits seit einiger Zeit verschiedene GoobiScripts, die sehr bequem Änderungen sogar an Metadaten in Masse vornehmen können. Dabei haben wir uns in der Vergangenheit oft auf reguläre Metadaten konzentriert. Mit einem neuen GoobiScript erlauben wir jetzt auch Änderungen bei Personen. Hierbei geht das darum, dass eine bequeme Möglichkeit benötigt wurde, um die Rollen von Personen in Masse ändern zu können, um beispielsweise in 100.000 Vorgängen aus verkehrt zugewiesenen Personenrollen als Autoren stattdessen Erfinder machen zu können. In einem solchen Fall würde der Aufruf des neuen GoobiScripts wie folgt aussehen:
Dieses und die vielen anderen GoobiScripts finden sich wie immer in der Online-Doku detailliert beschrieben.
Hier der Link zur weiteren Hilfe:
Lang hat es gedauert. Aber dafür ist es auch wirklich gut geworden: Es gibt nun eine sehr ausführliche Dokumentation für künftige Goobi workflow Entwickler. Dort wird detailliert aufgezeigt, wie man sich eine Entwicklungsumgebung aufsetzt, welche Tools für die Inbetriebnahme benötigt werden und welche Einstellungen man hier und da vornehmen sollte, damit die Entwicklung flüssig von der Hand geht.
Um es den künftigen Entwicklern möglichst einfach zu machen haben wir innerhalb der Anleitung auch gleich noch dokumentiert, wie man sich sehr bequem einen kleinen sinnvollen Datenbestand einrichtet, damit die Entwicklung auch mit tatsächlichen sinnvollen Daten möglich ist. Hierzu kamen uns die vielen Erfahrungen im Umgang mit Goobi-to-go zugute.
Wer also schon immer mal an Goobi mitentwickeln wollte, hat es nun einfacher denn je. Hier gehts zur Doku:
Goobi worklow erlaubt schon seit einiger Zeit, dass innerhalb eines Workflows Exporte auch über Plugins stattfinden können. Diese ist für individuelle Exporte zu besonderen Systemen mit besonderen Formatanforderungen manchmal notwendig. Wenn allerdings innerhalb eines Workflows mehrere Exporte stattfinden sollen, dann war es bisher für Administratoren nicht möglich einen bestimmten Export eines Workflows gezielt auszuführen. Im Rahmen des Durchlaufens des Workflows hingegen funktionierten die Exporte jedoch bereits so wie gewünscht.
Um es nun auch für die Goobi Administratoren zu vereinfachen, dass gezielt einzelne Export-Schritte selektiv manuell aufzurufen, werden Export-Buttons nun innerhalb der Vorgangsdetails direkt neben den betreffenden Aufgaben angezeigt. Damit ist ein Aufruf jetzt wie gewünscht möglich geworden.
Uns ist aufgefallen, dass das Logging innerhalb des Vorgangslogs noch verbesserungswürdig war, wenn mittels GoobiScript der Status von Aufgaben geändert wurde. Wir wollten gern, dass sowohl der alte als auch der neu gesetzte Status im Vorgangslog noch weiterhin gut nachvollziehbar sein sollten. Aus diesem Grund gab es hier jetzt eine kleine Anpassung, die solche Statusänderungen besser nachvollziehbar macht.
Wir hatten kürzlich bereits die Benennung der Backup-Dateien für die METS-Dateien der Goobi-Vorgänge dahingehend geändert, dass diese im besser nachvollziehbar sind, nicht weiter rotieren und damit unnötige Schreibzugriffe auf langsame Speicherbereiche verursachen. Um dieses Benennungsschema nun konsequent umzusetzen, wenden wir diesen Mechanismus ab sofort ebenfalls für die automatisch erzeugten Backups der Dateien an, die innerhalb der noch recht neuen Editoren für die Konfigurationsdateien und Regelsätze erzeugt werden.
Auch hier ist die Benennung der Backup-Dateien nun so, dass aus dem Dateinamen unmittelbar das Datum und die Zeit des Backups ersichtlich wird und hilft im Falles des Falles gut weiter.
Dass uns das Thema der Barrierefreiheit nicht nur interessiert sondern auch Vollzeit beschäftigt haben wir ja schon des öfteren beschrieben. Insofern ist es nur konsequent, dass wir auch in diesem Monat wieder viele Kleinigkeiten zugunsten der Accessibility verbessert haben. Dies betraf nun vor allem die Darstellung des Vorgangslogs und einige Anpassungen für die Anzeige der Vorgangsliste.
Es wird aber sicher nicht das letzte Mal sein, dass dieser Punkt hier in den Digests aufgeführt wird. 😀
Wir haben in der Vergangenheit bereits verschiedene Mechanismen für persistente Identifier in Goobi workflow integriert. So fanden neben URN auch Handle und DOI ihren Weg in das Goobi-Universum. Neu hinzugekommen ist kürzlich die Unterstützung von ARK-Identifiern. Hierbei handelt es sich um ein weiteres System, das im Zusammenspiel mit dem Goobi viewer eine dauerhafte Verlinkung von Werken und auch eine granulare Verlinkung auf Seitenebene erlaubt. Im Gegensatz zu anderen Systemen erfordern ARK-Identifier keine Lizenzkosten und können eigenständig frei vergeben werden. Mehr Informationen zu ARK im Allgemeinen finden sich hier:
Und hier findet sich die Dokumentation für das von uns entwickelte Plugin:
Der Quellcode zum Plugin findet sich bei GitHub hier veröffentlicht:
Manchmal ist es hilfreich, wenn man gleich auf einen Blick sieht, welcher Regelsatz für eine Produktionsvorlage Verwendung findet. Aus diesem Grund kann der Regelsatz ab sofort innerhalb der Auflistung von Vorgängen und Produktionsvorlagen eingeblendet werden. So sieht das dann aus:
Es wurde ein neues Plugin für das Versenden von Mails innerhalb einer Aufgabe entwickelt. Die Liste der Empfänger und der Text lassen sich dabei für verschiedene Schritte individuell konfigurieren. Dabei stehen auch alle Felder aus dem Variablen-Replacer zur Verfügung. Somit kann auch auf Metadaten oder Informationen zum Vorgang, Schritt oder Projekt zurückgegriffen werden, um diese innerhalb der Mail zu verwenden.
Die ausführliche Dokumentation für die Inbetriebnahme des Plugins findet sich hier:
Und an dieser Stelle findet sich das Plugin als Quellcode und in kompilierter Fassung:
Im Bereich "Allgemein" gibt es nun die Möglichkeit, den Anzeigemodus individuell festzulegen. Hier kann zwischen Normaler Anzeige, Low Vision Modus und WCAG kompatiblen Modus gewählt werden.
Wir haben ein neues Plugin für den Export von Zeitungen für das Zeitungsportal der DDB entwickelt. Das Plugin dient zur Erstellung der spezifischen METS-Struktur, die von Seiten der DDB für Zeitungen gefordert werden. Dabei wird für die Gesamtaufnahme einer Zeitung eine METS-Anchor Datei erzeugt. (https://wiki.deutsche-digitale-bibliothek.de/display/DFD/Gesamtaufnahme+Zeitung+1.0)
Für jeden exportierten Jahrgang wird eine weitere METS-Anchor Datei erzeugt und innerhalb der Gesamtaufnahme verlinkt. Der Jahrgang enthält weitere Strukturen für Monat und Tag. (https://wiki.deutsche-digitale-bibliothek.de/display/DFD/Jahrgang+Zeitung+1.0)
Jede Ausgabe hingegen wird als einzelne METS-Datei erstellt und in der METS-Anchor Datei des jeweiligen Jahrgangs verlinkt. Die Ausgabe kann weitere Strukturdaten wie Artikelbeschreibungen oder Beilagen enthalten. Hier wird auch auf die digitalisierten Bilder verwiesen. (https://wiki.deutsche-digitale-bibliothek.de/display/DFD/Ausgabe+Zeitung+1.0)
Eine detaillierte Dokumentation für das Plugin findet sich hier:
Und an dieser Stelle findet sich dann sowohl der Quellcodes des Plugins als auch die kompilierte Fassung des Plugins:
Die Entwicklung an Goobi workflow startete bereits im Jahr 2004. In der Zwischenzeit hat sich funktioniell viel Neues ergeben und die Applikation ist um ein vielfaches gewachsen. Um hierbei einerseits den Überblick weiterhin gut zu bewahren aber auch um etablierte Best-Practice für Software-Entwicklung einzuhalten (Maven-Verzeichnisstruktur) sowie künftig auch noch einfacher stets auf aktuellem Stand der verwendeten Programmbibliotheken zu bleiben, haben wir die Projektstruktur massiv überarbeitet. Dies sollte funktioniell für die Anwender keine Änderung mit sich bringen. Für uns als Entwickler sind das allerdings umfangreiche Eingriffe in den Arbeitsalltag und die Projektorganisation. Wenn Ihnen bei der Benutzung von Goobi workflow in kommender Zeit unerwünschte Seiteneffekte auffallen sollten, die sicher nicht gewünscht sein sollten, so lassen Sie uns dies bitte wissen.
Im Übrigen haben sich durch diese Umstellungen auch bereits einige positive Ergebnisse gezeigt. Die durch die Umstellung vorgenommenen Updates verschiedener Programmbibliotheken führten bereits zu einer messbaren Steigerung der Sicherheit potentiell angreifbarer Code-Bestandteile externer Bibliotheken und eine bessere Automatisierbarkeit des Testens auf mögliche künftige Sicherheitslücken.
Es gab einen kleinen Darstellungsfehler innerhalb der eigenen Aufgaben. Dort bestand ein eigenwilliger Zeilenumbruch mit ungewöhnlicher Zeichendarstellung, die dort nicht hingehörte. Dies haben wir korrigiert. Nix passiert. 😀
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 22.03. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Innerhalb des Plugins für die Qualitätskontrolle von Dateien besteht bereits seit einiger Zeit die Möglichkeit, dass gezielt einzelne Dateien auch verändert werden können, sofern dies in der Konfiguration aktiviert wurde. So lassen sich Bilder beispielsweise dauerhaft rotieren oder gar löschen. Neu hinzugekommen ist nun, dass Bilder von nun an auch gespiegelt werden können. Dies ist sowohl horizontal wie auch vertikal möglich.
Zur Nutzung dieser Funktionalität muss die Konfiguration entsprechend den Vorgaben angepasst werden. Die Details dazu finden sich wie bisher innerhalb der Plugin-Dokumentation:
Wenn innerhalb des Workflows mit PDF-Dateien gearbeitet werden soll, stehen hierfür Routinen zur Verfügung, die die Inhalte der PDF-Dateien automatisch extrahieren und zu Bildern konvertieren. Hier gab es in der Vergangenheit allerdings gelegentlich eine Anzeige von irritierenden Meldungen im Falle von aufgetretenen Fehlern. Das wurde entsprechend geändert und ist nun für die Anwender deutlich aussagekräftiger und hilfreicher.
Die Sortierung der Anzeige der Benutzer innerhalb von Goobi workflow erfolgte bisher nicht ganz intuitiv. Dies ist nun behoben und die Sortierung ist intuitiver, ohne das Groß- und Kleinschreibung von Namen unerwartete Nebeneffekte haben.
Es gibt mal wieder ein neues GoobiScript. Dieses Mal geht es darum, dass wir eine Funktionalität benötigten, die es erlaubt bestehende Vorgänge in Goobi workflow vollständig zu duplizieren samt ihrer zugehörigen Daten. Dabei kann der zu verwendende Titel des Vorgangs unter Nutzung von Variablen frei definiert werden. Auch läßt sich festlegen, ob nur die Daten aus der Datenbank oder auch alle internen Verzeichnisse mit dupliziert werden sollen.
So sieht das neue Goobi-Script nun beispielhaft aus:
Und wie auch bisher findet sich die vollständige Dokumentation zu GoobiScript unter dieser Adresse:
Bisher war es so, dass der Aufruf eines Plugins aus den Vorgangsdetails nicht innerhalb des Vorgangslogs mitgeführt wurden. Zur besseren Nachvollziehbarkeit wäre dies aber immer mal wieder praktisch. Aus diesem Grund haben wir die Logik der Ausführung nun so geändert, dass solche Ausführungen auch im Vorgangslog mitgeführt werden.
Für die Konfiguration von Regelsätzen innerhalb der administrativen Oberfläche von Goobi workflow mussten bisher die Dateinamen der Regelsätze im zentralen Regelsatzverzeichnis /opt/digiverso/goobi/rulesets/
angegeben werden. Hier gab es jetzt eine kleine Umstellung. Statt den Dateinamen manuell eintragen zu müssen, kann dieser von nun an aus einer Auswahlliste ausgewählt werden. Dadurch werden eventuelle Tippfehler bei der Angabe von Regelsätzen für die Zukunft vermieden.
Wenn man innerhalb von Goobi workflow einen neuen Vorgang angelegt und gespeichert hat, besteht die Möglichkeit, von dort direkt zu dem neu erzeugten Vorgang zu gelangen, indem man auf den Link Den erzeugten Vorgang öffnen
klickt. Die dort angezeigte Breadcrumb zur Navigation zur Gesamtliste aller Vorgänge führte bisher gelegentlich zu einer leeren Trefferliste. Dies wurde nun korrgiert, so dass die Navigation korrekt funktioniert und an der Stelle alle Vorgänge auflistet.
Goobi workflow erlaubt ja, dass einzelne Plugins sogar eigene Rechte festlegen können, über die ein Nutzer verfügen muss, damit er das Plugin ausführen kann. Entsprechend ist es möglich solche flexiblen Rechte in der Nutzerverwaltung von Goobi worklow zu konfigurieren. Dort war es allerdings bis vor kurzem auch möglich, dass leere Rechte hinzugefügt werden konnten, ohne dass also eine Angabe eines Rechts erfolgte. Dies wurde jetzt korrigiert, so dass eine solche Fehlerfassung nicht mehr möglich ist.
Bei der Arbeit mit mehreren Regelsätzen musste man in der Vergangenheit öfter noch einmal im Bereich Administration
- Regelsätze
prüfen, um welche Regelsatzdatei es sich tatächlich handelt (z.B. für den Regelsatz Standard
). Um diese Recherche einfacher zu machen, haben wir nun eine kleine Funktionalität implementiert, die diesen Dateinamen innerhalb der Vorgangsdetails direkt anzeigt, wenn man den Mauszeiger über den Regelsatznamen hält.
Die gleiche Funktionalität haben wir übrigens auch an verschiedenen anderen Bereichen in der Vergangenheit schon implementiert. So zum Beispiel bei den Eigenschaften:
Und auch bei den Metadaten gibt es diese versteckte Funktion:
Das alte Backup-System in Goobi workflow hat für die Namen der Backups bisher lediglich mit einem Zähler am Ende der Datei gearbeitet. Die Datei mit dem höchsten Zähler war dabei bisher entsprechend das älteste Backup:
Dieses System hatte insbesondere in hierarchischen Dateisystemen Probleme, da dort die selten genutzte Dateien auf einen langsameren Speicherbereich ausgelagert werden. Da mit dem bisherigen Backupsystem allerdings auch immer die älteren Backups mit umbenannt wurden, kam es hier teilweise zu sehr langen Speicherzeiten. Daher haben wir den Mechanismus der Benennung dieser Backupdateien überarbeitet und verwenden hier nun einen Zeitstempel, um die Backupdateien zu benennen. Das Namensschema sieht dabei wie folgt aus:
Dabei handelt es sich bei ii
um die Millisekunden in der Sekunde. Ein Beispiel für eine neue Backup-Datei sieht folgendermaßen aus:
Mit der alten Backup-Lösung in Goobi workflow wurden in der Vergangenheit auch nicht von Goobi verwaltete Dateien mit in die Rotation einbezogen (zum Beispiel meta.xml.MYBACKUP
). Dies hat dazu geführt, dass manuell erstellte Backups wegrotiert wurden oder die manuell erstellte Datei nicht auf der Festplatte gespeichert werden konnte. Ab diesem Release betrachtet Goobi nur noch die Dateien meta.xml.1
, meta.xml.2
, meta.xml.3
etc. und die nach dem neuen Schema erstellten Backups für die Rotation. Manuell erstellte Backups hingegen bleiben unverändert bestehen.
Dass im Metadateneditor mittlerweile Metadaten auch für Seitenbereiche erfasst werden können, geht schon seit etwa 1-2 Jahren. Was während der Verwendung im täglichen Einsatz allerdings auffiel war, dass noch eine besser Bedienbarkeit benötigt wurde, um zu einem Strukturelement mehrere Seitenbereiche hinzuzufügen oder auch um solche Seitenbereich in ihrer Größe anzupassen oder gar zu löschen. Hier haben wir nun so einige Verbesserungen implementiert.
Für ein Strukturelement können im Bereich zum Ändern von Strukturelementen
nun weitere Seitenbereiche ergänzt werden:
Und hier lassen sich bereits angelegte Seitenbereiche auch wieder einfach entfernen.
Bisher hat das Excel Import plugin fehlende Bildordner ignoriert und mit dem nächsten Vorgang fortgefahren. Unser Anliegen war allerdings, dass in einem solchen Anwendungsfall eine transparente Kommunikation mit dem Nutzer erfolgt, damit dieser auch besser von den fehlenden Bildern erfährt. Mit der Erweiterung des Plugins ist dies nun möglich geworden. Der folgende Ausschnitt aus der Konfiguration verdeutlicht, wie von nun an mit solchen Situationen umgegangen werden kann:
Nach einem Update überprüft Goobi workflow, ob das Datenbank-Schema noch aktuell ist. Ist es nicht aktuell, wird üblicherweise automatisch ein Update durchgeführt und damit die Version des Schemas auf die aktuelle Version gebracht. In einigen Fällen konnte es allerdings passieren, dass bei diesem Update etwas schief ging und die Versionsnummer in der Datenbank trotzdem erhöht wurde. Dies hat zu einem veralteten Schema mit aber aktueller gespeicherter Versionsnummer geführt. Hier wurden nun jedoch die Fehlerbehandlung verbessert, so dass nun nicht mehr nach einem Fehler die aktuelle Version in die Datenbank geschrieben wird. Dies verhindert eventuelle Inkompatibilitäten in der Zukunft.
Im GoobiScript executeStepAndUpdateStatus
gab es ein Fehlverhalten, das verhindert hat, dass Schritte, in denen ein Plugin konfiguriert ist, korrekt geschlossen wurden. Dieses Verhalten wurde nun korrgiert, so dass die Arbeitsschritte beim Aufruf durch dieses GoobiScript jetzt verläßlich geschlossen werden.
Wenn man unterhalb der Tabelle der Vorgänge in Goobi workflow auf den Link Anzahl der Metadaten und Bilder ermitteln
klickte, wurde bisher zuerst die Tabelle mit den Ergebnissen für jeden einzelnen Vorgang angezeigt. Da die meisten Anwender allerdings eher an der Tabelle mit der Zusammenfassung interessiert sind, haben wir uns dazu entschlossen, die Reihenfolge der Tabellen zu tauschen, so dass die Zusammenfassung nun zuerst erscheint, ohne zunächst über alle Vorgänge scrollen zu müssen.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 22.02. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Innerhalb des Metadateneditors ist uns aufgefallen, dass verschiedene Browser unterschiedlich reagierten, wenn Nutzer auf den Speichern-Button geklickt haben. Speziell war es so, dass die Webbrowser Chrome und Safari beim Klick auf den Speichern-Button keinerlei Funktion ausgeführt haben, während Firefox beispielsweise korrekt funktionierte.
Der Button mit dem Titel Speichern und Zurück
war von diesem Problem im Übrigen nicht betroffen.
Nach einigem Hin und Her und viel Ursachenrecherche konnten wir das Problem letztlich lösen und haben mit dem Release einen Fix bereitstellen können.
Seit bestimmt 8 Jahren schon gibt es die Möglichkeit in Goobi workflow, das verschiedene Informationen und Kommunikationen über das Vorgangslog nachvollziehbar sind. Auch bestand schon seit einiger Zeit die Möglichkeit, dass dort Dateien (z.B. für Restaurationsdokumente) hochgeladen werden können. Erweitert wurde dies vor ca. 1,5 Jahren nochmals um die Möglichkeit, dort auch Schadensdokumente gleich beim Anlegen von Vorgängen mit speichern zu können.
Mit anderen Worten: das Vorgangslog ist einfach praktisch. So praktisch, dass wir es auch an anderen Stellen gern haben wollten. Dazu mussten wir es dummerweise umbenennen, dass es ja nicht mehr nur bei Vorgängen verwendet werden soll.
Herausgekommen ist das Journal. Funktional ist es so geblieben wie bei den Vorgängen bisher. Nun allerdings steht es auch bei den den Einrichtungen zur Verfügung und zumindest in einem besonderen Anwendungfall (Lieferung von Pflichtexemplaren) auch bei Benutzern.
Uns würden noch weitere Stellen in Goobi workflow einfallen, wo das Journal eine Hilfe sein könnte (z.B. bei Projekten). Vielleicht findet sich dazu bald einmal eine Gelegenheit, weil es jemand anders ebenso praktisch fände. In dem Fall werden wir das Journal dann erweitern können und berichten hier wieder davon.
Insbesondere bei sehr umfangreichen Werken kam es bei dem Einsatz von S3 als Speichersystem immer wieder zu enormen Verzögerungen in der Ladegeschwindigkeit. Ursache hierfür ist, dass ein S3-System keine Ordnerhierarchie besitzt und alle Dateien stattdessen enorm lange Dateinamen aufweisen. Dies sieht beispielsweise wie folgt aus:
Dieser abweichende Aufbau sorgte dafür, dass bei der Ermittlung bspw. des Master-Verzeichnisses stets alle Dateien durchlaufen werden mussten, um dabei jeweils zu prüfen, ob der gesuchte Verzeichnisname vertreten ist. Insbesondere bei sehr umfangreichen Werken hat hierbei die Performance stark gelitten.
Das haben wir nun geändert, so dass bei einer Ordnersuche in der gewünschten Hierarchiestufe alles nach dem nächsten Slash (/
) nicht mehr beachtet wird und so bei einer Suche innerhalb des images-Ordners deutlich weniger zu prüfende Dateinamen aufgeführt werden.
Daneben haben wir die Dateisuche nun auch immer auf den tatsächlich relevanten Ordner beschränkt, so dass auch bei einer Suche nach den master-Bildern nicht mehr die Daten aller Ordner eines Vorgangs abgefragt werden.
Eine weitere große Verbesserung in der Performance ergab sich dadurch, dass wir in der IIIF-API nun nicht mehr pro Bild prüfen, ob ein Verzeichnis mit dem Namen thumbs
existiert, sondern das Ergebnis eine eine Weile cachen. Dadurch haben wir auch die Anzahl der Anfragen an das System noch einmal deutlich verringern können.
Bei der Detailanzeige von Workflowinformationen einzelner Arbeitsschritte kam es gelegentlich einmal vor, das leere Tabellenspalten angezeigt wurden.
Dies haben wir einmal geprüft und überarbeitet. Damit tritt dieser kleine Anzeigefehler nun nicht mehr auf.
Uns ist aufgefallen, dass der Metadateneditor keine nutzerfreundliche Meldung darüber angezeigt hat, wenn während der Bearbeitung der Metadaten nicht mehr genug Speicherplatz auf dem Goobi-Server zur Verfügung steht, um die Metadaten zu speichern. Dieser Falle sollte natürlich im Idealfall innerhalb des Alltags möglichst gar nicht vorkommen. Passiert es dennoch, so fällt Goobi der fehlende Speicherplatz nun besser auf und es wird eine gut verständliche Meldung für den Nutzer angezeigt.
Wenn es notwendig ist, dass Goobi selbst über einen Proxy mit anderen Diensten kommunizieren soll, so war dies bisher bereits recht problemlos möglich. Eine neue Anforderung jedoch ergab sich durch die zunehmende Verbreitung des Archivmanagements. Hierfür ist nämlich eine Kommunikation mit einer weiteren lokalen Datenbank notwendig, wofür wiederum keine Kommunikation über einen Proxy erwünscht ist.
Mit dieser Version ist daher eine neue Konfigurationsmöglichkeit ergänzt worden, die es ab sofort erlaubt, dass Goobi für die Kommunikation mit dem eigenen Server (localhost) der Proxy nicht verwendet wird. Konfiguriert wird dies mit dem neuen Schalter so:
Wenn Goobi verwendet wird, um statt METS insbesondere im Falle von Museumsobjekten das Format LIDO zu verwenden, besteht ab dieser Version die Möglichkeit, das auch leere Elemente innerhalb der erzeugten XML-Dateien geschrieben werden. Dazu wurde eine neue Konfigurationsmöglichkeiten für die Regelsätze geschaffen, intern dort das Folgende angegeben wird:
An einem konkreten Beispiel veranschaulicht sieht dies so aus:
Das Ergebnis innerhalb des generierten LIDO würde dann so aussehen:
Die vorgenommene Konfiguration hat hier den folgenden Einfluss:
Wenn das betroffene Metadatum existiert, wird es ganz normal exportiert. Existiert es hingegen nicht, wird geprüft, ob es im aktuellen Strukturelement erlaubt ist. Falls dies der Fall ist, wird ’WriteXPath’ ebenfalls ausgeführt. Dabei kann eine solche Konfiguration auch für eine Gruppe oder bei einem Metadatum in einer Gruppe angegeben werden.
Wird eine solche Konfiguration nicht vorgenommen, entfällt im generierten LIDO diese Zeile:
Mehr zu den Möglichkeiten der Konfiguration für die Metadatenexporte findet sich in der folgenden Dokumentation:
Auch in diesem Monat ist wieder viel Energie in die Fertigstellung eines neuen Plugins für die granulare Erfassung von Personendaten geflossen. Neben verschiedenen kleinen und großen Fehlerbehebungen wurde unter anderem die Nutzeroberfläche noch einmal grundlegend geprüft und angepasst.
Wir gehen davon aus, dass wir das Plugin im Oktober abschließen und dann auch gründlich dokumentieren können werden. Wir halten Euch auf dem Laufenden.
Der Catalogue Poller dient dazu, dass die Metadaten innerhalb der METS-Dateien für zahlreiche Vorgänge periodisch automatisch aktualisiert werden. Auf diese Weise können Katalogänderungen automatisch übernommen werden und werden im Anschluß auch für die Präsentation der Digitalisate berücksichtigt. Dieses Plugin wurde nun einmal grundlegend überarbeitet und mit weiteren Funktionen ausgestattet. Neben einigen Änderungen an der Nutzeroberfläche kam hierbei vor allem die neue Möglichkeit hinzu, dass der Catalogue Poller nun auch Testläufe ausführen kann, die es ermöglichen, dass man ohne tatsächliche Änderung der Daten einsehen kann, welche Änderungen an den Daten stattfinden würden. Das Ergebnis eines solchen Testlaufs ist dabei als Excel-Datei herunterladbar.
Ebenfalls neu ist außerdem die Möglichkeit, dass innerhalb der Konfiguration der zu berücksichtigenden Metadaten nicht mehr nur die Felder benannt werden können, die nicht geändert werden sollen (Blacklist). Stattdessen ist nun auch möglich, dass nur diejenigen Felder benannt werden können, die geändert werden sollen (Whitelist). Hier dazu einmal ein Ausschnitt aus der Konfiguration:
Die Dokumentation des Plugins findet sich in aktualisierter Form unter der folgenden Adresse:
Das Plugin kann wie gehabt hier von GitHub heruntergeladen werden:
Seit einiger Zeit schon gibt es ein Plugin, das während der Workflowausführung automatisch PDFs erzeugen kann. Bisher war dessen Konfigurierbarkeit allerdings eingeschränkt. Dies ist mit der neuen Version besser geworden, so dass sich so auch pro Projekt und Titel eines Arbeitsschritts eine individuelle Konfiguration festlegen lassen kann. Diese kann beispielsweise so aussehen:
Auf diese Weise lässt sich das Plugin so auch mehrfach in einem Goobi in unterschiedlichen Projekten und Workflows und mit jeweils verschiedener Einstellung betreiben.
Im Kontext unserer Entwicklungen für die elektronischen Pflichtexemplare bestand die Anforderung, dass von externen Systemen ein Datenabzug ausgewählter Vorgänge aus Goobi workflow möglich sein sollte. Hierfür steht folgende Funktionalität zur Verfügung:
Innerhalb des Workflows existiert zunächst ein Arbeitsschritt für den MARC-Export, der die Metadaten als marcxml exportiert. Hierfür kommt das folgende Plugin zum Einsatz:
Die somit exportierten Daten landen im Anschluss in einem Verzeichnis, das vom neuen REST-Plugin überwacht wird. Hierbei handelt es sich um das folgende Plugin:
Innerhalb dieses REST-Plugins stehen verschiedene Befehle zur Verfügung, um eine Kommunikation zwischen Goobi Workflow und einem Bibliothekskatalog zu ermöglichen.
Folgende Kommandos stehen zur Verfügung:
Mit diesen Kommando werden alle Datensätze aufgelistet, die aktuell bereitliegen.
Aufruf der REST-API:
Antwort der REST-API:
Mit diesem Kommando kann ein einzelner Datensatz gezielt abgefragt werden.
Aufruf der REST-API:
Die REST-API antwortet anschließend mit dem abgefragtes MARC Datensatz.
Dieser Aufruf bestätigt die erfolgreiche Übernahme des Datensatzes und meldet die Katalog-ID (aDIS ID). Anschließend wird der Arbeitsschritt geschlossen.
Aufruf der REST-API:
Dieses Kommando dient dazu, dass ein Datensatz an Goobi gemeldet werden kann, dessen Datenübernahme nicht erfolgreich war. Es wird hierbei der Fehler gemeldet und der Arbeitsschritt in den Fehlerstatus gesetzt.
Aufruf der REST-API:
Bei den beiden letztgenannten Aufrufen wird jeweils ein Arbeitsschritt geschlossen bzw. in den Fehlerstatus gesetzt. Anschließend wird der MARC-Datensatz aus dem export-Verzeichnis entfernt, damit er bei der nächsten Suche nicht erneut aufgelistet wird.
Uns ist aufgefallen, dass in der Updateanleitung im Juli 2020 noch ein Hinweis für die notwendigen Anpassungen der Konfiguration des XMP-Header-Plugins fehlten. Diese haben wir nun ergänzt, so dass alles auf aktuellem Stand sein sollte.
Die Updateanleitung findet sich wie gehabt unter der folgenden Adresse:
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 22.09. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Wir haben ein neues Plugin entwickelt, dass die Generierung von Laufzetteln während des Workflows automatisiert. Bisher war es ja bereits möglich, dass Laufzettel unmittelbar nach dem Erzeugen von Vorgängen oder aber auch mit einem Plugin innerhalb von Aufgaben heruntergeladen werden konnten. Neu ist hinzugekommen, dass Laufzettel mit einem neuen Plugin als PDF oder Bilddatei erzeugt werden können sollen und dass diese automatisch in gewünschter Auflösung innerhalb eines konfigurierbaren Verzeichnisses gespeichert werden können.
Mehr Details zu dem Plugin finden sich in der ausführlichen Dokumentation hier:
Der Quellcode des Plugins findet sich bei GitHub veröffentlicht:
Nicht in allen Fällen war sichergestellt, dass die Bildbereichserfassung im Metadateneditor nur dann angezeigt war, wenn die zugehörigen Regelsätze dies auch erlauben. Dies haben wir noch einmal intensiv getestet und auch Änderungen an der Logik vorgenommen, um hier Fehler zu vermeiden. Wenn wir dabei an alle Bereiche gedacht haben, dann dürften hier keine Schwierigkeiten mehr zu erwarten sein für das Neuanlegen von Bildbereichen, das Hinzufügen weiterer Bildbereiche und das Löschen von Bildbereichen für Strukturelemente.
Um sicherzustellen, dass wir dies für Updates dennoch gut berücksichtigen, ist auch die Updateanleitung diesbezüglich aktualisiert worden. Dort findet sich entsprechend ein Hinweis auf die vorzunehmenden Anpassungen innerhalb der Regelsätze:
Dass die beiden noch recht neuen Plugins zur Bearbeitung von Konfigurationsdateien und Regelsätzen so schnell so beliebt werden, hätten wir nicht erwartet. Im Zuge der raschen Verbreitung merkten wir dann recht bald, dass wir dort noch einiges optimieren sollten. So fiel uns unter anderem auf, dass die Benennung der Backup-Dateien noch einmal geändert werden sollten, dass eine Prüfung und Visualisierung der Schreibrechte für die Backup-Dateien und die zu bearbeitenden Dateien sinnvoll wäre und dass die Art und Weise, wie wir die Erfolgs- oder Fehlermeldungen anzeigen, noch einmal ändern sollten.
Alles in allem sollten beide Editoren nun also noch ein kleines bisschen praktischer sein, als sie ohnehin bereits waren. :)
Hier noch einmal die Links zu den aktualisierten Dokumentationen:
Es ist zwar nur eine Kleinigkeit, aber letztlich hat es uns selbst so gestört, dass wir nun froh sind über die Änderung: Der oberste Knoten eines jeden Bestandes innerhalb des Archiv-Management-Plugins wurde grundsätzlich fälschlicherweise mit einem Datei-Icon visualisiert. Um Missverständnisse zu vermeiden, ist dieser oberste Knotenpunkt nun adäquat ausgezeichnet und damit selbsterklärend für alle Anwender.
Bei einem Arbeitsschritt kann nun konfiguriert werden, dass Vorschaubilder für die Anzeige im Metadateneditor oder Image-QA-Plugin erzeugt werden sollen. Die Generierung dieser Vorschaubilder findet statt, wenn der Arbeitsschritt geöffnet werden soll. Wenn hierbei die interne Message Queue aktiv ist, findet die Bearbeitung darüber statt, ansonsten werden die Bilder direkt erzeugt. Erst nachdem die Erzeugung dieser Vorschaubilder erfolgreich abgeschlossen wurde, wird anschließend der Arbeitsschritt für die Nutzer freigegeben, um diese annehmen zu können. Automatische Aufgaben hingegen werden nach der Erzeugung der Vorschaubilder direkt geschlossen.
Eine Konfiguration für die Erzeugung solcher Vorschaubilder sieht beispielhaft so aus:
In den jeweiligen Verzeichnissen entstehen somit die Vorschaubildern, wie konfiguriert.
Um sicherstellen zu können, dass die Nutzer sichere Passwörter verwenden, ist von nun an steuerbar, welche Mindestlänge Passwörter aufweisen müssen, wenn diese neu vergeben werden, wenn sie zurückgesetzt werden oder ein Nutzer sich selbst das Passwort ändern möchte.
In der Konfigurationsdatei goobi_config.properties
kann ab jetzt der folgende optionale Wert für die Mindestlänge angegeben werden:
Dokumentiert ist dieser Konfigurationsschalter sowie auch viele andere im Goobi workflow Handbuch hier:
Es gib ein neues Plugin zur Anreicherung bestehender METS-Dateien auf der Basis vorliegender Excel-Dateien. Hierbei werden Metadaten und Personen aus einer konfigurierbaren Datei gelesen und in die Metadaten des Vorgangsübernommen.
Genauere Details zu dem Plugin und dessen Konfiguration finden sich hier:
Der Quellcode des Plugins wurde hier veröffentlicht:
Ein weiteres neues Plugin wurde entwickelt, um vorliegende Daten aus einem Verzeichnis zu lesen und nach METS zu übernehmen. Hierbeit werden Metadaten, Strukturdaten und auch Paginierungsinformationen aus den Verzeichnissen übernommen. Genaueres findet sich hierzu in der Dokumentation:
Und auch dieses Plugin ist bei GitHub veröffentlicht:
Für einen konkreten Anwendungsfall benötigten wir eine Möglichkeit, dass innerhalb von vorhandenen METS-Dateien automatisiert einzelne Metadaten ermittelt und interpretiert werden, um daraus anschließend eigenständige Metadaten innerhalb der METS-Datei zu erzeugen. Der bisherige Anwendungsfall ist derzeit noch sehr auf die Bedürfnisse des Stadtarchivs Kiel zugeschnitten und damit unter Umständen kaum für andere Goobi-Nutzer unverändert nachnutzbar. Das Plugin bietet aber eine gute Grundlage, um ähnliche Vorgaben in Zukunft auf dieser Basis zukünftig ebenso umzusetzen.
Die ausführliche Dokumentation für dieses neue Plugin findet sich hier:
Der Quellcode des Plugins wurde unter dieser Adresse bei GitHub veröffentlicht:
In den meisten Anwendungsfällen sind innerhalb von Goobi nicht mehrere Massenimport-Plugins installiert. Aus diesem Grund haben wir eine kleine Änderung vorgenommen, um die Auswahl von Plugins in der Nutzeroberfläche zu vereinfachen. Steht dort nur ein Plugin zur Auswahl, so wird dieses nun stets sofort ausgewählt. Dies ist nicht nur logisch und bequemer sondern spart darüber hinaus auch noch unnötige Mausklicks.
Das bestehende Plugin zur Bearbeitung von Metadaten wurde erweitert, um dort die Metdaten auf die gleiche Art und Weise hinzufügen und löschen zu können, wie diese auch im Metadateneditor bereits der Fall ist. Dadurch die die Bedienlogik für den Anwender besser nachvollziehbar und das Plugin erlaubt zusätzliche Anwendungsszenarien. Die Dokumentation des Plugins findet sich nach wie vor unter dieser Adresse:
Bei der Möglichkeit, dass innerhalb des Archiv-Management-Plugins direkt EAD-Dateien hochgeladen können werden, wurden einige Nutzerszenarien zunächst nicht bedacht. Ein solches Szenario ist beispielsweise, dass die hochgeladenen Dateien ungünstige Dateibenennungen aufweisen können oder auch die Dateiendung fehlt. Solche Fälle werden jetzt abgefangen und auch Leerzeichen durch Unterstriche ersetzt. Auf diese Weise dürften Benennungsprobleme von EAD-Dateien der Vergangenheit angehören. Wenn aber dennoch Probleme mit künftigen Dateinamen für EAD-Dateien auftreten, so freuen wir uns über Rückmeldungen hierzu, um doch noch einmal Anpassungen vorzunehmen.
Bei der Ausführung des GoobiScripts metadataAdd
erfolgte bisher kein vorbildliches Logging im Fehlerfall. Speziell haben wir dort die Anzeige von Informationen innerhalb des Vorgangslogs vermisst. Dies ist korrigiert worden.
Für Techniker ist es vermutlich spannender als für andere: Wir haben die Implementierung des SRU-Clients komplett überarbeitet, da die dort verwendeten Programmbibliotheken End-of-Life erreicht haben. Mit einer Neuimplementierung, die auch in vielen OPAC-Plugins z.B. Verwendung findet sind wir hier nun wieder auf aktuellem Stand der Technik.
Uns ist aufgefallen, dass das Logging innerhalb des Massenupload-Plugins deutlich zu granular und dadurch für die Administratoren nicht mehr wirklich hilfreich war. Hier haben wir Änderungen vorgenommen, damit das Logging ab jetzt in dem Maße erfolgt, dass dieses für eventuell notwendige Fälle auch sachdienliche Hinweise darauf geben kann, was während des Upload passierte.
Mehr Goobi-Anwender bringen immer auch mehr potentiell andere Nutzungsfälle und andere Infrastrukturen. Und so fällt uns dann durchaus auch einmal auf, wo wir etwas für uns selbst verbessern können oder sollten. So auch hier im Bereich des Ausloggens von Nutzern. Hier wünschten wir uns bereits ein besseres Logging, wenn Nutzer sich eingeloggt haben. Und jetzt haben wir dies ebenso für das Ausloggen nachgeholt. Darüber freut sich doch jeder Admin, oder?
Im "Speicherzuwachs über Zeit" Statistikmodul konnte es bei großen Datenmengen zu Problemen bei der Darstellung kommen. Dies lag vor allem daran, dass der eingegebne Startzeitpunkt nicht übernommen und stattdessen der erste Eintrag in der Datenbank als Startdatum genommen wurde. Dies führte zu sehr großen Datenmengen (über 2500 Datensätze), mit denen die eingesetzte Visualisierungsbibliothek nicht mehr umgehen konnte. Das Startdatum wird mit den vorgenommenen Änderungen nun korrekt übernommen und die Darstellung nicht zu großer Zeiträume funktioniert wieder.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 22.04. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Innerhalb der Nutzeroberfläche ist es ab sofort möglich, sich die Anzahl der Bilder als Spalte einblenden zu lassen. Dies kann sowohl innerhalb der Vorgangsliste erfolgen als auch in den eigenen Aufgaben. Dies sieht dann beispielhaft so aus:
Die unheimlich praktische Anzeige der installierten Plugins und deren Versionsstände haben wir leicht überarbeitet. Dort werden nun alle vorhandenen Plugins richtig sortiert aufgelistet und es werden auch die Pfadangaben zu den Verzeichnissen aufgeführt.
In der Liste der Vorgänge haben wir einige Verbesserungen hinsichtlich der Sortierung vorgenommen. Der größte merkliche Unterschied wird dabei vermutlich nur den Administratoren auffallen:
Alle Spalten sortieren jetzt lexikographisch aufsteigend, wenn man die Sortierung einer Spalte aktiviert. Nur die Spalte mit der ID verhält sich anders und sortiert beim ersten Klick absteigend, um die aktuellsten Vorgänge sofort oben anzuzeigen. Administratoren wird es freuen. :)
Goobi workflow verwendet seit einigen Jahren Maven als Buildsystem. Im vergangenen Monat wurde die Projektstruktur innerhalb von Maven weiter konsolidiert, so dass es ein dediziertes Modul für die Ausführung von automatischen Tests und Checks innerhalb der Continous Integration Infrastruktur gibt.
Die bereits vorher existierenden Module, um eine .war Datei für das Deployment der bekannten Applikation innerhalb eines Tomcats zu erstellen und das Modul um eine .jar Datei zu bauen, wurden aufgeräumt und sind jetzt nur noch für das Kompilieren der Artefakte zuständig. Neu hinzugekommen ist ein CI-Modul, dass vorher verstreute Schritte im Lifecycle bündelt und auch neue Checks integriert. Das sind im einzelnen:
Das Ausführen der JUnit Tests
Überprüfung der verwendeten Abhängigkeiten auf bekannte Sicherheitslücken (OWASP)
Erstellen einer Analyse, wie viel Code mit Unit Tests abgedeckt ist (Jacoco)
Überprüfung des Quelltexts auf Verstöße gegen ausgewählte Checkstyle Regeln
Durchführen einer statischen Codeanalyse mittels Sonar
In dem gleichen Zuge wurde die Ausführung der Unit Tests von einer suite-basierten Infrastruktur auf eine klassenbasierte umgestellt. Die Anzahl der regelmäßig geprüften Tests konnte dabei massiv erhöht werden. Außerdem wurden letzte Codestellen aufgeräumt werden, die ein kompilieren mit Java 8 erforderten und explizite Compileroptionen benötigten.
Die veränderte Projektinfrastruktur ermöglicht jetzt ein schnelleres Bauen der einzelnen Module und dadurch weniger Overhead in der Entwicklung sowie eine erweiterte und verbesserte Prüfung der täglichen Arbeiten zur Erhöhung der Codequalität.
Wer unseren Fortschritt hinsichtlich der Codequalität nachvollziehen möchte kann dies hier gern jederzeit tun:
Noch zeigen die Diagramme auf, dass wir noch einiges vor uns haben. Aber wir sind auf dem Weg.
Und bei uns intern sieht der Fortschritt in etwa so aus momentan:
Es geht also voran. Wir berichten künftig öfter darüber hier.
In der Vergangenheit ist uns des öfteren aufgefallen, dass wir uns mehr Logging gewünscht hatten, wenn einmal ein GoobiScript nicht das tut, was man sich erhofft hatte. Diese Thematik sind wir nun angegangen und haben es nun so gelöst, dass Administratoren in den Logdateien künftig gut nachvollziehen können, was aufgerufen wurde. Dort sieht es nun also in etwa so aus:
Vor einiger Zeit hatten wir bereits darüber berichtet, dass wir eine umfangreiche Schnittstelle zu der Software AEON implementieren. Hier gab es wieder zahlreiche Erweiterungen. So wurde unter anderem die Optik der Oberfläche massiv überarbeitet.
Eigenschaften können für ganze Datenbestände oder auch für einzelne tatsächlich zu digitalisierende Objekte individuell angepasst oder übernommen, wobei Abweichungen von den Default-Werten klar visualisiert werden. Außerdem ist es nun möglich, dass Vorgänge, deren Digitalisierungsworkflow bereits in Bearbeitung ist, nun gestoppt werden können, sofern nicht bereits ein konfigurierbarer Status erreicht wurde.
Alles in allem also große Fortschritte, die aber auch noch weiter in Bearbeitung sind.
Es gibt ja wirklich schon eine Menge an GoobiScripten. Und doch fällt immer mal wieder auf, dass eine bestimmte Funktionalität doch mal praktisch wäre. Diesmal ist uns aufgefallen, dass es doch schon ganz praktisch wäre, wenn wir die Manipulationen an Metadaten nicht nur in den logischen Bereichen der METS-Dateien vornehmen könnten, sondern auch innerhalb der Metadaten für die Bilder. Gesagt, getan. Neben den Parametern work
top
child
und any
ist es von nun an möglich, dass die GoobiScripte zur Manipulation der Metadaten auch physical
verstehen und anwenden. Genaueres gibt es hier in der Dokumentation:
Damit Goobi workflow besser auch mit neueren MySQL-Datenbanken umgehen kann, haben wir den Treiber für die Kommunikation mit der Datenbank ersetzt. Von nun an setzen wir den folgenden Treiber ein:
Damit ist es nun möglich, Goobi workflow mit den MySQL Versionen 5.7 und 8 zu betreiben. Die früheren Versionen hingegen werden damit nun nicht mehr unterstützt. Dies muss bei künftigen Updates also entsprechend berücksichtigt werden.
Innerhalb der Updateanleitung ist dies auch bereits aufgeführt:
Wie man an unseren Digests und den Plugins bereits gut nachvollziehen kann, steht bei uns die Dokumentation der Entwicklungen seit einigen Jahren sehr im Vordergrund. Aktuell haben wir uns hier übrigens auch den Konfigurationsdateien zugewendet. Der Bereich ist noch Work-in-Progress. Aber wer einmal schauen möchte, findet hier schon ein paar gute Beispiele:
Hier wird sich noch einiges tun in den nächsten Wochen.
Im Falle fehlgeschlagener Skriptaufrufe, war das Vorgangslog bisher nicht wirklich sehr hilfreich. Dies ist angepasst worden, so dass fehlerhafte Aufrufe nun mit einer klaren Fehlermeldung im Vorgangslog auftauchen.
Fälschlicherweise wurde beim Anlegen neuer Nutzer nicht angezeigt, dass ein Passwort für einen neuen Account ein Pflichtfeld ist. Dies ist korrigiert worden.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 22.05. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Die Dokumentation der goobi_config.properties
wurde umfassend überarbeitet, dokumentiert und steht ab sofort in der Dokumentation zur Verfügung:
Entwicklungen und Neuigkeiten zu Goobi workflow
Erweiterung des Plugins zur Ausgabenerkennung von Zeitungen
Support von S3 als Speicher in weiteren Plugins
Erweiterte Accessibility für Tabellen
AEON Plugin Entwicklung
Dokumentationen und Code-Veröffentlichungen
Bereits seit einer großen Umstellung vor einigen Jahren können Plugins eigene Nutzerrechte mitbringen. Diese lassen sich dann zusätzlich zu denjenigen Rechten, die Goobi workflow selbst bereits mitbringt verwendet werden. Dies erfolgt üblicherweise so, dass man aus dem Plugin den Namen des benötigten Rechts erfährt, indem man dieses öffnet.
Anschließend kann man innerhalb der Benutzergruppen das erforderliche Recht im rechten unteren Bereich eintragen und somit auch der Nutzergruppe zuweisen.
Im Falle von sehr komplexen Rechten, von denen einzelne Plugins auch mehrere mitbringen können, ist die Ermittlung der benötigten Rechte manchmal zu umständlich. Aus diesem Grund wurde Goobi workflow nun dahingehend erweitert, dass innerhalb der zentralen Goobi-Konfigurationsdatei all diejenigen Rechte bekannt gemacht werden können, die Goobi innerhalb der Auflistung der zur Verfügung stehenden Rechte aufführen sollen. Auf diese Weise sind die Rechte von Plugins genauso auswählbar und anklickbar wie diejenigen, die Goobi selbst bereits mitbringt.
Die Konfiguration diese zusätzlichen Rechte erfolgt innerhalb der Konfigurationsdatei goobi_config.properties
. Sie sieht beispielhaft wie folgt aus:
Sollen die somit eingetragenen Rechte darüber hinaus auch noch mit passenden Übersetzungen angezeigt werden, so müssen diese entsprechend innerhalb der lokalen messages_XY.properties
Dateien eingetragen sein. Dies muss beispielhaft so erfolgen:
Im Rahmen eines Projektes, wo Goobi ein anderes technisches System (AEON) über eine API benachrichtigen soll, wenn alle Vorgänge eines Batches einen bestimmten Status erreicht haben, wurde ein neues Plugin implementiert. Es handelt sich hierbei um ein Step-Plugin, das die weitere Ausführung des Workflows für den jeweiligen Vorgang stoppt, sofern es noch weitere Vorgänge gibt, die zu dem gleichen Batch gehören und noch nicht den gleichen Status innerhalb des Workflows erreicht haben. Er der letzte Vorgang, der den gewünschten Status erreicht, löst damit aus, dass alle Vorgänge nun wieder gemeinsam in den jeweils nächsten Arbeitsschritt wechseln und somit den Workflow weiter durchlaufen. Dieses Plugin dient also dazu, alls Vorgänge wieder auf den gleichen Stand im Workflow zu bringen. Sofern gewünscht kann dabei das Plugin außerdem eine Anfrage an AEON über REST senden, um über die Änderung des Status zu informieren.
Eine detaillierte Dokumentation für das Plugin findet sich hier:
Und an dieser Stelle findet sich dann sowohl der Quellcodes des Plugins als auch die kompilierte Fassung des Plugins:
Die beiden Plugins, die einfache oder auch wiederholte Katalogabfragen während des bereits laufenden Workflows erlauben, wurden erweitert, um mit den neuen Funktionen des JSON-OPAC-Plugins arbeiten zu können. Da dort nämlich mehrere Felder für eine einzige Abfrage aus einem Katalog verwendet werden können, um also mit mehreren Suchparametern ein Ergebnis zu importieren, hat sich die Konfiguration beider Plugins ändern müssen. Für Updates von Goobi bzw. den Plugins müssen entsprechend die Konfigurationsdateien berücksichtigt werden. Details dazu finden sich sowohl innerhalb der Dokumentation der Plugins hier:
... und hier:
Und natürlich sind die erforderlichen Anpassungen auch innerhalb der Updateanleitung detailliert aufgelistet:
In der Vergangenheit war es schwierig kleine Anpassungen an Goobi vorzunehmen, wenn kein unmittelbarer Zugriff auf den Server vorlag. Mit dem neuen Plugin für die Bearbeitung von Konfigurationsdateien direkt aus der Nutzeroberfläche von Goobi ist dies nun anders. Verfügt ein Nutzer über die erforderlichen Rechte im System besteht nun die Möglichkeit, dass eine Änderung von Konfigurationen direkt aus Goobi heraus erfolgen kann.
Im Hintergrund erzeugt das Plugin dabei Backups in festlegbarer Anzahl, so dass ein Administrator auch noch einmal eine frühere Version auf dem Server herstellen kann. Darüber hinaus bietet das Plugin auch die Möglichkeit einer integrierten Hilfe. Hier können Sie selbst festlegen, ob für die Bearbeitung von Konfigurationsdateien eigene Hilfetexte angezeigt werden sollen. Diese müssen dann entsprechend innerhalb der sogenannten messages-Dateien hinterlegt werden und können sogar auch Formatierungsangaben beinhalten.
Mehr Details über das Plugin finden sich in der sehr ausführlichen Dokumentation hier:
Der Quellcode und eine kompilierte Fassung des Plugins finden sich wie gewohnt hier:
Wenn sich Nutzer in Goobi workflow anmeldeten, war im Falle von technischen Problemen für uns als Entwickler schwer nachvollziehbar, woran dies manchmal lag. Aus diesem Grund haben wir uns dieser Thematik mal in Ruhe angenommen und das Schreiben von Log-Dateien speziell im Hinblick auf das Einloggen gründlich überarbeitet. Die Gratwanderung ist hierbei natürlich, dass wir im Hinblick auf die DSGVO so wenige Daten wir möglich loggen dürfen und auf der anderen Seite aber soviel Information wie benötigt in Log-Dateien schreiben, damit wir im Falle von Fehlern hier nun auch besser nachvollziehen können, woran es liegen mag. An all diese Themen haben wir nun gedacht und das Logging entsprechend angepasst. So können wir künftig gut damit arbeiten. Und falls es mal jemand in Aktion sehen möchte, kann er auf Serverseite einfach mal folgenden Befehl ausprobieren:
Vor ca. zwei Jahren haben wir Goobi workflow massiv erweitert, um eine bessere Mandantenfähigkeit zu erlauben. Diese basiert darauf, dass in einer Goobi-Instanz nun mehrere Einrichtungen/Mandanten definiert werden können.
Wurden allerdings in einer Goobi-Instanz nicht mehrere Einrichtungen definiert, so stand in vielen Bereich unnötigerweise ein neues Auswahlfeld zur Verfügung, in dem zumeist dann doch nur die eine Einrichtung ausgewählt werden konnte, weil der Use Case mehrerer Einrichtungen in einer Instanz relativ selten vorkommt. Daher haben wir nun an verschiedenen Stellen Änderungen vorgenommen, um diese Anzeige von Einrichtungen nur noch dann anzuzeigen, wenn auch wirklich mehrere Einrichtungen vorliegen. Andernfalls wird sowohl das Auswahlfeld als auch die die Tabellenspalte grundsätzlich versteckt. So bleibt die Oberfläche aufgeräumt und übersichtlich und zeigt keine unnötigen Informationen an.
Sukzessive stellen wir einige optische Feinheiten um, so dass die Bedienung von Goobi noch intuitiver wird. Eine solche Feinheit ist z.B. dass wir beim Bearbeiten von Datensätzen, den Namen des jeweiligen Datensatzes nun deutlich prominenter in dem Titel der Seite aufführen. Der hier aufgeführte Screenshot verdeutlicht dies ganz gut, weil er den Namen des bearbeiteten Projektes groß im oberen Bereich anzeigt, auch wenn man sich auf einer Registerkarte innerhalb des Bearbeitungsformulars befindet. So wird jederzeit deutlich, an welchem Projekt man beispielsweise gerade Änderungen vornimmt.
Um die Bearbeitung von Regelsatz-Dateien nicht mehr nur ausschließlich über einen Serverzugang zu ermöglichen haben wir ein neues Plugin entwickelt. Es erlaubt eine Bearbeitung der Regelsätze als xml-Dateien unmittelbar aus der Oberfläche von Goobi heraus.
Der Verlust von Änderungen, die man innerhalb der Dateien vorgenommen hat, wird dadurch vermieden, dass ein Wechsel zu anderen Regelsätzen immer auch prüft, ob vielleicht ungespeicherte Daten vorliegen.
Für den Fall dass dabei mal etwas schiefgeht erzeugt das Plugin dabei im Hintergrund automatisch Backups in definierbarer Anzahl, so dass auch versehentliche Änderungen zur Not von einem Administrator auf dem Server noch einmal rückgängig gemacht werden können.
Bitte beachten Sie: Auch mit diesem Plugin sollte man wissen, was man hier wie konfiguriert. Der erleichterte Zugriff auf die Regelsätze kann bei fehlerhafter Bedienung zu schwerwiegendem Datenverlust zuvor erfasster Metadaten führen.
Eine sehr ausführliche Dokumentation für das Plugin findet sich unter der folgenden Adresse:
Der Quellcode des Plugins zusammen mit einer kompilierten Fassung des Plugins findet sich bei GitHub:
Beim Hochladen von Dateien mit dem File-Upload-Plugin kamen in der Vergangenheit irreführende Fehlermeldungen, wenn eine Validierung die hochgeladenen Dateien nicht akzeptieren wollte. Bisher kam dann jeweils die gleiche nicht wirklich hilfreiche Meldung, dass keine Objekte vorgefunden werden können. Der eigentliche Grund der Meldung war in solchen Fällen jedoch eigentlich, dass zwar Dateien vorgefunden werden, diese aber nicht der Validierungsregel entsprachen. Dies haben wir nun überarbeitet und zeigen jetzt deutlichere Meldungen für solche Anwendungsfälle an.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 21.10. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Entwicklung eines neuen Erfassungsplugins für die Integration mit Atlas AEON
Entwicklunge eines neuen Plugins für die Bearbeitung von Konfigrationsdateien aus der Nutzeroberfläche
Entwicklung eines neuen Plugins zur Bearbeitung von Regelsätzen aus der Nutzeroberfläche
Entwicklung eines Plugins für die gleichzeitige Bearbeitung von Metadaten aus mehreren Vorgängen
Bisher war es möglich, dass auch innerhalb der Produktionsvorlagen weiterhin Vorgänge angelegt werden können innerhalb von Projekten, die eigentlich als deaktiviert markiert sind. Hier gab es nun eine Umstellung, die die Bedienung vereinfachen und intuitiver machen soll.
Die Buttons zum Anlegen einzelner Vorgänge und auch diejenigen für den Massenimport werden für deaktivierte Projekte jetzt rot dargestellt und zeigen bei Verwendung eine erklärende Warnmeldung an. Darüberhinaus wird auch der Projektname ausgegraut dargestellt, um auf die Deaktivierung des Projektes hinzuweisen. Innerhalb der Dropdown-Felder, die sich mittels Klick auf das Pfeil-Icon des Buttons öffnen, werden deaktivierte Projekte nun nicht mehr aufgelistet.
Innerhalb der Konfiguration von Benutzern können unter anderem die erforderlichen Benutzergruppen und Projekte zugewiesen werden, die zu einem Nutzer gehören sollen. An dieser Stelle haben wir eine kleine Optimierung vorgenommen, die die Bedienung logischer macht.
In beiden Bereichen wird der Button zum Hinzufügen von Projekten und Benutzergruppen nun nur noch dann angezeigt, wenn noch weitere Projekte und Benutzergruppen zur Verfügung stehen, die noch nicht bereits zugewiesen wurden. Der Button wird entsprechend also nur noch angezeigt, wenn er auch wirklich eine Änderung ermöglicht. Das dürfte die Bedienung etwas intuitiver machen.
Um die Verwendung des Archiv-Management-Plugins noch einmal zu verbessern, haben wir einige zusätzliche interne Prüfroutinen implementiert und geben mehr informative Meldungen innerhalb der Nutzeroberfläche aus als bisher.
Ist beispielsweise die Verbindung zur Datenbank nicht vorhanden oder es fehlen erwartete Angaben z.B. für die Auswahl des zu bearbeitenden Bestandes, so werden nun hilfreiche Fehlermeldungen für den Bearbeiter angezeigt.
Im Zuge verschiedener interner Menü-Umbauten haben wir auch das vorher noch in einer eigenen Datei gepflegte mobile Menü (für Smartphones und andere schmale Geräte) in eine Datei zusammengefasst. Als Anwender merkt man davon hoffentlich nichts. Für uns als Entwickler hingegen ist diese Herangehensweise nun wesentlich einfacher, da neu hinzuzufügende Menüeinträge somit nur noch an einer zentralen Stelle berücksichtigt werden müssen.
Bei der Gelegenheit haben wir auch einige minimale optische Anpassungen vorgenommen und die farbliche Hervorhebung von aktiven Seiten angepasst. Hier gab es eine zwischenzeitlich farbliche Inkonsistenzen zwischen einigen blauen und einigen grauen hervorgehobenen Menüeinträgen. Nun werden wieder alle aktiven Menüeinträge in grau dargestellt.
Wir haben ein neues Plugin entwickelt, von dem wir alle nicht wussten, dass wir es eigentlich schon seit langem brauchen. Der Bedarf fiel deswegen auf, weil insbesondere große Massenexporte von Daten gelegentlich in Fehlern resultierten, die sich durch zwischenzeitliche Anpassungen an Regelsätzen ergeben. Solche Situationen können sich beispielsweise ergeben, weil Metadaten zu einem späteren Zeitpunkt anders definiert werden. Wenn beispielsweise Metadaten nicht mehr vorkommen dürfen, in der Vergangenheit aber erlaubt waren, lassen sich die METS-Dateien nicht korrekt öffnen. Ältere Goobi-Vorgänge wurden entsprechend in der Vergangenheit erfolgreich und valide exportiert, verstoßen mit einem aktualisierten Regelsatz aber nun ggf. gegen dessen neue Regeln.
Dieses neue Plugin macht es einfacher, solche Vorgänge zu ermitteln. Es kann einfach für eine gefilterte Liste an Vorgängen ausgeführt werden und prüft dabei die erfolgreiche Lesbarkeit der vorliegenden METS-Dateien. Im Falle von Fehlern werden diese in einer Tabelle aufgelistet und es besteht die Möglichkeit, direkt den METS-Editor für den entsprechenden Vorgang zu betreten.
Der Quellcode des Plugins wurde hier auf GitHub veröffentlicht:
Die ausführliche Dokumentation zu Installation, Konfiguration und Betrieb findet sich unter der folgenden Adresse:
In einem anderen Projekt hatten wir den besonderen Anwendungsfall, dass wir für sehr viele Vorgänge die Paginierung komplett zurücksetzen mussten, da die Anzahl der Dateien für hunderte Vorgänge sich änderte. In dem Kontext ist uns aufgefallen, dass es in Goobi workflow bisher keinerlei Automatismus gab, der eine solche benötigte Änderung bei vielen Vorgängen in Masse machen konnte.
Aus diesem Grund haben wir ein Plugin entwickelt, dass das Zurücksetzen der Paginierung für große Datenmengen erlaubt. Mit Hilfe eines frei wählbaren Filters läßt sich das Plugin so auch für tausende Vorgänge einsetzen.
Der Quellcode des Plugins wurde hier auf GitHub veröffentlicht:
Die ausführliche Dokumentation zu Installation, Konfiguration und Betrieb findet sich unter der folgenden Adresse:
Wenn Benutzer innerhalb der Benutzereinstellungen viele Projekte zugewiesen hatten, so war die Anzeige der Informationen nicht optimal. Hier haben wir daher im August eine kleine optische Anpassung vorgenommen, damit auch sehr umfangreiche Listen an Projekten korrekt dargestellt werden.
Und weil diese Darstellung auch für die Benutzergruppen sinnvoll ist, haben wir diese ebenfalls mit geändert. Diese kleine Anpassung ist allerdings erst im kommenden Release des Septembers enthalten.
Die Speicherung der Keystore-Informationen erfolgt nun nicht mehr aus der Nutzeroberfläche von Goobi workflow heraus. Für eine bessere Nutzung von Keystores auch durch andere Programme wurde die Konfiguration umgestellt und erfolgt daher über die zentrale Konfigurationsdatei goobi_config.properties
. Dort kann nun ein Keystore wie folgt definiert werden:
Diese und auch weitere Änderungen, die für Updates bedacht werden müssen haben wir im Übrigen in der öffentlich einsehbaren Updateanleitung eingepflegt. Wer sie noch nicht kennt, findet sie hier:
So langsam aber sicher erreichen einige Goobi-Installationen eine Datenmenge, bei der Datenbankabfragen mit unoptimierten Tabellen und Datenbankabfragen zu langsam werden. Wir haben uns aus diesem Grund einige Datenbankabfragen und Tabellen einmal genau angeschaut und Änderungen vorgenommen. Diese Anpassungen werden von uns bei der Durchführung von Goobi-Update stets mit ausgeführt. Wenn Sie hingegen das Update selbst durchführen, finden sich weitere Details zu den Änderungen wie gehabt in der Updateanleitung:
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 21.08. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Wenn ein Vorgang in Goobi workflow angelegt wird und dafür Daten aus einem Katalog übernommen werden sollen, kann es gelegentlich passieren, dass nicht für alle bereitgestellten Metadaten bereits konfiguriert wurde, wo innerhalb der internen METS-Datei die Metadaten gespeichert werden sollen. Dies war bisher für den Nutzer nicht transparent, so dass wir eine Änderung vorgenommen haben. Metadaten, die nicht übernommen werden können, werden nun im Anlegeprozess deutlich visualisiert.
Seit einigen Versionen verfügt Goobi workflow über die Möglichkeit, dass man direkt aus dem Metadateneditor heraus die Ergebnisse einer Volltexterkennung im ALTO-Format anzeigen und bearbeiten kann. Diese Funktionalität war bisher nur aus der Einzelseitenanzeige heraus betretbar. Mit den vorgenommenen Änderungen ist dies jedoch auch aus den Thumbnails heraus möglich und erlaubt anschließend eine Navigation zwischen den Bildern innerhalb der geöffneten Bearbeitungsmaske.
Der bereits angesprochene Editor für die Volltexte im ALTO-Format unterstützt nun das ALTO Dateien in der Version 4.0 und erlaubt deren Anzeige und Bearbeitung. Damit ist es nun auch möglich, z.B. die Volltexte von Transkribus anzeigen und bearbeiten zu können.
Das Archiv-Management kommt in immer mehr Projekten in den produktiven Einsatz. In dem Kontext tauchen immer mal wieder neue Wünsche, notwendige Anpassungen oder auch optische Änderungsnotwendigkeiten auf, die wir sukzessive mit umsetzen. Hier gab es in letzter Zeit mehrere eher optische Anpassungen an der Erfassungsmaske, die es lohnen, mal wieder einen Blick auf die Funktionalität zu werfen.
Zur Erinnerung hier nochmal die ausführliche Dokumentation des Plugins:
Bei manchen Entwicklungen ist man auch mit viel Berufserfahrung noch immer überrascht, welche Ausmaße sie annehmen können, und womit man alles nicht gerechnet hätte. Das Thema Accessiblity ist ein gutes Beispiel dafür. Wir haben hier bereits unzählige Stunden investiert, um die Barrierefreiheit für Goobi workflow zu optimieren und erfüllen auch bereits gängige Validatoren. Und doch gibt es immer mal wieder neue Überraschungen, wie das folgende Beispiel zeigt:
Dieser Screenshot zeigt, welche Effekte Umstellungen haben können, wenn man beispielsweise Links zu Buttons ändert, damit u.a. Screenreader auch besser damit umgehen können. Natürlich haben wir das so nicht gelassen, sondern wieder hübsch gestyled. Wenn Sie aber dennoch einmal etwas ähnliches an einer anderen Stelle von Goobi workflow vorfinden, so freuen wir uns über Rückmeldung, damit wir das korrigieren können.
Einige Monate nach dem Abschluss der eigentlichen Barrierefreiheitsarbeiten, sind uns noch ein paar Details aufgefallen, die verbessert werden konnten. Dabei ging es unter anderem um die richtigen Attribute in Tabellen, damit Screenreader diese richtig interpretieren können.
Die Kompatibitlität mit den gängigen Validatoren bleibt bei uns unter ständiger Beobachtung und wir versuchen, die 100% Kompatibilität zu behalten. Hierbei muss man allerdings vor Augen haben, dass die Validatoren über die Zeit Änderungen hinsichtlich der Anforderungen haben und somit eine konstante Beobachtung der Kompatibilität notwendig bleibt. Das Thema ist also als solches vermutlich nie wirklich abgeschlossen. Momentan sieht es für Goobi workflow aber so aus, als ob wir unsere Hausaufgaben gut gemacht haben:
Das Massenupload-Plugin ist vor allem dann praktisch, wenn viele Vorgänge in Goobi worklow automatisch mit den zugehörigen Bilddateien beliefert werden sollen. Das klappt erfahrungsgemäß ziemlich gut. Allerdings erlaubte der Button zum Zuordnen der Bilder zu den ermittelten Vorgängen eine doppelte Ausführung durch wiederholten Klick darauf. Dies führte dann zu undefiniertem Verhalten, so dass dies geändert werden musste. Der entsprechende Button wird daher von nun an nicht mehr angezeigt, wenn er bereits geklickt wurde und gerade Bilder in die Vorgänge einsortiert werden.
Bei der Gelegenheit haben wir übrigens noch eine kleine Korrektur vorgenommen: Wenn in der Konfiguration der Parameter use-barcodes
auf true
gesetzt war und bei dem Upload von Bildern kein Barcode ermittelt werden konnte, wird nun eine sprechende Fehlermeldung ausgegeben.
Aus der Kategorie "Unerwartete Seiteneffekte" kommt dieser Punkt: Tatsächlich konnte eine fehlerhafte Konfiguration des Excel-Import-Plugins dazu führen, dass das Dashboard und die Auflistung von Produktionsvorlagen in Goobi workflow nicht mehr richtig angezeigt wurden. Hier haben wir Korrekturen vorgenommen, so dass alles wieder gut aussieht.
Innerhalb der Benutzerverwaltung war die Darstellung der Spalte mit den Buttons zu schmal geraten, so dass die Buttons ungünstig umgebrochen sind. Das wurde durch eine Mindestbreite der Spalte behoben und sieht somit auch bei vielen Projekten und Benutzergruppen gut aus.
Wenn Nutzer in Goobi gelöscht werden, so wird im Hintergrund der Datensatz des Nutzers nicht wirklich gelöscht, sondern komplett anonymisiert. Dies erfolgt, damit die Daten insgesamt noch vollständig bleiben. Zur Verdeutlichung, dass solche Nutzer auch tatsächlich nicht im Workflow aktiv sein können, werden solche gelöschgten Nutzer nun auch aus der Liste der berechtigten Nutzer für eine Aufgabe entfernt, sofern sie dort zugewiesen waren. Dies ist in erster Linie eine optische Korrektur, da die Nutzeraccounts bereits deaktiviert waren und sich entsprechend auch nicht mehr einloggen können.
Dass Goobi worklow und nahezu alle Plugins unter eine Open-Source-Lizenz stehen, dürfe sich bereits rumgesprochen haben. Derzeit existieren etwas über 300 Plugins für Goobi workflow und bereits ca. 130 sind auch bereits bei GitHub unter https://github.com/intranda veröffentlicht. Sehr viele der Plugins verfügen auch bereits über eine ziemlich ausführliche Dokumentation unter https://docs.goobi.io, die unter anderem erläutert, wie eine Installation der Plugins erfolgt. Bisher musste man für die Inbetriebnahme allerdings noch selbst die Plugins als Quellcode herunterladen und kompilieren. Dies war umständlich und sehr technisch. Daher haben wir dies so geändert, dass bei GitHub nun automatisch kompilierte Fassungen der Plugins abgelegt werden, immer wenn wir eine Änderung an einem Plugin vornehmen oder eine neue Goobi Version veröffentlichen. Man gelangt zu diesen kompilierten Plugins, indem man bei dem jeweiligen Plugin im rechten Bereich auf Releases
klickt.
Anschließend erhält man Einblick in die herunterladbaren Dateien, die sowohl das Plugin selbst als auch die eventuell benötigten Konfigurationsdateigen umfassen. Diese Dateien kann man nun herunterladen und gemäß der Anleitung korrekt installieren, so dass die Inbetriebnahme deutlich vereinfacht wurde.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 21.11. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Neues Plugin für die Bearbeitung von Konfigurationsdateien
Neues Plugin für die Bearbeitung von Regelsätzen
Anpassungen der Institutionsanzeige
AEON-Plugin
Vor ca. zwei Jahren hatten wir eine ganz neue Druckansicht für die Metadaten implementiert. Diese führte nicht nur neu ein, dass man ein Bild des Repräsentanten mit erhalten hatte. Vor allem konnte man damit nun auch die Hierarchie des Strukturbaums mit den zugehörigen Personen- und Metadaten druckbar machen.
Was wir bei der Implementierung jedoch nicht mit bedacht hatten, war dass die Goobi-Anwender diese Funktion auch wirklich sofort intensiv benutzen werden, selbst für sehr tiefe Hierarchien. Wir hatten zunächst nur die Berücksichtigung von von zwei Hierarchiestufen implementiert. Mit der aktuellen Überarbeitung gehen wir nun jedoch bis zu acht Ebenen tief in der Auflistung auf der Druckansicht.
Neu in dem Kontext ist dabei ebenso, dass nun auch die zugehörigen Seiten mit aufgeführt werden. Zu jeden Strukturelement werden nun sowohl die Bildnummern als auch die logischen Seitenzahlen als Seitenbereich mit aufgeführt.
Es gab wieder einmal einige kleinere Änderungen innerhalb der Ausführung von GoobiScript und der Anzeige der Ergebnisse. Ein gutes Beispiel für eine solche kleinere Änderung ist z.B. dass nun die Beschreibung, wie der Status eines GoobiScripts lautet, etwas aussagekräftiger ist. So wird z.B. für das GoobiScript zum Ändern der Projektzuhörigkeit nun eine verständliche Information angezeigt statt der zuvor recht kryptischen Information, mit der nicht einmal wir als Entwickler etwas anfangen konnten. :)
Während der Inbetriebnahme des XMP-Header Plugins auf einem Produktivsystem ist uns aufgefallen, dass die Dokumentation nicht ganz up-to-date war. Diese wurde nun noch einmal überarbeitet und in dem Zusammenhang auch gleich einige Änderungen an dem Plugin vorgenommen, die ein noch besseres Logging erlauben, für den Fall das das Plugin während der Ausführung auf Fehler stößt.
Hier findet sich die aktuelle Fassung der Dokumentation online:
An einigen Stellen von Goobi workflow gab es wieder mehrere kleinteilige Änderungen, um die Bedienung zu vereinfachen. Diese Änderungen sind zu viele und zu klein, als dass alle hier aufgeführt werden sollen. Als ein Beispiel soll daher hier einmal die Erweiterung der Inline-Hilfetexte dienen, die unter anderem bei der Konfiguration der Dateigruppen für die Erzeugung von METS-Dateien etwas umgeschrieben wurde.
Von solchen Änderungen gab es einige im Hintergrund. Im besten Fall fallen dem Nutzer diese kleinen Anpassungen noch nicht einmal auf.
In der Benutzeradministration können nun Änderungen an den Zugehörigkeiten für Projekte und Gruppen mit dem Button Abbrechen
rückgängig gemacht werden. Das ging bisher nicht. Eine ähnliche Anpassung haben wir bei der Gelegenheit auch bei den Projekten vorgenommen, wo die Einstellungen zu den Dateigruppen sich nun ähnlich verhält.
Im Bereich der Benutzergruppen war die Oberfläche für die Nutzer noch nicht ideal. Dies betraf vor allem die Zuweisung von individuellen Berechtigungen, die von einzelnen Plugins mitgebracht werden können. Die Möglichkeit der Eingabe solcher individuellen Berechtigungen gab es zwar bisher schon. Sie war allerdings nicht intuitiv genug, so dass man die Eingabemöglichkeit zu einfach übersehen konnte. Diese ist mit einer Überarbeitung nun deutlich besser geworden.
Bei der Gelegenheit haben wir auch noch berücksichtigt, dass ein Nutzer noch besser erkennen können sollte, wenn keine weiteren Berechtigungen mehr zuweisbar sind. In einem solchen Fall erfolgt nun eine Anzeige eines kurzen Hilfetextes.
Eine Entwicklung am DOI-Plugin ermöglicht es uns, dass jetzt auch Metadaten aus mehreren Ebenen eines Dokuments und dessen übergeordneter Einheit bei mehrbändigen Werken für die Registrierung von DOIs genutzt werden können, um sie als XML Elemente an Datacite zu übergeben, oder auch um sie als Liste von Elementen mit Attributen für die Registrierung der DOIs zu nutzen.
Hier noch einmal der Link zur Dokumentation des DOI-Plugins:
Und hier der Link zum Quellcodes des Plugins:
Das Vorgangslog hilft häufig, wenn es darum geht nachzuvollziehen, warum ein Vorgang in welchem Status ist, welche vorherige Kommunikation dazu bereits vorliegt und was gegebenenfalls auch einem schiefgegangen ist.
Bisher wurde das Vorgangslog innerhalb der Aufgaben nur als kleine Box angezeigt, die es bei vielen Inhalten erschwerte, die Ereignisse bequem zu lesen. Aus diesem Grund ist die Box des Vorgangslogs nun expandierbar und nimmt die ganze Breite des Browerfensters ein. Darüber hinaus zeigt sie alle Inhalte so an, dass ein Scrollen innerhalb der Box nicht mehr notwendig ist.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 21.09. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Wie viele andere bekannte Softwarelöungen und Webseiten war auch Goobi workflow von der Sicherheitslücke innerhalb der Programmbilbiothek Log4j betroffen. Zumindest theoretisch. Wir haben noch am gleichen Tag als die Sicherheitslücke bekannt wurde, die Applikation aktualisiert, eine neue Version von Goobi workflow veröffentlicht und ca. 200 Server aktualisert. Sicherheitsprobleme sind daher bei keinem der von uns betreuten Systeme aufgetreten.
Im weiteren Verlauf des Monats haben wir uns aber dennoch weiter intensiv mit der Thematik Log4j, dem Logging allgemein und weiteren Update beschäftigt, und wir haben verschiedene automatische junit-Tests entwickelt.
Es gibt mal wieder ein neues GoobiScript. Dieses heisst metadataBackup
und erlaubt es, dass ganz bequem Backups der Dateien meta.xml
und meta_anchor.xml
erstellt werden können. Hierbei handelt es sich um die wichtigen internen METS-Dateien, die zu jedem Vorgang gehören. Eine solches Backup ist vor allem dann sinnvoll, wenn automatisiert Änderungen an diesen Dateien vorgenommen werden sollen und daher eine Sicherheitskopie zuvor erstellt werden soll.
Der Aufruf dieses GoobiScripts erfolgt einfach ohne weitere Parameter:
Für einen kurzen Moment waren einige Goobi-Installation davon betroffen, dass aus den Statistiken keine Excel-Dateien mehr erzeugt werden konnten. Ursache hierfür war das zwischenzeitliche Update eine Programmbibliothek für Excel-Dateien und die damit verbundene Änderung des Dateiformats. Dies haben wir mit dem Update korrigiert.
Wenn Nutzer den Zeitraum für das automatische Speichern der Metadaten angepasst haben, so führte dies zu Ladeproblemen beim Betreten des Metadateneditors. Dies wurde behoben.
Das Plugin zum automatischen Löschen von Inahlten aus Goobi workflow wurde erweitert. Es ist damit nun möglich, dass auch gezielt Metadaten und Eigenschaften gelöscht können. Dies ist zum Beispiel dann sinnvoll, wenn Daten nach einem festgelegten Zeitraum automatisch anonymisiert werden sollen.
Die Konfgurationsmöglichkeiten sind für diesen Anwendungsfall erweitert und dokumentiert worden:
Das Plugin selbst für die Installation sowie der Quellcode befinden sich wie gehabt bei GitHub unter folgender URL:
Das Delay-Plugin für eine automatische Pausierung von Workflows für eine konfigurierbare Zeit wurde deutlich erweitert. Statt wie bisher nur eine zentrale Konfiguration zu erlauben, ist es nun möglich, dass wie bei den meisten anderen Plugins auch, ein einzelner Konfigurationsblock pro Projekt oder Arbeitsschritt erzeugt werden kann. Somit läßt sich das gleiche Plugin mehrfach in verschiedenen Projekten und Arbeitsschritten verwenden und kann sich dabei unterschiedlich verhalten.
Eine beispielhafte Konfiguration sieht dabei wie folgt aus:
Und auch dieses Plugin ist natürlich unter GitHub veröffentlicht:
Das GoobiScript executeStepAndUpdateStatus
hat beim Aufruf an Arbeitsschritten bisher die eigentlich hierfür konfigurierte Warteschlangen ignoriert. Das wurde nun behoben, so dass die Ausführung regulär in die konfigurierte Message-Queue eingereiht und somit korrekt priorisiert ausgeführt wird.
Auch die Ausführung von Scripten innerhalb der Vorgangsdetails hat die Ausführung innerhalb einer Warteschlange bisher ignoriert. Diese Stelle wurde korrigiert, so dass diese nun ebenfalls innerhalb der Message-Queues ausgeführt und korrekt priorisiert ausgeführt werden.
Die praktische Pluginbersicht mit ihrer darin enthaltenen Versionsanzeige für jedes einzelne Plugin hilft den Goobi-Administratoren für die Wartung sehr. Schließlich läßt sich so gut überblicken, ob alle Plugins mit der jeweils installierten Goobi-Version kompatibel sind. Gefehlt haben in dieser Auflitung allerdings bisher noch diejenigen Plugins, die in dem Verzeichnis goobi/lib
abgelegt sind. Um auch diese in der Auflistung sehen und bequem auf ihren Status hin überprüfen zu können wurde die Übersichtsseite erweitert.
Auch diesen Monat gab es wieder einige Verbesserungen an der Accessibility. So wurden unter anderem alle Buttons, die über eine Dropdown-Funktionalität verfügen, so angepasst, dass ihr Zustand (geöffnet vs. geschlossen) gut von Screenreadern verarbeitet werden können.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 21.12. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Performance Optimierungen für sehr große Datenbestände
Entwicklung eines neuen Erfassungsplugins für die Integration mit Atlas AEON
Entwicklung eines Plugins für die gleichzeitige Bearbeitung von Metadaten aus mehreren Vorgängen
Entwicklung eines neuen Konfigurationseditors
Die Entwicklung eines Plugins für die Kombination der Bearbeitung von Archivbeständen mit der Möglichkeit, diese selektiv zu digitalisieren, erweckt immer mehr Interesse und ist schon in mehreren Einrichtungen im Produktiveinsatz. In dem Kontext fallen dann naturgemäß noch einmal Bereiche auf, die noch nachjustiert werden sollten, um weitere Einsatzzwecke mit abdecken zu können:
Bisher konnte man innerhalb des Archiv-Management-Plugins einzelne Verzeichnungseinheiten auswählen, um für diese einen Vorgang erzeugen zu lassen, der dann seinen Workflow durchläuft. Neu ist nun, dass dies auch für einen ganzen Bereich von Verzeichnungseinheiten möglich ist.
Dazu wählt man einfach einen übergeordneten Knoten aus dem Bestand aus und wählt die zu verwendende Produktionsvorlage. Anschließend wird für jede Verzeichnungseinheit, für die bisher noch kein Vorgang existiert, ein neuer Vorgang erzeugt und erlaubt dessen Verarbeitung.
Neben der neuen geschilderten Funktionalität für das Erzeugen von Vorgängen, gab es auch einige kleinere Änderungen in der Bedienlogik. Insbesondere wenn es darum ging, dass noch kein Archivbestand vorliegt und daher ein ganz neuer Bestand angelegt werden sollte, gab es Verbesserungsbedarf, den wir in Angriff genommen haben.
Das Hinzufügen neuer Bestände ist entsprechend nun einfacher und im Fall auftretender Probleme auch besser nachvollziehbar.
Ein Feature dass wir uns alle schon lange gewünscht haben, ist endlich umgesetzt worden: Die Arbeit in Goobi innerhalb mehrerer Tabs bzw. Browserfenster.
In der Vergangenheit war es immer wieder mal ein beobachtetes Problem, dass Anwender von Goobi workflow versucht haben, Informationen z.B. aus einem Projekt auch bei einem anderen Projekt einzutragen und sie daher mit mehreren Fenstern gleichzeitig arbeiten wollten. Dies war allerdings bisher nicht ganz unproblematisch, da Goobi im Hintergrund jeweils nur ein solches Element gleichzeitig laden konnte. Aus diesem Grund war im Hintergrund stets das zuletzt betretene Objekt dasjenige, das geladen war und das auch entsprechend gespeichert wurde. Dies führte in der Vergangenheit des Öfteren zu großen Irritationen. Nun jedoch ist diese Einschränkung beseitigt, so dass eine Arbeit mit dem gleichen Browser in der gleichen Session und mit mehreren Tabs möglich geworden ist.
Eine Einschränkung gilt hier derzeit noch: Es können momentan maximal 64 Tabs gleichzeitig mit Goobi verwendet werden. Wenn dies eines Tages aber doch einmal zu wenig sein sollte, können wir den Wert aber auch auf maximal 1024 Tabs hochsetzen. :)
Bereits seit einiger Zeit verwenden wir Java 11 schon für die Entwicklung von Goobi workflow. Auch bei Neuinstallationen und Updates werden die installierten Systeme mittlerweile auf Java 11 umgestellt.
Ab dem 1. September 2021 werden wir Java 11 nun für alle Syteme zu einer verpflichtenden Voraussetzung machen. Sollte ein System entsprechend bisher noch nicht auf Java 11 aktualisiert worden sein, so muss dies nach diesem Termin spätestens mit dem nächsten Goobi workflow Update zwangsläufig erfolgen.
Bisher konnten Vorgänge, die keinen expliziten Exportschritt im Workflow enthalten, über die administrativen Ansichten (z.B. mittels GoobiScript) dennoch exportiert werden. Da dieses Verhalten für Materialien mit Schutzrechten allerdings nicht immer gewünscht war, haben wir hier eine Änderung vorgenommen. und das Verhalten angepasst. Exporte sind somit nur noch für Vorgänge möglich, wenn diese auch einen Arbeitsschritt enthalten, der als Export
gekennzeichnet ist.
Diese Änderung wurde für folgende Bereiche berücksichtigt:
GoobiScript für die Durchführung von Massenexporten
Button in der Vorgangsauflistung
Button innerhalb der Vorgangsdetails
Das Command-Plugin für den Export
Innerhalb der Vorgangsliste von Goobi workflow stehen bereits seit langem verschiedene erweiterte Funktionen zur Verfügung. So kann man dort unter anderem die Laufzettel nachträglich generieren lassen und herunter laden. Auch die interne Logdatei des gewählten Vorgangs ließ sich an dieser Stelle generieren. Allerdings wurde sie bisher ausschließlich in den Benutzerordner des Anwenders innerhalb des Server-Dateisystems gespeichert, so dass ein Zugriff darauf bisher recht umständlich war. Dies wurde angepasst. Die Logdatei ist nun genauso herunterladbar wie beispielsweise der Laufzettel und eine Gesamt-PDF-Datei des jeweiligen Vorganges auch.
Wir haben ein neues Plugin entwickelt, das die Übernahme von Bildern vereinfachen soll. Dies wird insbesondere bei Massenimporten interessant. Der Bedarf entstand bei uns, um nach der automatischen Erzeugung von Vorgängen aus einem vorgandenen Archivbestand einer EAD-Datei im Archiv-Management-Plugin die Bilder übernommen werden sollten, die innerhalb der EAD-Datei in einem Metadatum allerdings in unvollständiger Form aufgeführt wurden. Mit diesem Plugin ist es daher möglich, dass solche Informationen ausgewertet, anhand von Trennzeichen aufgesplittet und dann mit zusätzlichen Pfadangaben versehen werden, um so anschließend die Dateien tatsächlich zu übernehmen.
Eine Dokumentation für dieses Plugin wurde noch nicht veröffentlicht und folgt in den nächsten Tagen. Das gleiche gilt ebenso für die Veröffentlichung des Plugins bei Github.
Wenn die Details eines Benutzers bearbeitet werden, so konnte man bisher stets auch festlegen, zu welchem Projekt und zu zu welcher Benutzergruppe der Benutzer gehören soll. An dieser Stelle wurde bisher der Button zum Hinzufügen von Benutzergruppen und Projekte auch dann angezeigt, wenn der Nutzer bereits zu allen vorhanden Gruppen und Projekten gehörte.
Die Nutzeroberfläche wurde nun daraufhin angepasst, dass die Buttons zum Hinzufügen nur noch dann angezeigt werden, wenn sie auch eine Funktion erfüllen können, es also noch Benutzergruppen und Projekte gibt, bei denen der Benutzer noch kein Mitglied ist. Damit ist die Administration von Benutzern noch einmal etwas einfacher geworden.
Die erweiterte Suche nach Batches ermöglicht es, alle Vorgänge eines bestimmten Batches zu finden. Die Suchsyntax für eine solche Suche sieht z.B. so aus:
Mit dieser Suche werden alle Vorgänge gefunden, die sich im Batch mit der ID 42
befinden. Das Gegenteil dieser Suche, also all derjenigen Vorgänge, die nicht im Batch 42
sind, war bisher nicht möglich. Diese neue Suchmöglichkeit wurde nun implementiert und sieht entsprechend folgendermaßen aus:
Die Erweiterung dieser Suchmöglichkeit ist innerhalb des Goobi Handbuches auch bereits dokumentiert:
Für ein Projekt war es notwendig, EAD-Dateien aus einer OAI-Schnittstelle zu harvesten. Dazu haben wir ein neues Plugin entwickelt, was für alle Daten der konfigurierten Schnittstelle Vorgänge in Goobi workflow anlegt, sofern diese noch nicht existieren.
Während der Ausführung des Plugins werden gemäß einer Konfiguration von XPath-Ausdrücken die Metadaten selektiv nach METS überführt.
Eine Dokumentation für dieses Plugin wurde noch nicht veröffentlicht und folgt in den nächsten Tagen. Das gleiche gilt ebenso für die Veröffentlichung des Plugins bei Github.
Seit noch nicht allzu langer Zeit verfügt Goobi workflow über die Möglichkeit, dass mehrere Institutionen mit jeweils eigenen Administratoren in einer Instanz arbeiten können. Da eine solche Arbeitsweise jedoch sehr selten im Alltag vorkommt, haben wir die Anzeige von Institutionen nun etwas dynamischer gestaltet.
Von nun an werden Institutionen innerhalb der Auflistungen von Benutzern, Gruppen und Projekten nur noch angezeigt, wenn mehr als eine Institution konfiguriert wurde. Dies macht die Arbeit mit Goobi an dieser Stelle wieder etwas übersichtlicher.
In der Nutzer-Verwaltung ließ sich bisher nur nach dem Namen der Nutzer suchen. Mit den neuesten Änderungen ist es nun möglich, auch alle weiteren Felder zu durchsuchen. Außerdem ist eine Sortierung jetzt auch über alle Spalten der Nutzertabelle möglich.
In der Vergangenheit gab es öfter Verwirrung bei Goobi-Nutzern, die sich über unbekannte IPs in der Auflistung der eingeloggten Nutzer bzw. der Anzeige unbekannter aktiver Sessions wunderten. Hier wurden in der Vergangenheit auch fälschlicherweise Sicherheitsprobleme befürchtet. Um diese Verwirrungen künftig zu vermeiden wird die Liste der Sessions jetzt für die Anzeige der aktiven Nutzer gefiltert und nur noch diejenigen angezeigt, die auch tatsächlich eingeloggt sind. So vermeiden wir potentielle Missverständnisse und Fehlinterpretationen, die sich aus der Anzeige ergeben könnten.
Im Bereich des Metadateneditors gab es wieder viele Änderungen, auf die wir hier kurz eingehen möchten:
Dank der Unterstützung von @hemed aus der Universitätsbibliothek Bergen ist Goobi nun in der Lage, die insbesondere in Skandinavien sehr populäre Normdatenbank KulturNav zu durchsuchen und Normdaten aus dieser zu übernehmen. Diese Entwicklung war tatsächlich bisher der erste größere Pull-Request, den wir auf GitHub von einem externen Entwickler entgegen genommen haben.
Hier finden sich die technischen Details zu den Entwicklungen zusammen mit der umfangreichen Kommunkation zwischen den beteiligten Entwicklern:
Dank Dir @hemed für diese großartige Zusammenarbeit und Euren Beitrag zu Goobi workflow!
Im oberen Menü des Metadateneditors gab es eine kleine Inkonsistenz, wenn man die Maus über die Einzelbild/Thumbnail Buttons bewegt hat. Die Anzeige wurde angepasst und sollte sich damit jetzt erwartungskonform verhalten.
Bei der Thumbnailanzeige während der Paginierung kam es zu unerwünschten Scrolleffekten, wenn man ein Bild angeklickt hat. Dieser Fehler wurde behoben.
Im Metadateneditor gibt es einige Aktionen, bei denen die METS-Datei unmittelbar gespeichert wird. Beispiele dafür sind unter anderem die beiden Buttons, die die Paginierung zurücksetzen bzw. anhand der tatsächlich vorhandenen Bilddateien neu erzeugen. Dieses Verhalten trifft Anwender oft unerwartet und deshalb wird jetzt vor der Durchführung dieser Aktionen eine Warnung angezeigt, dass die Änderungen direkt gespeichert werden und nur durch einen Administrator rückgängig gemacht werden können.
Auch in dem Bereich, der für das Neuanlegen von Vorgängen verantwortlich ist, haben wir einige Änderungen vorgenommen:
Im Falle, dass es beim Neuanlegen von Vorgängen zu unerwarteten Fehlern kommt, wird nun detaillierter auf die aufgetretenen Fehler hingewiesen. Fehlerhaft erzeugte Vorgänge sollten durch diese Anpassungen noch seltener auftreten.
Eine ähnliche Anpassung haben wir auch für den Fall vorgenommen, dass z.B. aufgrund von besonderen Regelsatzkonfigurationen keine Metadatendatei meta.xml
angelegt werden konnte. Auch hier erfolgt nun eine hilfreiche Anzeige einer Fehlermeldung und unterbindet das fehlerhafte Anlegen eines Vorgangs ohne Metadatendatei.
Wenn Projekte auf inaktiv gesetzt werden, werden von nun an die Buttons zum Neuanlegen von Vorgängen bei den Produktionsvorlagen in rot dargestellt und mit einer Warnung versehen, dass das zugehörige Projekt deaktiviert ist. Darüber hinaus wird auch der Projektname grau eingefärbt, um auf dessen Deaktivierung hinzuweisen.
Beim Neuanlegen von Vorgängen wurde derjenige Benutzer, der die Vorgänge erzeugt auch bei sämtlichen Arbeitsschritten des Workflows als der letzte Bearbeiter eingetragen, noch bevor die Arbeitsschritte tatsächlich bearbeitet wurden. Dies hat in der Vergangenheit zwar nicht gestört und auch sonst keinen unerwünschten Seiteneffekt aufgewiesen. Irritierend fanden wir es dennoch und haben es jetzt einmal verbessert.
Das erweiterte Dashboard ist superbeliebt und fast in jeder Goobi-Installation im Einsatz. Hier haben wir in diesem Monat einige Anpassungen vorgenommen:
Auf dem Dashboard wird üblicherweise ein Diagramm angezeigt, dass die Anzahl der hinzugefügten Vorgänge der letzten Monate visualisiert. Dabei wurden bisher alle Vorgänge aufgeführt, die in der Goobi-Instanz vorliegen. Mit einer Änderung an dieser Stelle verhält sich das Diagramm nun etwas hilfreicher: Es werden von nun an nur noch diejenigen Vorgänge in dem Diagramm berücksichtigt, die in Projekten sind, bei denen der Nutzer auch Mitglied ist. Dies ist für den Anwender deutlich intuitiver.
So hilfreich das Dashboard auch ist und so viel es auch anzeigen kann; manchmal sind einige der Widgets nicht mit Daten gefüllt, weil sie schlichtweg nicht vorliegen. Dass dann allerdings leere Widgets angezeigt wurden, fanden wir unschön. Aus diesem Grund ist die Anzeige jetzt überarbeitet und blendet leere Widgets jetzt aus.
Es gab wieder zahlreiche kleinere Anpassungen in verschiedenen Bereichen, die nicht unerwähnt bleiben sollen.
Durch die Umstellung auf Buttons aus Accessibility-Gründen waren im Firefox die Vorgangstitel in der Vorgangslisten nicht mehr markierbar. Dies war umständlich, wenn man einen solchen Titel doch einmal in die Zwischenablage kopieren wollte. Aus diesem Grund haben wir hier eine Änderung vorgenommen, damit dies wieder möglich ist.
Wenn in Goobi ein Vorgang umbenannt wird, werden im Hintergrund auch alle Verzeichnisse im Vorgangsverzeichnis umbenannt, damit diese zum neuen Vorgangsnamen passen. Bisher wurden symbolische Links hierbei ausgelassen. Das wurde geändert und symbolische Links werden von nun an ebenfalls mit umbenannt.
Innerhalb der Vorgangsdetails wurden nicht für alle Buttons konsistente Mouse-over-Texte angezeigt. Dies haben wir vereinheitlicht.
Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 21.07. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml
entsprechend folgende Abhängigkeit eingetragen werden:
Entwicklungen und Neuigkeiten zu Goobi workflow
Erweiterung der Unterstützung von Metadatengruppen
Flex-Editor für die Erfassung von Handschriften und anderes
Neuer Paginierungstyp für Doppelseiten
Auszeichnung von Doppelseiten in METS
Unterstützung von IIIF URLs innerhalb des Variablen Replacers
GoobiScripte sind aus dem Werkzeugkasten des gewieften Goobi-Anwenders nicht mehr wegzudenken. Doch obwohl sie überaus praktisch und hilfreich sind, gab es immer mal wieder Probleme mit steckenbleibenden Warteschlangen oder hoher Auslastung des Systems, wenn viele GoobiScripte auf Ihre Ausführung warteten. Außerdem kam es ab und an zu Problemen mit der parallelen Ausführung. Diese Probleme gehören nun allesamt der Vergangenheit an, denn die interne GoobiScript-Verwaltung und -Ausführung wurden komplett neu durchdacht und implementiert. Dadurch ist GoobiScript jetzt effizienter als je zuvor.
Goobi workflow erlaubt mit der Ausführung von GoobiScript umfangreiche Operationen, um Vorgänge, deren Workflows, Metadaten oder auch andere Bereiche zu beeinflussen und dies dabei gleich auf tausende Vorgänge einheitlich anzuwenden. Insofern ist GoobiScript oft eine großartige Hilfe, wenn es um Massenänderungen geht. Doch leider waren diese Optionen in der Vergangenheit lediglich einem sehr beschränkten Nutzerkreis zugänglich, da mittels GoobiScript natürlich auch versehentlich größere unerwünschte Eingriffe in die Vorgänge erfolgen könnten und somit oft nur Admistratoren Zugriff auf GoobiScript erhielten.
Mit den Neuentwicklungen am Rechtesystem von Goobi workflow gibt es an dieser Stelle einige Verbesserungen, so dass es jetzt möglich wird, einzelne Nutzergruppen gezielt mit ausgewählten Rechten für die Ausführung von definierten GoobiScripten auszustatten. Auf diese Weise läßt sich beispielsweise erlauben, dass Nutzer das GoobiScript für die Durchführung des Exports auch für viele Vorgänge ausführen können, nicht jedoch andere GoobiScripte wie das Ändern von Metadaten oder Eingriffe in den Workflow.
Die Konfiguration dieser Rechte ist relativ einfach gehalten. Im Bereich der Benutzergruppen können hier spezifisch einzelne Kommandos hinzugefügt werden, wie im folgenden Screenshot ersichtlich.
Das überarbeitete Rechtemanagement für die Steuerung des Zugriffs auf GoobiScript ist innerhalb des Goobi Handbuchs anschaulich beschrieben. Hier läßt sich dies einmal nachlesen:
Übrigens haben wir auch die Dokumentation der GoobiScripte allgemein deutlich überarbeitet, um deren Ausführung und Arbeitsweise besser zu erklären. Diese Dokumentation findet sich nach wie vor unter folgender Adresse:
Dass rechenintensive bzw. zeitaufwendige Automatismen über eine sog. Message Queue ausgeführt werden können, ist noch immer relativ neu und bringt insbesondere für größere Projekte enorme Vorteile mit sich, weil so beispielsweise die Berechnungen auch über mehrere Server verteilt werden können. Überarbeitet haben wir hier, dass Aufgaben, die während der Verarbeitung hängen geblieben sind, weil eine der zur Verfügung stehenden Queues nicht erreichbar war, nicht mehr in einem ungewissen Zustand verbleiben. Stattdessen werden sie jetzt in einen formellen Fehlerstatus gesetzt, so dass deren fehlerhafte Verarbeitung ersichtlich wird und sich entsprechend auch sich deren Ausführung so auch korrigieren läßt.
Es wurde ein völlig neuer Schrittstatus INFLIGHT
eingeführt. Dieser neue Status wird dann gesetzt, wenn ein automatischer Workflowschritt auf einem anderen System bearbeitet werden soll, dorthin übertragen wird, aber noch nicht von dem externen System aufgegriffen wurde und entsprechend noch nicht bearbeitet wird. Durch diesen neuen Schrittstatus kann somit zu jedem Zeitpunkt abgefragt werden, wie ausgelastet das Gesamtsystem ist und ob ggf. noch weitere Server zur Abarbeitung von rechenintensiven Aufgaben zugeschaltet werden sollten.
Für eine gute Accessibility ist es besonders wichtig, dass die HTML-Elemente die richtige Semantik haben. So bedeutet ein <a>
(ein Link, oder auch anchor), dass eine neue Seite betreten wird und nicht, dass eine Aktion ausgeführt wird. Ein <button>
hingegen deutet darauf hin, dass eine Aktion ausgeführt wird. Aus historisch-technischen und auch optischen Gründen war in Goobi workflow bisher jede Aktion als Link umgesetzt. Im Zuge der großen Accessibility-Anstrengungen der letzten Monate haben wir auch hier größere Umstellungen vorgenommen. Somit wurden alle Links, die eigentlich eine Aktion auslösen und nicht nur zur Navigation dienen in Buttons überführt worden.
Am äußeren Erscheinungsbild sollte diese Umstellung für den Nutzer keine Änderung bedeuten. Sollten funktionell Überraschungen auftreten, weil eine der zahlreichen Umstellungen nicht reibungslos erfolgte, so freuen wir uns über Rückmeldungen, so dass wir hier dann Anpassungen vornehmen können wenn nötig.
Lang gewünscht und jetzt sind sie da: Individualisierbare Validierungsmeldungen im Metadateneditor.
Für die sehr granular steuerbaren Validierungsprüfungenen, die innerhalb der Regelsätze festgelegt werden können, wurden in der Vergangenheit Meldungen im Metdateneditor angezeigt, die nicht für jeden verständlich waren, da sie zu technisch waren. Mit den Entwicklungen in diesem Kontext sind diese Meldungen jetzt steuerbar und können innerhalb der Regelsätze individuell und mehrsprachig festgelegt werden. Innerhalb der Regelsätze sieht dies beispielsweise so aus:
In der Nutzeroberfläche wird diese Meldung dann entsprechend beim Verstoß gegen die Validierungsvorgaben beispielsweise so angezeigt:
In Goobi workflow gibt es lokale Übersetzungsdateien, die im Konfigurationsverzeichnis liegen. Die in diesen Dateien hinterlegten Übersetzungen überschreiben die von Goobi workflow selbst mitgelieferten Übersetzungen. Auf diese Weise ist es möglich, dass in jeder Goobi workflow Instanz auch individuelle Texte verwendet werden können, die in der Nutzeroberfläche angezeigt werden sollen.
Goobi überwacht diese Dateien stets auf Änderungen und lädt diese lokalen Übersetzungen neu, wenn sich an den Dateien etwas geändert hat. Allerdings funkioniert diese Routine nur, wenn die Dateien bereits beim Start von Goobi vorliegen. So kam es in der Vergangenheit öfter vor, dass Goobi neu gestartet werden musste, nur um eine Übersetzung zu ändern bzw. anzuzeigen. Mit den Änderungen, die wir nun vorgenommen haben überprüft Goobi bereits beim Start zusätzlich, ob alle eventuell benötigten Übersetzungsdateien im entprechenden Verzeichnis vorhanden sind und legt ggf. fehlende Dateien sonst automatisch an.
Durch eine Einstellung in den Vorgangsdetails läßt sich nun in einzelnen Vorgängen die Abarbeitung der automatischen Arbeitsschritte pausieren. Dies ist vor allem dann besonders praktisch, wenn ein Werk eher als geplant in Goobi workflow eingespielt wurde, der weitere Workflowverlauf aber vollautomatisch stattfindet. Durch diese Änderung kann der automatische Export, der noch nicht stattfinden soll, durch nur zwei Klicks verhindert werden.
Im Menü Administration
gibt es nun einen neuen Menüpunkt Automatische Schritte
. Dieser ermöglicht es, automatische Schritte zu sogenannten "Jobtypen" zu gruppieren. Diese Jobtypen können dann pausiert werden. Dadurch lassen sich mehrere vollautomatische Vorgänge auf einmal an einer bestimmten Stelle pausieren. Wenn zu einem späteren Zeitpunkt der Jobtyp wieder gestartet wird, werden alle pausierten Schritte erneut gestartet.
Goobi workflow erlaubt ja, Anfragen an dessen API per JSON Web Token (JWT) zu authentifizieren. Solche JWTs werden dabei von Goobi workflow selbst erstellt und an einen Drittservice versandt, der sie dann später nutzt, um die Ausführung einer Aktion in Goobi zu legitimieren. Die Verwendung einer solchen JWT-Methode hat den großen Vorteil, dass ein JWT immer nur einen sehr bestimmten Endpoint authentifiziert (zum Beispiel einen einzelnen Workflowschritt von einem einzelnen konkreten Vorgang zu abzuschließen). Darüber hinaus erlaubt diese Herangehensweise, dass ein solches JWT nach einer gewissen Zeit abläuft. Somit ist also auch der potentielle Verlust eines JWTs wesentlich weniger problematisch als der Verlust eines unbegrenzt für mehrere Endpoints gültigen Tokens oder eines Passworts.
Um diese Funktionalität zu nutzen. muss innerhalb der zentralen Konfigurationsdatei von Goobi workflow goobi_config.properties
ein zentrales JWT-Secret hinterlegt werden. Die Konfiguration kann beispielsweise so aussehen:
Nach einigen Monaten Arbeit ist es uns nun gelungen, dass Goobi workflow Körperschaften vollständig unterstützt. Diese werden nun ähnlich wie bisher Personen, Metadaten und Metadatengruppen als eigener Bereich innerhalb des Metadateneditors aufgeführt und erlauben die Erfassung mehrerer zugehöriger Metadaten.
Natürlich ist hierbei auch gleich berücksichtigt worden, dass auch die Anbindung an gängige Normdatenbanken unterstützt wird. Entsprechend kann hier nun auch nach Körperschaften gesucht und deren Daten übernommen werden.
Die Definition von Körperschaften ist innerhalb der zentralen UGH-Dokumentation für die Verarbeitung von Metadaten erläutert:
Eine zentrale Konfigurationsdatei von Goobi workflow ist die Datei goobi_projects.xml
. Sie steuert in erster Linie, wie sich die Anlegemaske für Vorgänge verhalten soll, welche Felder angezeigt werden sollen und inwieweit dies pro Publikationstyp unterschiedlich sein soll.
Grundsätzlich ist diese Konfiguration von Goobi bereits eine der eher komplexeren Dateien und nicht unbedingt selbsterklärend. Hinzu kam bisher der Umstand, dass diese Konfigurationdatei prinzipiell schon erlaubte, dass für verschiedene Projekte unterschiedliche Konfigurationen festgelegt werden konnten. Dazu mussten jedoch bisher stets die gesamten zumeist sehr umfangreichen Blöcke mehrfach in der Datei vorkommen, was häufig zu unnötigen Redundanzen und Wiederholungen führte. Mit einer Umstellung an dieser Stelle soll diese Konfiguration nun etwas einfacher werden und solche Wiederholungen vermeiden. Daher erlauben die bisherigen project
-Elemente nun eine wiederholbare Nennung von mehreren Projektnamen, für die der jeweilige Abschnitt gelten soll. Bei der unmittelbaren Gegenüberstellung wird gut nachvollziehbar, wo sich hier die Neuerungen ergeben:
Bisherige Konfiguration von mehreren Projekten, bei der die Konfiguration für das Manuscript-Project
und das Archive-Project
identisch ist und vom default
abweicht:
Künftige Konfiguration mehrerer gleich zu behandelnder Projekte zusammengefasst in einem Block:
Eine Dokumentation über den Aufbau der Konfigurationsdatei goobi_projects.xml
findet sich unter der folgenden URL:
Entwicklungen und Neuigkeiten zu Goobi workflow
Implementierung eines ALTO-Editors zur Bearbeitung von Volltexten
Erweiterungen des Dashboards
Anpassungen am Caching
Der Metadateneditor erlaubt nun, Metadatengruppen innerhalb von anderen Metadatengruppen anzulegen. Dies ist insbesondere für museale Inhalte von Interesse, um beispielsweise Daten aus dem Format LIDO korrekt abbilden zu können. Zur Umsetzung dieser Funktionalität wurde die Metadatenbibliothek ugh massiv erweitert und auch der Metadateneditor in Goobi hat einige Zeilen neuen Code bekommen. Außer den Gruppen innerhalb von Gruppen werden nun wiederholbare Felder, Pflichtfelder, Duplizieren oder Löschen von einzelnen Feldern oder Untergruppen sowie die Auswertung der DefaultDisplay="true"
-Direktive innerhalb von Gruppen unterstützt.
Das Großthema Accessibility begleitet uns leider noch immer. Aber wenn es gut werden soll, dann muss man hier halt auch einmal Durchhaltevermögen aufbringen. Also haben wir auch in diesem Monat wieder viele kleine unscheinbare aber sinnvolle Anpassungen vorgenommen. In erster Linie ging es hierbei noch einmal darum auch weitere bisherige Links auf Buttons umzustellen.
Hier gibt es übrigens mal einige spannende Links zu der Thematik Button vs. Links:
Für ein Schweizer Projekt war es notwendig, dass Goobi workflow und Goobi viewer besser mit Digitalisaten umgehen, die bereits als Doppelseite vorliegen. Die besondere Schwierigkeit lag dabei darin, dass solche Doppelseiten nur vereinzelt innerhalb von digitalisierten Werken vorhanden sein sollten, die Blätterlogik innerhalb des viewers dann davon allerdings nicht betroffen ist und eine Doppelseitenanzeige für Einzelseiten ebenso nahtlos erlaubt wie auch eine korrekte Anzeige der einzelnen Doppelseite.
Im Metadateneditor von Goobi workflow besteht nun die Möglichkeit, dass Doppelseiten als solche gekennzeichnet werden. Die betrifft einerseits die Markierung der Seite, um diese innerhalb der METS-Dateien korrekt zu klassifizieren. Andererseits wurden hierbei auch die Paginierungsmöglichkeiten erweitert, so dass nun Möglichkeiten für eine Doppelseitenzählung bestehen.
Im Endergebnis einer solchen generierten METS-Datei sind die so erfassten Informationen korrekt ausgezeichnet und lassen sich dort nachvollziehen. Der Goobi viewer kann damit dann entsprechend umgehen und die Bildanzeige hierfür korrekt erlauben.
Nachdem wir in letzter Zeit einiges an der Bearbeitung von Metadatengruppen neu implementiert haben, ist uns aufgefallen, dass die bisherige Suche nach Metadatengruppen noch nicht im gewünschten Umfang möglich war. Daher haben wir die Indexierung der Metadaten nun um diejenigen der Metadatengruppen erweitert.
Veranschaulicht am konkreten Beispiel läßt sich dies ganz gut aufzeigen. Eine Metadatengruppe wird im Regelsatz beispielsweise so konfiguriert:
Diese könnte dann innerhalb eines konkreten Vorgangs mit solchen Informationen gefüllt werden:
Für die Suche nach einem dieser Felder kann nun eine Suchanfrage wie diese verwendet werden:
Über die zunehmende Verbreitung von IIIF haben Sie sicher auch schon einmal gehört. Wir verwenden dies vor allem im Kontext des Goobi viewers auch bereits sehr viel. Kürzlich ergab sich jedoch, dass wir hiervon auch im Kontext von Goobi workflow noch mehr profitieren können. Daher haben wir den sogenannten VariablenReplacer dahingehend erweitert, dass er neben gängigen Variablen wie der Vorgangs-ID, Metadaten aus der METS-Datei und Verzeichnispfaden nun auch die zugehörigen Bilddateien eines Vorgangs als IIIF Image URLs erzeugen kann. Dies ist dann praktisch, wenn eine externe Applikation oder ein Skript beispielsweise Zugriff auf alle Bilddateien eines Vorgangs haben soll, um auf deren Basis eine Verarbeitung durchzuführen.
Verwendet wird dies ebenso wie andere Variablen auch z.B. im Aufruf von Skripten:
Zur Verfügung stehen die folgenden beiden Variablen:
Die Rückgabe einer solchen Variable sieht beispielsweise wie folgt aus:
Mehr Informationen über die Verwendung des VariablenReplacers finden sich im Handbuch von Goobi unter folgender Adresse:
Bei der Anzeige der aktiven Nutzer innerhalb der Goobi workflow Nutzeroberfläche wurden gelegentlich Nutzer aufgeführt, deren Session bereits abgelaufen waren oder die aus anderen Gründen noch angezeigt wurden. Dies war insbesondere dann störend, wenn wir die Systeme warten wollten und auf die vermeintlich aktiven Nutzer Rücksicht nehmen wollten. Bei genauer Analyse fanden wir hier ein Fehlverhalten von Goobi, was wir letztlich auch beheben konnten. Damit gehören die Geisternutzer nun der Vergangenheit an.
Für eine Einrichtung in Luxemburg wurde benötigt, dass wir einen großen Datenbestand an Akten automatisiert nach Goobi importieren und dabei zugleich auch den bereits vorhanden Bestand, der in einer EAD-Datei vorlag anreichern sollten.
Das Plugin, das wir hierzu entwickelt haben ist noch sehr auf den konkreten Anwendungsfall von der Einrichtung zugeschnitten und so noch nicht direkt für andere Anwendungsfall ohne Anpassungen einsetzbar. Falls aber Interesse an solchen Importen besteht, können wir diese Plugin weiterentwickeln und generische gestalten. In den nächsten Wochen werden wir dieses Plugin zusammen auch mit vielen anderen Plugins noch veröffentlichen und dokumentieren. Bis dahin gebt uns bitte einfach bescheid, wenn schon vorher ein Interesse an dem Plugin besteht.
Nachdem wir bereits vor kurzem ein Plugin entwickelt haben, dass eine Handle-Registrierung bei dem EPIC-Service der GWDG ermöglicht, haben wir nun zusätzlich noch ein weiteres ähnliches Plugin erstellt. Hierbei handelt es sich nun um die Möglichkeit, Werke bei Datacite zu registrieren, um hierfür DOIs zu erhalten. Dabei ist zu beachten, dass DOIs stets für Veröffentlichungen vergeben werden, nicht für Strukturelemente oder gar Seiten. Mit den Erweiterungen, die sich allerdings am Goobi viewer ergeben in nächster Zeit lassen sich dort auf Basis der sog. Web-Fragments auch granulare URLs beispielsweise für Seiten auf der Grundlage von DOIs ermöglichen.
Der Quellcode des Plugins wurde hier auf GitHub veröffentlicht:
Die ausführliche Dokumentation zu Installation, Konfiguration und Betrieb findet sich unter der folgenden Adresse:
Intern gab es in diesem Monat einige größere Arbeiten, die optisch weniger in Erscheinung treten und für die meisten Nutzer weniger wichtig erscheinen mögen. Inhaltlich sind solche Arbeiten allerdings auch immer wieder mal nötig, um mit einer etablierten Software up-to-date zu bleiben und sich an technologische Entwicklungen anzupassen, um auch in Zukunft kompatibel zu sein. In diesem Monat haben daher einige der etablierten Programmbibliotheken für die Verarbeitung von XML-Dateien aktualisiert und durchgetestet. Dies betrifft vor allem Bibliotheken wie saxon, poi, xerces, xmlbeans und jaxb. Im besten Falle resultiert das darin, dass der Nutzer keine Änderung bemerkt und alles wie gewohnt weiter funktioniert.
Eine weitere interve Änderung, die wir vorgenommen haben betrifft übrigens auch die Verwendung sogenannter Session Storage Variablen. Dort hatten sowohl Goobi workflow als auch der Goobi viewer versehentlich einen gleichen Namen gewählt. Dies resultierte darin, dass der Scrollstatus applikationsübergreifend gleich war und einige Nutzer darüber erstaunt waren, dass im Metadateneditor unerwartetet und wie von Geisterhand gescrollt wurde, weil sie zuvor im Goobi viewer gescrollt hatten. Dieses ungewöhnliche Fehlerbild haben wir mit dem Update behoben.
Entwicklungen und Neuigkeiten zu Goobi workflow
Erweiterung des Archiv-Management-Plugins
Erweiterter Java 11 Support
Anpassungen der Exportmöglichkeiten
Erweiterung des Umgangs mit musealen Daten aus LIDO
Der Goobi workflow Metadateneditor erlaubt es schon seit einiger Zeit, sich die OCR-Ergebnisse im Textformat anzusehen. Wenn man dann allerdings einen Erkennungsfehler entdeckt hat, blieben einem nur drei Möglichkeiten:
Das Transkriptionsplugin in Goobi workflow nutzen und Text
anstelle von ALTO-XML
zu exportieren, was allerdings die Markierung von Suchtreffern auf einem Bild im Goobi viewer verhindert.
Die ALTO-Datei mit einem separaten Texteditor im Dateisystem editieren. Das ist sehr aufwändig und für Laien kaum machbar.
Den Erkennungsfehler nicht korrigieren und versuchen trotzdem ruhig zu schlafen.
Seit dieser Goobi workflow Version gibt es eine neue Möglichkeit:
Man kann den neuen integrierten ALTO-Editor innerhalb des Metadateneditors nutzen. Die Koordinaten der Wörter bleiben so erhalten und der Volltext lässt sich fast wie regulärer Fließtext bearbeiten.
Eine Hervorhebung der Zeilen und Wörter erlaubt, dass einfach ersichtlich wird, an welcher Stelle der Seite das jeweilige Wort gedruckt ist.
Die Dokumentation für die neue Funktionalität ist auch bereits im online zugänglichen Goobi workflow Handbuch zu finden:
Wenn im Metadateneditor eine Aktion ausgelöst wird, wird selten die gesamte Seite neu geladen, damit der Arbeitsfluss nicht unterbrochen und die Scrollposition der einzelnen Container beibehalten werden kann. Bei dieser Art des Aktualisierens der Seite kann der Entwickler entscheiden, welche Teile der Seite genau aktualisiert werden sollen.
In der Vergangenheit wurden bei einigen Aktionen auch Teile der Seite aktualisiert, bei denen es nicht nötig war. Deshalb haben einige Aktionen, wie zum Beispiel das Setzen des Repräsentanten ungewöhnlich lange gedauert. Wir haben den Metadateneditor komplett auf dieses Problem hin überprüft und die Aktualisierung bei allen Aktionen optimiert.
In der Vergangenheit war es oft der Fall, dass nach einem Update beim ersten Betreten des gerade frisch aktualisierten Goobi das Layout und/oder einige Stylings völlig kaputt waren. Das lag nicht daran, dass die Entwickler schlecht gearbeitet haben, sondern daran, dass Browser wie Chrome oder Firefox Dateien auf dem lokalen Gerät zwischenspeichern, um Ressourcen und Bandbreite zu sparen. Die Dateien werden nur dann neu vom Server heruntergeladen, wenn sie sich geändert haben. Deshalb ist es nach einem Update manchmal vorgekommen, dass sich alte Dateien mit neuen Dateien gemischt haben und deshalb das Layout zerschossen war. In diesem Fall musste die Seite komplett neu geladen werden (mit der Tastenkombination Strg
+Shift
+R
), um die zwischengespeicherten Dateien zu verwerfen und neu zu laden.
Damit dies in der Zukunft nicht mehr geschieht, hängen wir nun bei jedem Goobi Release einen eindeutigen, zur Version gehörenden Text an die Adresse jeder Datei an, die potentiell lokal zwischengespeichert sein könnte. Dadurch fragt der Browser bei neuen Versionen auf jeden Fall stets eine neue Datei an und das Layout sieht nach dem Update sofort korrekt aus, ohne dass geheime Tastenkombinationen gedrückt werden müssen.
Goobi workflow wird sehr vielseitig eingesetzt. So gibt es auch einige Einrichtungen, die nicht an Metadaten im METS/MODS oder LIDO Format interessiert sind. Bei diesen Einrichtungen ist es aufgefallen, dass Skriptaufrufe zwingend eine meta.xml
Datei im Vorgangsordner verlangen, da sie sonst mit einem Fehler abgebrochen werden. Dies wurde nun geändert, so dass die Datei meta.xml
bei Skriptaufrufen nur noch dann gelesen wird, wenn auch tatsächlich Metadateninformationen innerhalb des Skriptaufrufs benötigt werden.
Nachdem im letzten Monat die GoobiScript-Runtime komplett neu implementiert wurde, sind noch einige Probleme mit GoobiScripts aus Plugins aufgetaucht, die dazu geführt haben, dass die Plugins nicht richtig funktioniert haben. Diese Probleme wurden nun behoben und alles funktioniert wieder so wie gewohnt.
Das erweiterte Dashboard wurde noch weiter erweitert. Es gibt zwei neue Widgets: Das Widget Änderungen der letzten 7 Tage
zeigt Schritte an, die in den letzten 7 Tagen abgeschlossen, in Bearbeitung genommen wurden oder Fehler hatten. Das zweite neue Widget zeigt die Schritte an, die sich derzeit in der Warteschlange befinden. Dabei wird der im letzten Monat eingeführte neue INFLIGHT
Status zugrunde gelegt.
Neu ist außerdem dass das Layout des Dashboards nun individuell über die Nutzereinstellungen konfiguriert werden kann. Diese Konfiguration kann vorgenommen werden, indem innerhalb der nutzerspezifischen Benutzerkonfiguration
im Reiter Allgemein
die Einstellung Anordnung der Dashboard-Elemente
bearbeitet. Jede Zeile innerhalb der Textbox fügt ein Element zum Dashboard hinzu. Dabei besteht jede Zeile aus zwei Teilen, getrennt durch ein Leerzeichen: Zuerst wird eine Zahl angegeben, die die Spalte festlegt, in der das Widget angezeigt werden soll. Der zweite Teil nach dem Leerzeichen ist dann der Name des hinzuzufügenden Widgets.
Die Liste der aktuell verfügbaren Widgets lautet: assignedSteps
, batches
, htmlBox
, itm
, processSearch
, processTemplates
, queue
, rss
, statisticsProcesses2
, statisticsProcesses
, taskHistory
, tasksLastChanges
.
Eine Beispielkonfiguration könnte dabei folgendermaßen aussehen:
Entwicklungen und Neuigkeiten zu Goobi workflow
Flex-Editor für die Erfassung von Handschriften und anderes
Erweiterung des Rechtemanagements für individuelle GoobiScripte
Erweiterung des Dashboards
Bessere Unterstützung von Körperschaften
Goobi workflow verfügt nun über eine neue Funktionalität für die Dokumentation von Schäden, die bereits beim Anlegen von Vorgängen bekannt sind und mittels Fotos festgehalten werden sollen. Dies ist insbesondere dann hilfreich, wenn die betroffenen Werke beispielsweise an einen Dienstleister ausgehändigt werden sollen und somit der Zustand der Werke vor der Übergabe dokumentiert werden soll. Die in diesem Kontext hochgeladenen Fotos und Beschreibungen werden innerhalb des Vorgangslogs gespeichert und können jederzeit wieder eingesehen werden.
Ein positiver Nebeneffekt, der durch die Einführung dieser neuen Funktionalität aufgetreten ist, ist die somit ebenfalls hinzugewonnene neue Funktionalität, dass ab jetzt auch direkt beim Anlegen von Vorgängen Masterbilder und andere Dateien bereits in Goobi eingespielt werden können, ohne dass dies in einem eigenen Arbeitsschritt passieren muss. Dies dürfte sich insbesondere für kleine Projektteams als praktische Neuerung erweisen.
Um diese neue Funktionalität zu aktivieren, muss innerhalb der Konfigurationsdatei /opt/digiverso/goobi/config/goobi_projects.xml
folgender Block innerhalb es Elements <createNewProcess>
für einzelne Projekte definiert sein:
Sobald diese Funktion aktiviert ist, passt sich die Nutzeroberfläche von Goobi workflow daraufhin an, indem beim Anlegen von Vorgängen nicht mehr der Button zum Speichern angezeigt wird, sondern stattdessen ein Button sichtbar wird, der zur nächsten Seite führt.
Soll nicht nur ein Upload von Schadensdokumentationen erfolgen sonden auch bereits vor dem Anlegen von Vorgängen ein Upload von Dateien in ausgewählte Ordner ermöglicht werden, kann die Konfiguration beispielhaft wie folgt vorgenommen werden:
Hat der Nutzer auf den Button zum Gelangen auf die nächste Seite geklickt, so kann hier ein globaler Kommentar eingegeben werden, der für alle Bilder gelten soll. Anschließend kann der Upload der Dateien erfolgen.
Nach dem Hochladen in den gewählten Ordner werden die Bilder samt zugehörigem Kommentar angezeigt und beim Vorgang gespeichert. Die Kommentare zu den einzelnen Bildern können natürlich pro Bild individuell sein.
Zu beachten ist, dass die Kommentare ausschließlich für diejenigen Bilder gespeichert werden, die in den Ordner ìntern
als Schadensdokumentation geladen werden. Bilder, die hingegen z.B. als Masterbilder hochgeladen werden, verfügen nicht über die Möglichkeit pro Datei einen Kommentar mitzuführen.
Die neue Funktion für die Schadensdokumentation kann innerhalb der automatisch generierten Laufzettel berücksichtigt werden. Dabei werden alle hochgeladenen Bilder samt der zugehörigen Kommentare auf den Folgeseiten des Laufzeittels aufgeführt.
Zur Aktivierung dieser Anzeige im Laufzettel sollte in die Konfigurationsdateien /opt/digiverso/goobi/xslt/docket.xsl
und /opt/digiverso/goobi/xslt/docket_english.xsl
ein Block wie der folgende eingefügt werden:
Die PDF-Datei die Goobi auf Basis der Metadaten erzeugen kann, enthält üblicherweise ein Bild des Repräsentanten. Dieses Bild war bisher in unkomprimierter Fassung enthalten, so dass die PDF-Dateien zum Teil sehr groß waren. Dies wurde nun so geändert, dass die eingebetteten Bilder nun zunächst duch eine JPEG-Kompression laufen und erst im Anschluß in die PDF-Datei eingebettet werden. In dem Kontext wurde auch eine Anpassung für die Konfiguration der Gestaltung dieser PDF-Dateien vorgenommen. Entsprechend müssen diese Änderungen bei Updates nun ebenfalls in den Goobi-Installationen berücksichtigt werden. Bisher wurde üblicherweise dieser Block in der Konfigurationsdatei /opt/digiverso/goobi/xslt/docket_metadata.xsl
verwendet:
Dieser Block muss bezüglich des Bildpfades von nun an wie folgt angepasst werden:
Das Encoding der Datei sollte darüber hinaus angepasst werden, so dass es auf utf-8
umgestellt ist:
Der Standard-Laufzettel von Goobi workflow benötigt ebenfalls eine Änderung innerhalb der Konfiguration für die korrekte Anzeige des intern umbenannten Anlegedatums für den Vorgang. Bisher wurde üblicherweise dieser Ausdruck in den Konfigurationsdateien /opt/digiverso/goobi/xslt/docket.xsl
und /opt/digiverso/goobi/xslt/docket_english.xsl
verwendet:
Dieser Ausdruck muss wie folgt angepasst werden:
Und auch das Encoding dieser Dateien sollte angepasst werden, so dass es auf utf-8
umgestellt ist:
Auch der Batch-Laufzettel benötigt eine Änderung in der Konfiguration für die korrekte Anzeige des Anlegedatums für der Vorgänge.
In der Datei /opt/digiverso/goobi/xslt/docket_multipage.xsl
stand bisher dieser Wert:
Dieser Ausdruck muss wie folgt angepasst werden:
Auch hier sollte das Encoding der Datei angepasst werden, um es auf utf-8
umzustellen:
Seit einiger Zeit schon verfügt Goobi über zwei verschiedene Plugins, um auch im laufenden Workflow bzw. sogar periodisch Katalogabfragen durchführen zu können, damit Metadaten importiert bzw. aktualisiert werden. Diese beiden Plugins wurden einmal gründlich erweitert und in ihrer Dokumentation angepasst. Für den Catalogue Poller wurde eine neue Zeitsteuerung implementiert, die erlaubt, dass gezielt definierte Datenbestände in konfigurierbaren Zeitabständen aktualisiert werden. Darüber hinaus sind sowohl der Catalogue Poller
als auch das Catalogue Request Plugin
dahingehend erweitert worden, dass jetzt auch für Unterelemente Abfragen an den Katalog gestellt werden können, um diese zu aktualisieren.
Wie genau die Konfiguration aufgebaut sein muss, um diese neuen Funktionen verwenden zu können, ist in den jeweiligen Dokumentationen der beiden Plugins erläutert.
Hier findet sich die neue ausführliche Dokumentation des Catalogue Request Plugins:
Und hier findet sich die aktualisierte Dokumentation des Catalogue Pollers:
Mit GoobiScript verfügt Goobi workflow schon seit geraumer Zeit über einen Mechanismus, um auch umfangreiche Listen an Vorgängen in Masse ändern zu können. Dies kann die Durchführung von Exporten sein, Änderungen am Workflowstatus betreffen, das Hinzufügen von Metadaten innerhalb der METS-Dateien umfassen und vieles mehr. Über die Jahre sind zahlreiche GoobiScripte mit jeweils neuen Funktionen hinzugekommen, die wir auch jeweils auf einer eigenen Dokumentationsseite detailliert erläutern. Dennoch fanden wir den Aufbau der Kommandos langfristig nicht für den richtigen Weg, so dass wir uns dazu entschieden haben, hier eine größere Umstellung vorzunehmen. Statt der bisherigen Syntax verwendet GoobiScript nun die Sprache YAML zur definition von GoobiScripten. Der Aufbau der Kommandos ist damit ein bisschen anders als in der Vergangenheit. Allerdings bringt die Umstellung mehrere große Vorteile mit sich.
Einerseits verfügt die Darstellung der Kommandos von nun an über ein Syntax-Highlighting, so dass das Lesen und Schreiben der GoobiScripte durch die Formatierung und Farben deutlich übersichtlicher geworden ist. Und zum anderen bringen alle GoobiScripte von nun auch eine eigene eingebettete Dokumentation samt Beispielen mit, die über jedem Parameter jeweils aufgeführt wird. Damit ist die Rechnerche, wie ein spezielles Kommando zu verwenden ist noch einmal deutlich einfacher geworden.
Ein weiterer enormer Zugewinn der Umstellung auf das neue Format YAML ist, dass wir nun auch sehr übersichtlich verschiedene GoobiScripte übersichtlich hintereinander im gleichen Aufruf kombinieren können, indem diese jeweils mit der Trennlinie als Separator nacheinander aufgeführt werden.
Hierbei kann die mitgelieferte Dokumentation für eine bessere Übersicht auch einfach entfernt werden:
Die Dokumentation für die Verwendung von GoobiScript findet sich hier, wo die Bedienung und Möglichkeiten genau erläutert werden:
Es wurde ein neues GoobiScript entwickelt, dass es nun ermöglicht, dass neue Arbeitsschritte besser in den Workflow integriert werden können. Mit diesem Kommando ist es nun möglich, die neue Zielposition innerhalb des Workflows anzugeben, die noch durch einen anderen Arbeitsschritt belegt wird. Durch den Aufruf dieses Kommandos ist es nun möglich, dass der neue Arbeitsschritt an dieser gewünschten Postion eingefügt wird und alle nachfolgenden Arbeitsschritte entsprechend an die richtigen Postionen verschoben werden.
Die Dokumentation für das neue GoobiScript findet sich hier:
Der technische Unterbau von Goobi workflow wurde auf CDI umgestellt. Diese Änderung war nötig, um Goobi workflow auch in Zukunft mit wichtigen Sicherheitsupdates versorgen zu können. Außerdem eröffnet uns dieser Umstieg einige neue technische Möglichkeiten, wie zum Beispiel die Nutzung von Websockets. Mit Websockets kann der Server den Client (also den Webbrowser) proaktiv über Änderungen informieren. Diese neue Technologie ist zum Beispiel für länger laufende Aufgaben wie Importe oder auch die GoobiScripte außerst praktisch, um den Nutzer über den Fortschritt informiert zu halten.
Entwicklungen und Neuigkeiten zu Goobi workflow
Auslagerung einiger Statistiken zu Plugins mit Auffrischung der Nutzeroberfläche
Implementierung einer neuen Such-Syntax
Überarbeitung der internen Ordnerstruktur zur Einhaltung der Maven-Konvention
Ausbau der Plugin-Dokumentationen
Goobi unterstützt nun die Konvertierung des Metadatenformats LIDO zu METS. So ist es von nun an zum Beispiel möglich, eine LIDO Datei zu importieren und intern wieder als METS-Datei zu speichern. Genauso lässt sich eine vorliegende METS-Datei auch wieder als LIDO-Datensatz exportieren.
Bisher wurden Bilder in LIDO als <linkResource>
innerhalb des Elements <resourceRepresentation>
erwartet:
Mit den Entwicklungen in diesem Monat ist es nun möglich geworden, dass Bilder stattdessen auch als <resourceID>
angegeben werden können. Dies ist insbesondere für die Datenübernahme aus der Applikation MuseumPlus hilfreich:
Zu beachten ist: Wenn ein Bild zu einem Unterelement gehört, so muss die Angabe innerhalb des <lido>
Elements erfolgen, das dieses Unterelement beschreibt.
Vor kurzem hatten wir den sogenannten Variablen-Replacer dahingehend erweitert, dass dieser nun auch IIIF-URL für die zugehörigen Bilder eines Vorgangs in Skriptaufrufen erlaubt. Hier mussten wir noch einmal etwas nachkorrigieren, damit das Encoding der URLs für die jeweiligen Anwendungsfälle passt.
Die Vokabularverwaltung in Goobi workflow ermöglicht es, in der Nutzeroberfläche kontrollierte Vokabulare zu verwalten und diese im Metadateneditor als Auswahlmöglichkeiten für Metadatenfelder zu nutzen. Besonders praktisch ist hierbei, dass die Beschreibung für eine bestimmte Entität geändert werden kann und dadurch, dass in der METS-Datei nur auf einen Vokabular-Eintrag verlinkt wird, der Eintrag automatisch auch in allen Vorgängen aktualisiert wird. Aufgrund dieser Vorzüge wird die Vokabularverwaltung in immer mehr Projekten verwendet.
Ein Problem bei der Verwendung der Vokabulare kann entstehen, wenn nach dem Export der Daten auch der Goobi viewer auf die gleichen Vokabulare zugreifen soll, da die Goobi workflow Installation häufig von außerhalb des Einrichtungsnetzes nicht erreichbar, da sie sich hinter eine Firewall befindet. Aus diesem Grund haben wir einen neuen Vokabularserver entwickelt, auf den Goobi workflow alle Änderungen an den in diesem Sinne konfigurierten Vokabularen spiegelt. In die Metadaten der METS-Datei wird in einem solchen Fall die URL der Datensätze im öffentlich zugänglichen Vokabularserver eingetragen, der bei intranda gehostet und entsprechend weltweit erreichbar ist. So kann der Goobi viewer dann auch ohne Probleme auf die Vokabulare zugreifen und erhält so immer aktuelle Datensätze aus dem Vokabular.
Schon seit den ersten Tagen von Goobi existiert die Möglichkeit, dass Vorgänge auf der Basis einer Katalogabfrage erzeugt werden und somit die Daten aus dem Katalog nachnutzen. Leider ist jedoch die Antwort der jeweiligen Kataloge manchmal nicht so, dass Goobi beispielsweise die Publikationstypen verlässlich aus den zu erwartenden Feldern interpretieren kann. Daher gibt es schon lange die Möglichkeit, die Katalogantwort vor deren Auswertung mit dem sogenannten Beautifier zu manipulieren. Dies ging in der Vergangenheit bereits mit PICA-Datensätzen. Neu hinzugekommen ist nun, dass diese Möglichkeiten jetzt auch für MARC-Datensätze bestehen. Eine solche Konfiguration kann beispielsweise so aussehen:
In diesem Beispiel wird der Leader an Position 19
mit einem Leerzeichen (\u0020
) ersetzt, sofern im Leader an Position 6
der Wert e
steht.
Dieses Beispiel zeigt, wie bei einem Datensatz einer OPAC-Anfrage das Feld <controlfield tag="999">
mit dem Wert KXP
erzeugt wird.
Diese Beispiel zeigt, wie ein Feldinhalt geändert werden kann. Hier wird das Feld 041$a
mit dem Wert ger
ersetzt, sofern es den Wert lat
enthält.
Unter der folgenden URL ist die Konfiguration für Kataloge und auch die Festlegung des Beautifiers dokumentiert:
Und weiter ging die wilde Fahrt auch in diesem Monat was die Accessibility-Optimierungen angeht. Man erhält schon den Eindruck, dass es sich hier um eine Lebensaufgabe handelt. Aber es fühlt sich doch immerhin schon danach an, als ob wir auf der Zielgeraden sind. Schauen wir mal, wie es im nächsten Monat aussieht. :)
Das Kompilieren von Goobi workflow ist nun nicht mehr festgelegt auf die schon recht betagte Version 8 von Java. Stattdessen ist von nun an nicht mehr nur der Betrieb mit Java 11 möglich sondern auch das Kompilieren.
Für diejenigen, die Goobi gern einmal selbst kompilieren möchten, gibt es hier einmal eine Mini-Zusammenfassung, wie man dies selbst durchführen kann:
JSON Web Tokens (JWTs) werden in Goobi workflow an immer mehr Stellen eingesetzt, um anderen Programmen oder auch Personen zu erlauben, bestimmte Aktionen für eine gewisse Zeit auszuführen. Bisher musste hierzu im Vorfeld ein JWT-Secret
zwingend von Hand vorkonfiguriert werden, um diese Funktionalität nutzen zu können. Seit diesem Monat erzeugt Goobi workflow das JWT secret selbst, wenn es bisher noch nicht vorkonfiguriert wurde.
Bei der Implementierung der oben beschriebenen automatischen Generierung der JWT secrets, ist eine potentielle Sicherheitslücke aufgefallen: Die JWT keys wurden nicht rotiert, was einem Angreifer bei vielen abgefangenen Nachrichten eventuell ermöglicht hätte, das secret zu erraten. Dies wurde nun geändert und die keys werden alle 24 Stunden rotiert.
Ganz selten kommt es vor, dass Dateinamen von Bildern einzelner Vorgänge an Goobi vorbei umbenannt werden, so dass Goobi von diesen Umbenennungen bisher keine Kenntnis hatte und dies bei erneuten Exporten der METS-Dateien zu Problemen führen konnte.
Mit einer Anpassung des Standard-Exports umgehen wir diese Problematik nun. Denn im Falle der Projektkonfiguration, dass die METS-Datei dynamisch die Dateinamen abhängig vom erkannten MIME-Type (z.B. image/jpeg) erzeugt werden soll, erfolgt nun auch eine Aktualisierung der intern gespeicherten zwischenzeitlich geänderten Dateinamen innerhalb der METS-Datei. Somit werden solche potentiellen Fehlerfälle bei unabhängig von Goobi vorgenommenen Umbenennungen (z.B. angepasste Groß- und Kleinschreibung, geänderte Dateiendung) abgefangen.
Wenig spektakulär für Nicht-Programmierer klingt eine aufwendige Umstellung die wir intern gerade vornehmen für weitere Code-Optimierungen. Wir verwenden hier gerade noch mehr die Programmbibliothek Lombok zur Code-Generierung von langweiligem aufgeblähtem aber leider notwenigem Quellcode, den man per Konvention innerhalb von Java-Applikationen haben muss.
Für diejenigen Leser, die selbst Java programmieren: Lombok ist definitiv einen Blick wert und übernimmt die automatische Generierung von Gettern, Settern, Konstruktoren und noch einiges mehr.
Die Metadatengruppen haben wir kürzlich bereich massiv erweitert. Für ein Projekt in Kroatien benötigten wir hier noch etwas Nacharbeit: Es war notwendig, dass Metdatengruppen auch dupliziert werden können, so dass diese nun korrekt alle zugehören Metadaten, Personen sowie Untergruppen mit duplizieren. Das spart einige unnötige manuelle Bearbeitungen.
Entwicklungen und Neuigkeiten zu Goobi workflow
Erweiterung der Verarbeitung von GoobiScripten
Neues Rechtemanagement für die Ausführung von GoobiScript
Bessere Unterstützung von Körperschaften und Metadatengruppen
Flex-Editor für die Erfassung von Handschriften und anderes
Wir haben die Suchmöglichkeiten erweitert, so dass es nun möglich ist, dass Vorgänge anhand ihres Erstellungsdatums gefunden werden können. Die Suchsyntax sieht dabei folgendermaßen aus.
Es ist auch möglich, nach Vorgängen, die vor oder nach einem bestimmten Datum (oder auch einer Uhrzeit) erstellt wurden, zu filtern:
Diese neuen Suchparameter ermöglichen somit ebenfalls eine Suche von Vorgängen nach einem Zeitraum:
Analog zu den neuen Suchmöglichkeiten nach den Vorgängen, kann auch nach Arbeitsschritten gefiltert werden. Hierbei besteht die Unterscheidung zwischen stepstartdate
als Zeitpunkt des Bearbeitungsbeginns und stepfinishdate
für den Zeitpunkt des Bearbeitungsendes.
Um nach dem Bearbeitungsende zu filtern, muss in der gleichen Suchanfrage auch nach dem Status eines Schritts gesucht werden. Dies sieht entsprechend folgenermaßen aus:
Der folgende Filter sucht nach Vorgängen, bei denen Scanning
und Export
im Jahr 2021 abgeschlossen wurden:
Die Verwendung der Suche wurde innerhalb der Dokumentation an die neuen Möglichkeiten angepasst und findet sich nach wie vor unter dieser Adresse:
Im Change-Workflow-Plugin wurden einige Erweiterungen für die Funktionalität vorgenommen. So lässt sich von nun an nicht nur der Status von Aufgaben ändern sondern auch die Zuweisung von Benutzergruppen. Eine Konfiguration hierfür sieht beispielsweise wie folgt aus:
Hinzu kommt, dass mit diesem Update nicht mehr allein Eigenschaften der Vorgänge auf ihre Werte hin geprüft werden können. Stattdessen können nun alle zur Verfügung stehenden Werte, die als Variablen ausgedrückt werden können, verwendet werden. Aus den bisherigen Konfigurationen in dieser Form:
müssen in den Konfigurationsdateien nun solche Formulierungen verwendet werden:
Weitere Erläuterungen über die Möglichkeiten der Variablen finden sich unter folgender URL:
Die aktualisierte Dokumentation für das Change-Workflow-Plugin findet sich hier:
In mehreren Projekten ergab sich die Anforderung, dass Metdaten innerhalb der METS-Datei dynamisch aktualisierbar sein sollten. So sollte es beispielsweise möglich sein, dass Metadaten für hierchisch untergeordnete Strukturelemente generiert werden können sollen und dabei ggf. mit Daten angereichert werden sollen, die aus anderen Struktelementen oder auch aus Eigenschaften stammen.
Wie bei vielen anderen Plugins auch wurde dieses Plugin ziemlich generisch gehalten und ist entsprechend je nach Einsatzzweck und Workflow sehr individuell konfigurierbar. Eine solche Konfiguration sieht beispielsweise so aus:
Im Falle dieses Konfigurationsbeispiels werden in das Feld TitleDocMain
innerhalb von Monographien mehrere verschiedene Daten hintereinander eingefügt. Hierbei handelt es sich um Feldinhalte aus der Mets-Datei, umd statische Werte, um Timestamps, Zähler und weitere Typen. Dabei können solche Kombinationen auch für tieferliegende Strukturelemente angewendet werden und erlauben so sehr flexible Einsatzmöglichkeiten.
Die ausführliche Dokumentation des Plugins wurde noch nicht erstellt und folgt bald. Der Quellcode des Plugins selbst ist unter folgender URL verfügbar:
Durch die Umstellung auf aktuelle Technologien (CDI, JSF 2.3) können nun in Goobi worflow Websockets eingesetzt werden. Diese ermöglichen eine performante bidirektionale Kommunikation zwischen Server und Browser. Dadurch ist es uns nun möglich, von der Serverseite aus Nachrichten zum Nutzer zu schicken. Ein erster Anwendungsfall, wo dieses Anwendung findet sind die folgenden zwei Bereiche:
Administrative Nachrichten, die für alle Anwender angezeigt werden sollen, werden nun unmittelbar bei allen Nutzer angezeigt, nicht erst beim nächsten Reload.
Der Fortschritt der Abarbeitung von GoobiScript-Ausführungen wird live angezeigt, ohne dass hier ein manueller Reload für die Aktualisierung der Fortschrittsanzeige erfolgen muss.
Wenn eine Nachricht in einer Message Queue wiederholt Fehler erzeugt, wird sie als unzustellbar markiert und in eine andere Message Queue, die "Dead Letter Queue" geschickt. Goobi überwacht nun diese "Dead Letter Queue" auf Nachrichten und setzt den zur Nachricht zugehörigen Schritt in den Fehlerstatus, damit sich ein menschlicher Nutzer den Fehler ansehen kann.
Das am häufigsten eingesetzte Dashboard hat eine hilfreiche Erweiterung erhalten. Dort ist es nun möglich, dass diejenigen Aufgaben aufgelistet werden, die der Nutzer als letztes abgeschlossen hat. Neben der Anzeige, welche Aufgaben der Nutzer derzeit in Bearbeitung hat, ergbit sich nun eine unmittelbare Einsicht in die kürzlich abgeschlossenen Aufgaben.
Dabei wurde zugleich ein häufig geäußerter Wunsch realisiert: Kürzlich abgeschlossene Aufgaben, die also aus der Aufgabenliste bereits verschwunden sind und im Workflow weiter vorangeschritten sind, können aus dem Dashboard heraus auch noch einmal zurückgenommen werden, um sie doch noch einmal zu bearbeiten. Dies ist allerdings nur dann mögich, wenn die nachfolgende Aufgabe nicht bereits durch einen Nutzer für die Bearbeitung angenommen oder durch einen Automatismus gestartet wurde.
Die zumeist sequentielle Reihenfolge von Arbeitsschritten erlaubt grundsätzlich eine sehr gute Übersicht über den Ablauf der involvierten Aufgaben und deren Fortschritt. Als zu umständlich empfanden wir allerdings die Bedienung, wenn die Reihenfolge von Aufgaben einmal geändert werden sollte oder neue Aufgaben zwischen existierende Aufgaben eines Workflows integriert werden sollten. Hier fanden daher einige größere Umstellungen statt. So können in der überarbeiteten Nutzeroberfläche die Aufgaben mittels der Pfeil-Icon verschoben werden, so dass sich die zugehörigen Reihenfolgennummern der betroffenen Arbeitsschritte automatisch mit anpassen, ohne manuell die Reihenfolgennummern ändern zu müssen.
Die zweite große Neuerung in diesem Kontext ist, dass neue Aufgaben, die in einen bestehenden Workflow integriert werden sollen, automatisch eine richtige Reihenfolgennummer erhalten, so dass die neue Aufgabe automatisch korrekt an das Ende des existierenden Workflows gesetzt wird.
Wird an dieser Stelle allerdings eine Reihenfolgennummer angegeben, die mitten im Workflow liegt, so werden die bereits existierenden Aufgaben automatisch um jeweils eine Position verschoben, um die neue Aufgabe dazwischen zu fügen. Diese Verhalten kann allerdings auf Wunsch auch unterbunden werden, so dass auch weiterhin eine parallele Ausführung von Aufgaben möglich ist.
Um von diesen Neuentwicklungen zu profitieren wurde diese Logik auch auf die Ausführung von GoobiScript erweitert. Aus diesem Grund existiert ein neues GoobiScript, das das Einfügen von Aufgaben in den Workflow unter Berücksichtung der korrekten zu ändernden Reihenfolgen für eingefügte Aufgaben auch in Masse erlaubt.
Für die Verwendung des neuen GoobiScripts findet sich hier der entsprechende Abschnitt innerhalb der Goobi workflow Dokumentation:
Der Code zu diesem Server ist bisher noch nicht veröffentlicht und befindet sich im intranda-internen Git-Repository: . Dort befindet sich auch die noch interne Dokumentation im Repository: . Über den Zeitpunkt der Veröffentlichung dieses Projektes haben wir bisher noch nicht entschieden. Zuvor möchten wir den Quellcode noch einem Review unterziehen und auch die Dokumentation aufbereiten und übersetzen.
NonSort
The
SortingTitle
Art of War
Subtitle
The Ancient Classic
iiifMediaFolder
Auflistung von IIIF-URLs zu allen Bildern aus dem media
-Verzeichnis eines Vorgangs
iiifMasterFolder
Auflistung von IIIF-URLs zu allen Bildern aus dem master
-Verzeichnis eines Vorgangs
Entwicklungen und Neuigkeiten zu Goobi workflow
Erweiterung der Single-Sign-On Unterstützung
Implementierung von Checksummen-Vergleichen für Exporte
Abschluss der Accessibility-Arbeiten gemäß WCAG
Swagger-Support
Im Rahmen eines Projektes wurde benötigt, dass nicht einzelne Vorgänge am Ende ihres Workflows exportiert werden. Stattdessen war gefordert, dass ein Goobi-Projekt als ganzes exportiert wird, so dass für sämtliche zu exportierenden Vorgänge eines Projekts eine gesamte Excel-Datei generiert werden sollte und die zugehörigen Bilder in Verzeichnissen gespeichert werden. Darüber hinaus sollte der gesamte Export abschließend noch als Download zur Verfügung stehen.
Mit einem neu entwickelten Workflow-Plugin ist diese Arbeitsweise nun möglich. Und sofern alle Vorgänge des Projekte auch einen konfigurierten Arbeitsschritt des Workflows absolviert haben, schließt das Plugin den ebenfalls konfigurierten Export-Schritt innerhalb des Workflows ab, so dass der Workflow einen korrekten Statusfortschritt hat.
Bitte beachten Sie, dass das Plugin mit den sehr spezifischen Vorgaben des Excel-Exports unter Umständen nicht zwangsläufig für andere Projekte so unverändert in Betrieb genommen werden kann. Je nach Projektziel und Goobi-Installation könnten hier für andere Einsatzszenarien Anpassungen an dem Plugin notwendig werden.
Die ausführliche Dokumentation des Plugins findet sich unter der folgenden URL:
Der Quellcode des Plugins selbst ist unter folgender URL verfügbar:
Nicht in dem Anwendungsfall sollte eine Bearbeitung von Metadaten mit dem Betreten des METS-Editors einhergehen. Für einige Einsatzzwecke ist hier eine vereinfachte Oberfläche bereits ausreichend. Aus diesem Grund haben wir ein neues Plugin entwickelt, das erlaubt, dass festgelegte Metadaten direkt innerhalb einer geöffneten Aufgabe bearbeitbar sind. Hierbei kann über eine Konfigurationsdatei festgelegt werden, welche Metadaten in welcher Aufgabe angezeigt werden sollen und in welcher Form sie editierbar sein sollen (z.B. als Checkbox, Input-Feld, Textarea, Dropdown).
Neben der Bearbeitung der Metadaten erlaubt das Plugin ebenfalls eine reine Sichtkontrolle der Daten, so dass die Felder als readonly angezeigt werden können. Zusätzlich kann auch der Repräsentant des Vorgangs direkt in der Oberfläche gesetzt werden.
Die bearbeitbaren Metadaten können im übrigen auch aus einem konfigurierten Vokabular stammen und so in einer Auswahlliste angeboten werden. Und für den Fall, dass Metadaten eines anderen Vorgangs übernommen werden sollen, besteht die Möglichkeit, direkt nach den gewünschten Vorgängen zu suchen (z.B. nach denjenigen mit gleicher Identifikatoren) und aus diesen einzelne oder alle Metadaten nachzunutzen.
Die ausführliche Dokumentation des Plugins findet sich unter der folgenden URL:
Der Quellcode des Plugins selbst ist unter folgender URL verfügbar:
Im Rahmen eines hebräisch- und eines arabischsprachigen Projektes stellte sich die Anforderung, dass die mehrsprachige Metadaten von Übersetzern eingepflegt werden. Dabei bestand die besondere Schwierigkeit darin, hier den Überblick über den Fortschritt zu behalten. Aus diesem Grund wurde ein neues Statistik-Plugin entwickelt, dass diese Informationen tabellarisch aufbereitet und als Download anbietet.
Eine ausführliche Dokumentation des Plugins findet sich hier veröffentlicht:
Der Quellcode des Plugins selbst ist unter folgender URL verfügbar:
Wir fanden den bisherigen Mechanismus zum Zurücksetzen von Passwörtern nicht ideal. Daher haben wir diesen Bereich einmal überarbeitet. Ein Administrator muss daher von nun an nicht mehr erst in die Rolle des Benutzers wechseln, um dessen Passwort zu ändern. Stattdessen kann dies nun direkt aus dem Administrationsbereich für Benutzer erfolgen.
Um auf diese neue Funktion zugreifen zu können, muss die Benutzergruppe der Administratoren über die neue Benutzerrolle Setzen eines neuen Passworts erlauben
verfügen.
Für das Ändern des eigenen Passworts haben wir in diesem Zusammenhang auch eine Umstellung vorgenommen. Dort ist es von nun an erforderlich, dass man zunächst das alte Passwort angibt, bevor ein neues Passwort gesetzt werden kann.
Mit dem Plugin LayoutWizzard
lassen sich viele Optimierungen von Digitalisaten sehr effizient automatisieren. In erster Linie dient es zum (semi-) automatischen Croppen von digitalisierten Einzel- oder Doppelseiten aus Büchern, wie es ausführlich auch in dessen Dokumentation hier erläutert ist:
Im Rahmen eines Projektes ergaben sich nun weitere Anforderungen, die der LayoutWizzard ebenfalls erfüllen soll. So sollten Seiten nicht nur von ihrem Hintergrund erkannt, gerade gerückt und beschnitten werden. Vielmehr sollte der Hintergrund von Unregelmäßigkeiten bereinigt werden. Schwarze Moosgummimatten, wie sie häufig während der Digitalisierung eingesetzt werden, mit leichten Verfärbungen, Fusseln oder anderen Strukturen können auf diese Weise gleichmäßiger mit einem dunkleren Schwarzton versehen werden. Das folgende Beispiel zeigt einmal den Unterschied zwischen aktivierter und nicht aktivierter Hintergrundaufbereitung:
Da ein Betrieb von Goobi workflow zunehmend auch unter Docker stattfindet, ergeben sich hier auch neue Anforderungen hinsichtlich der Inbetriebnahme. Konkret ergab sich die Notwendigkeit, dass vorliegende Konfigurationsdateien automatisch beim Starten des Docker-Containers aus einem gemounteten Verzeichnis in das Konfigurationsverzeichnis /opt/digiverso/goobi/config/
kopiert werden. Diese Funktionalität ist nun umgesetzt, so dass von nun an individuelle Konfigurationsdateien unabhängig vom Docker-image gepflegt werden können.
Die Dockerversion von Goobi workflow findet sich wie gehabt unter der folgenden URL:
Entwicklungen und Neuigkeiten zu Goobi workflow
Abschlussarbeiten am Archiv-Management-Plugin
Erweiterung des Flex-Editors für Provenienzen
Erweiterung des Vokabular-Managements
Goobi workflow unterstützt bereits seit einiger Zeit verschiedene Authentifizierungen, so unter anderem auch eine Authentifizierung mittels OpenID. Neu hinzugekommen ist nun eine weitere sehr generische Lösung, die HTTP-Header einer Anfrage auswertet. Diese Implementierung hat den großen Vorteil, dass sie für viele verschiedene Einsatzszenarien infrage kommen kann, da die eigentliche Authentifizierung somit externen Apache-Modulen überlassen werden kann. Auf diese Art und Weise ist zum Beispiel eine Authentifizierung mittels eines CAS möglich.
Um eine bessere Übersicht über die mittlerweile verschiedenen Arten der Nutzerauthentifizierung zu bieten, haben wir einen neuen Bereich in der Dokumentation geschaffen, der die unterschiedlichen Konfigurationen einmal aufführt. Die Dokumentation findet sich an dieser Stelle:
Neben der Authentifizierung über die Datenbank, eine Anbindung an LDAP-Server und Active Directory, OpenID ist damit nun auch eine Anbindung an zahlreiche weitere Single-Sign-On-Systeme möglich.
https://github.com/intranda/goobi-workflow/commit/a30441e78bf7e7f2e6aebc08f94d8d4aac43f87f
Die Navigation für die Anzeige der Thumbnails im Metadaten-Editor wurde überarbeitet. Die Navigationsbuttons sind von nun an im oberen Bereich fixiert und bleiben daduch auch dann im sichtbaren Bereich, wenn nach unten gescrollt wird.
Außerdem wird jetzt bei einem Wechsel von der großen Bildansicht in die Thumbnails direkt zum momentan ausgewählten Bild gescrollt. Dies spart künftig das Suchen nach dem zuletzt verwendeten Bild.
https://github.com/intranda/goobi-workflow/commit/d5d020e1d1ddac3642f570c5534743298a0968fa
Für die Goobi REST-API gibt es jetzt eine Beschreibung mittels Swagger UI
. Hierbei handelt es sich um eine sehr verbreitete Schnittstellenbeschreibung, die es Entwicklern erlaubt die REST-API von Goobi workflow mit eigenen Kommandos auszuprobieren und somit eine Anbindung externer Applikationen an Goobi workflow zu implementieren.
Mehr Informationen über die Möglichkeiten, die eine Schnittstellendokumentation via Swagger bietet, lassen sich hier erfahren:
Diese neue Schnittstellenbeschreibung ist innerhalb von Goobi workflow über das Menü Administration zu erreichen und erlaubt von hier unmittelbar ein interaktives Testen einzelner Kommandos direkt im Webbrowser:
https://github.com/intranda/goobi-workflow/commit/ec286ee1268a9316199b4f3097c20fc255cafedc https://github.com/intranda/goobi-workflow/commit/31e0496783d0b24870861aca3ddc8b535f60b0b4
Das Thema der Barrierefreiheit begleitet uns nun bereits seit einigen Monaten und gestaltet sich als sehr aufwendig. Dennoch konnten wir nun unser hochgestecktes Ziel der erfolgreichen Validierung mittels zweier anerkannter Browser-Plugins erreichen, die eine Prüfung von Webseiten hinsichtlich der Einhalten der Vorgaben der WCAG Richtlinie auf Niveau AA vornehmen.
Insbesondere die Überarbeitung der Nutzeroberfläche für den Metadateneditor gestaltete sich noch einmal als recht aufwendig. Neben den typischen Anforderungen hinsichtlich Farbkontrasten, Icons und Hilfetexten nahmen wir auch unter anderem auch die Tab-Reihenfolgen nochmal unter die Lupe.
Das Thema der Barrierefreiheit ist mit diesen Arbeiten für uns nicht abgeschlossen. Wir werden auch weiterhin routinemäßige Prüfungen der Nuzteroberflächen vornehmen und in dem Kontext sicher auch noch bei einigen Plugins nachjustieren müssen. Mit den hier beschriebenen Arbeiten haben wir allerdings einen enormen Meilenstein für eine barrierefreie Nutzeroberfläche von Goobi workflow erreicht.
https://github.com/intranda/goobi-workflow/commit/edb97cdd94ee298894452926ad2240273f1d9a48
Innerhalb eines Projektes ergab sich die Anforderung, dass das gesamte digitalisierte Objekt sowie jede zugehörige Datei mit eigenen Identifiern auszustatten waren, die von einem zentralen Dienst abgefragt und anschließend einen Einfluß auf die Benennung der Dateien haben sowie auch innerhalb der METS-Datei hinterlegt werden sollten. Hierfür haben wir mit dem OID-Creation-Plugin ein neues Plugin entwickelt und hier hier auch hinsichtlich seiner Installation und Konfiguration dokumentiert:
Der Quellcode für das Plugin findet sich wie gewohnt auf GitHub veröffentlicht hier:
Damit das hier beschriebene Verfahren der OID-Identifier-Generierung für den weiteren Workflow verwendet werden kann, musste auch das Package-Export-Plugin erweitert werden.
Dieses wurde um die Unterstützung von OID, die Generierung von UUIDs sowie für eine Validierung von zuvor generierten Checksummen für die einzelnen Bilddateien erweitert.
Im Kontext der Entwicklung des JSON-Opac-Plugins wurde Goobi erstmalig mit einer Funktion ausgestattet, dass ein Datensatz nicht nur mit einem einzigen Identifier vom Quellsystem abgefragt und importiert werden können. Um diese Funktionalität nun auch für einen Massenimport mittels Excel-Dateien zu ermöglichen, wurde das Excel-Import-Plugin erweitert. Im dem Kontext wurde auch die Dokumentation des Plugins aktualisiert, um einen solchen Anwendungsfall dort ebenfalls zu beschreiben:
Wir haben ein neues Plugin für die Transkription von Inhalten auf Bildern entwickelt. Es ist zunächst hinsichtlich des Funktionsumfangs noch überschaubar und erlaubt noch keine Erfassung von Koordinaten für Wörter oder Buchstaben. Es erlaubt aber bestehende Plaintext-Volltexte zu bearbeiten oder auch ganz neu zu erfassen.
Die Arbeitsweise des Plugins sieht vor, dass eine seitenweise Erfassung von Volltexten erlaubt ist, so dass also eine Transkription für jedes Digitalisat einzeln erfolgt. Die Transkription erfolgt dabei mittels eine Rich-Text-Editors und erlaubt einige grundlegende Formatanpassungen. Aufgrund des Einsatzes des sehr populären Editors TinyMCE
können bei Bedarf auch recht einfach weitere Formatierungen erlaubt werden.
Eine ausführliche Dokumentation des neuen Plugins findet sich unter dieser URL:
Der Quellcode für das Plugin wurde auf GitHub hier veröffentlicht:
Wenn ein Titel eines Projektes ein einfaches Anführungszeichen ('
) enthielt, konnten dessen Vorgänge nicht korrekt geöffnet und bearbeitet werden. Dieser Fehler wurde behoben.
https://github.com/intranda/goobi-workflow/commit/56d26b9752571dc34d2a0633768a9c0f2e4bd388 https://github.com/intranda/goobi-workflow/commit/eb8a238b6af0088c64c73ffc72918c8d199f2cef
Entwicklungen und Neuigkeiten zu Goobi workflow
In den kommenden Wochen werden wir uns voraussichtlich auf folgende Punkte konzentrieren:
Abschluß der WCAG-Kompatibilität
Überarbeitung der Anlegeseite von Vorgängen zur Nutzung der Daten des jeweiligen Regelsatzes
Erweiterung der Warteschlangenfunktionalitäten mittel Active MQ
Implementierung verschiedener generischer Plugins für unterschiedliche Workflows
Nachdem wir vor einigen Monaten den Vokabularmanager in den Kern von Goobi workflow überführt hatten, wurde dieser schnell bereits für mehrere Projekte verwendet, um kontrollierte Vokabulare innerhalb des METS-Editors als Drop-Down-Liste zu haben oder auch um spezielle Plugins und Exporte durchzuführen, die verschiedene Schreibweisen homogenisieren. Was dabei auffiel war, dass die Bedienung noch nicht optimal war, insbesondere wenn es sich um umfangreiche Vokabulare handelte, wie sie über einen Excel-Import eingespielt werden können.
Die Vokabulareinträge werden von nun an mit einem Paginator anzeigt. Dies erlaubt nicht nur eine deutlich kürzere Ladezeit als bisher sondern verhindert darüber hinaus auch ein unnötiges Scrollen der Webseite, wenn zwischen verschiedenen Datensätzen gewechselt wird.
https://github.com/intranda/goobi-workflow/commit/241ef334ac0237dfc1195d3bfc64fdf4acc9b576 https://github.com/intranda/goobi-workflow/commit/904df6556feea3eb1a0fb9780e09e15af9911d19 https://github.com/intranda/goobi-workflow/commit/c31869eb31cd22a79630c4d429a59408eefbecf6
Im letzten Monat hatten wir bereits über eine Erweiterung von Goobi workflow berichtet, die es den Nutzern nun ermöglicht, dass Goobi verschiedene Ordner verwaltet mit eigenem Benennungsschema. Um diese Funktionalität nun auch an anderen Stellen nutzen zu können, haben wir das File Upload Plugin nun ebenfalls erweitert. Es kann nun nicht nur mit diesen neuen konfigurierbaren Ordnern umgehen. Es erlaubt darüber hinaus neuerdings ebenfalls, dass für einzelne Aufgaben erlaubt werden kann, dass ein Nutzer seine Dateien in mehr als ein Verzeichnis hochladen kann.
Die Konfiguration für einen solchen Use Case würde innerhalb der Datei plugin_intranda_step_fileUpload.xml
beispielhaft folgendermaßen aussehen:
https://github.com/intranda/goobi-plugin-step-fileupload/commit/3dcc5ba4930501a378920703a309e7573f79cf6b https://github.com/intranda/goobi-plugin-step-fileupload/commit/0b2caa7105b15f4f3fe05d2bcfa7bf9feb4a007d https://github.com/intranda/goobi-plugin-step-fileupload/commit/12a803c02fd8e24e00609237d96725588393581a
Nachdem eine Erweiterung des FileUpload Plugins bereits erfolgte, haben wir in ähnlicher Form auch das Image QA Plugin für die Nutzung verschiedener Ordner erweitert. Damit ist es nun möglich, dass ein Anwender eine Qualitätskontrolle von Bildern innerhalb verschiedener Verzeichnisse eines Vorgangs vornimmt. Der Nutzer kann hierbei, je nachdem, welche Verzeichnisse in seiner Aufgabe erlaubt wurden, zwischen den verschiedenen Ordnern wechseln und die darin enthaltenen Objekte betrachten.
Für die Festlegung, welche Verzeichnisse in welcher Aufgabe für einen Nutzer zugänglich sein sollen, erfolgt eine Konfiguration beispielsweise so innerhalb der Datei plugin_intranda_step_imageQA.xml
:
https://github.com/intranda/goobi-plugin-step-imageqa/commit/9b99a3180b16f83b495062102a033068b5fd994d https://github.com/intranda/goobi-plugin-step-imageqa/commit/b444f75e681a284fddf0c3b73511b6da4a5f01d6 https://github.com/intranda/goobi-plugin-step-imageqa/commit/9b99a3180b16f83b495062102a033068b5fd994d
Um für ein Projekt eine unterschiedliche Validierung verschiedener Bildordner zu erlauben, musste auch das Plugin zur Validierung von Bildern auf Basis von JHove überarbeitet werden. Somit ist auch in diesem Plugin nun steuerbar, welcher Ordner genau wie validiert werden soll, was auch für die flexiblen individuell konfigurierten Verzeichnisse gilt. Die Konfiguration dafür sieht innerhalb der Konfigurationsdatei plugin_intranda_step_tif_validation.xml
beispielhaft wie folgt aus:
Die Web Content Accessibility Guidelines (WCAG) als internationaler Standard zur barrierefreien Gestaltung von Internetangeboten sind innerhalb der Europäischen Union für öffentliche Stellen ab dem 23. September 2019 für neue und ab 23. September 2020 auch für bestehende Websites gemäß WCAG 2.1 Stufe AA verbindlich. Um diese Vorgaben einzuhalten, überarbeiten wir die Nutzeroberfläche von Goobi workflow gründlich. Die meisten Bereiche haben wir im Juli bereits abschließen können. Die sehr kleinteilige Arbeit wird noch etwas in Anspruch nehmen, insbesondere für den METS-Editor und die zahlreichen zu berücksichtigenden Plugins. Wir freuen uns aber darüber, dass wir die ersten Accessiblity-Validatoren nun bereits erfüllen können.
https://github.com/intranda/goobi-workflow/commit/ed0e76c20334ff318d8e856927c6f3359a322c77 https://github.com/intranda/goobi-workflow/commit/e7c49f18cd4bba9bb299ec5f3f70034a92d5918f https://github.com/intranda/goobi-workflow/commit/e7c49f18cd4bba9bb299ec5f3f70034a92d5918f
Innerhalb eines Projektes ergab sich die Anforderung, dass das automatische Croppen mittels LayoutWizzard nicht nur für gesamte Vorgänge möglich sein. Speziell ging es darum, dass in einem Vorgang durchaus auch einmal jeweils nur ein oder zwei Bilder vorhanden sind und daher eine Vorgangsübergreifende Bearbeitung der Bilder möglich sein soll. Aus diesem Grund haben wir eine Erweiterung für den LayoutWizzard implementiert, die als Workflow-Plugin arbeitet. Dort ist es möglich, über mehrere Vorgänge hinweg Bilder aufgelistet zu bekommen, um diese zu croppen. In der Liste der dort aufgeführten Bilder werden dabei nur diejenigen aufgeführt, die bereits einen konfigurierten Arbeitsschritt (z.B. eine abgeschlossene Bildanalyse) durchlaufen haben.
Eine Dokumentation für dieses neue Plugin findet sich unter der folgenden URL:
Neben den größeren Entwicklungen gab es auch wieder einige weitere Anpassungen:
Wie jede größere Software bedient sich auch Goobi workflow zahlreicher externer Programmbibliotheken, die andere Entwickler unter einer Open-Source-Lizenz bereitstellen. Hier haben wir einmal gründlich aufgeräumt und zahlreiche solcher Bibliotheken aktualisiert, um auf dem neuesten Stand zu sein. Eine solche Änderung hat im ersten Moment zwar kaum einen Effekt auf die Nutzeroberfläche. Mittelfristig erlaubt dies aber natürlich viele zusätzliche Erweiterungen des Funktionsumfangs.
https://github.com/intranda/goobi-workflow/commit/ad712cdd5509fd478c8753ef6c112a389cb41e9e
Kaum eine Einrichtung nutzt bisher die Möglichkeit von Goobi workflow auch innerhalb der Amazon Cloud unter S3 zu laufen. Für diejenigen, die dies aber dennoch tun, gibt es eine Anpassung für den Upload von großen Dateien. So ist es nun auch möglich, mit Dateien zu arbeiten, die größer als 5 GB sind.
https://github.com/intranda/goobi-workflow/commit/2a384950ce45cd23fd1f082ef4f460d65995f091
Während unserer regelmäßigen Aufräumarbeiten am Quellcode der Software sind auch wieder einige kleinere JavaScript-Fehler gefunden und behoben worden. Dies betrifft vorrangig kleiner Unstimmigkeiten innerhalb der Anzeige in der Nutzeroberfläche.
https://github.com/intranda/goobi-workflow/commit/4fd6f8a69755fa9568e5c0eac458d62bb28a63f8
Um auch bei regelmäßiger Veröffentlichung einer monatlichen neuen Version von Goobi workflow alle relevanten Plugins aktuell zu halten, haben wir unsere interne Infrastruktur auf Basis von Jenkins und Nexus noch einmal deutlich überarbeitet. Damit können wir sicherstellen, dass unsere Plugins steht automatisch mit der jeweils aktuellen Goobi-Version kompatibel bleiben. Auf der Basis dieser Arbeiten gestalten sich entsprechend die Updates von Goobi-Systemen einfacher.
Entwicklungen und Neuigkeiten zu Goobi workflow
Erweiterung LayoutWizzard Funktionalitäten
Erweiterung der Dokumentation für viele bestehende Plugins
Implementierung einer Metadatenübernahme aus Bildern
Erweiterung für den Umgang mit Körperschaften
Über mehrere Monate haben wir ein umfangreiches neues Plugin für die Verarbeitung von Archivgut entwickelt. Dieses Plugin erlaubt eine Erfassung von Metadaten für sehr umfangreiche Archivbestände innerhalb von EAD-Dateien. Es erlaubt nicht nur, dass bestehende umfangreiche Archivbestände bearbeitet und selektiv digitalisiert werden. Es ermöglicht darüber hinaus auch, Daten als neuen Bestand zu erfassen.
Intern werden die Objekte, deren Metdaten sowie die Hierarchie der Objekte untereinander in einer standardisierten EAD-Datei gespeichert, die sich auch jederzeit aus der Weboberfläche herunterladen läßt.
Pro Knoten innerhalb des Bestandes werden die Metadaten gemäß des ISAD(G)-Standards in verschiedene Bereiche (Identifikation
, Kontext
, Inhalt und innere Ordnung
, Zugangs- und Benutzungsbedingungen
, Sachverwandte Unterlagen
, Anmerkungen
, Verzeichnungskontrolle
) untergliedert und liegen dank der intensiven Zusammenarbeit mit dem MNHA in Luxembourgh auch gleich in den Sprachen Deutsch, Englisch und Französisch vor.
Die Struktur des gesamten Baumes läßt sich aus der Oberfläche des Plugins sehr einfach ändern und einzelne Knoten auch umfangreicher Bestände lassen sich schnell durchsuchen. Für die Bedienberfläche haben wir hier wieder auf die Anzeige sog. Badges zurückgegriffen. Sie erlauben eine schnelle Übersicht über die möglichen und auch bereits verwendeten Metadaten pro Bereich eines jeden Knotens. Hinzu kommt, dass die frei konfigurierbaren Validerungen sehr deutlich hervorheben, an welchen Stellen der Metadaten ggf. noch Anpassungen notwendig sind.
Die ausführliche Dokumentation des Plugins findet sich unter der folgenden URL:
Der Quellcode des Plugins selbst ist unter folgender URL verfügbar:
Der Vokabularmanager findet seit seiner Veröffentlichung zunächst als Plugin und dann als Kernkomponente von Goobi Workflow ziemlich viel Verwendung. Es gibt bereits erste Goobi Nutzer, mit mehreren tausend Datensätzen pro Vokabular. Dabei fiel allerdins auch auf, dass die Bedienung der Vokabulare insbesondere bei umfangreichen Datenbeständen noch nicht optimal war. Daher haben wir nun eine tabellarische Darstellung der Datensätze im linken Bereich implementiert, die eine Sortierung sowie eine Suche in den Spalten ermöglicht. Insgesamt ist dadurch die Bedienung der Vokabulare nicht nur intuitiver und übersichtlicher geworden sondern auch noch deutlich performanter.
Innerhalb der Administration der Vokablare kann festgelegt werden, welche Felder jedes Vokabular hat, welchen Typ jedes dieser Felder haben soll und nun auch, ob es als durchsuchbare und sortierbare Spalte innerhalb des Vokabulars angezeigt werden soll.
https://github.com/intranda/goobi-workflow/commit/531bb9828f210770b42571b79c215768c156d816
Oft stammen die Inhalte von Vokabularen zunächst aus anderen Systemen. Daher verfügt der Vokabularmanager über einen Importmechanismus für Excel-Dateien. An diesem haben wir auch einige Erweiterungen und Anpassungen vorgenommen. So ist es möglich, dass bestehende Vokabulare künftig nicht mehr komplett überschrieben sondern auch ergänzt werden können, beispielsweise wenn Daten zu späterem Zeitpunkt wiederholt eingespielt werden sollen.
In dem Kontext haben wir auch die Routinen für den Import noch einmal überarbeitet, um auch sehr umfangreiche Vokabulare performant importieren zu können.
https://github.com/intranda/goobi-workflow/commit/59820a1832caf5149489c26443764f12830f90e9
Wir haben an der Paginierung innerhalb des METS-Editors von Goobi workflow einmal einige Änderungen vorgenommen. Dies betrifft beispielsweise die Funktionalität für die Erzeugung von römischen Seitenzahlen, so dass nun nicht nur Großbuchstaben (X, V, I, etc.) für die römische Paginierung verwendet werden können sondern ebenfalls kleine Buchstaben (x, v, i, etc.).
Wenn man den Mauszeiger über die jeweiligen Elemente hält, so wird nun der Name der zugehörigen Bilddatei als Tooltip angezeigt.
Ausserdem wurde die Darstellung der zugewiesenen Paginierung überarbeitet, um sie besser lesbar zu machen. Dies wurde sowohl im mittleren Bereich des METS-Editors angepasst als auch innerhalb des Popups, das erscheint, wenn man den Mauszeiger über die Strukturelemente im Strukturbaum an der linken Seite hält.
Auf diese Weise ist die Paginierungsinformation deutlich einfacher lesbar geworden und lässt sich auch besser von der Bildnummer unterscheiden.
https://github.com/intranda/goobi-workflow/commit/c4fab02d29deec6b68de76d858b26b2a429d9e50
Ob aus dem Terminal, um vor einem Neustart zu prüfen, dass keine Nutzer eingeloggt sind, oder für das allgemeine Monitoring: Dieser neue REST-Endpoint ist einfach praktisch. Unter der URL https://mygoobi.tld/goobi/api/currentusers/
kann eine JSON-codierte Liste der momentan angemeldeten Nutzer abgefragt werden:
Der Excel-Export von ausgeführten GoobiScripten wurde etwas erweitert. Er listet neuerdings ebenfalls einen Zeitstempel sowie den Namen des Nutzers auf, der das GoobiScript gestartet hat.
Es wurde ein neues Workflow-Plugin implementiert, dass einen Massenupload von Bildern erlaubt und auf Basis der hierbei verwendeten Dateinamen automatisch Goobi-Vorgänge erzeugt. Über eine Konfigurationsdatei kann dabei gesteuert werden, welchem Benennungsschema die Dateien entsprechen müssen, um diese jals zusammengehörig erkennen zu können. Auch kann angegeben werden, welche Produktionsvorlage Verwendung finden soll und als welcher Publikationstyp die Vorgänge erzeugt werden sollen.
Die ausführliche Dokumentation des Plugins findet sich hier:
Der Quellcode für das Plugin findet sich wie gewohnt auf GitHub veröffentlicht hier:
Im Kontext eines Projektes mit einem Stadtarchiv hat sich die Notwendigkeit ergeben, dass Metadaten aus Bilddateien extraiert werden sollten. Aus diesem Grund haben wir ein Step-Plugin entwickelt, dass das jeweils erste Bild eines Vorgangs nimmt, um aus diesem ausgewählte Metdaten zu lesen und gemäß eines konfigurierbaren Mappings nach Goobi zu überführen. Diese erlaubt anschließend eine Bearbeitung dieser Informationen innerhalb des Metadateneditors sowie auch eine Anzeige der Informationen innerhalb des Goobi viewers.
Wie ein solches Mapping konfiguriert wird, sieht man beispielhaft in dieser Konfigurationsdatei:
Mehr Informationen über die Funktionalität des neuen Plugins finden sich in der Dokumentation hier:
Der Quellcode des Plugins wurde hier veröffentlicht:
Es gab einige kleinere Anpassungen und Verbesserungen am Kern von Goobi workflow für verschiedene Bereiche. Unter anderem waren dabei folgende Bereiche betroffen:
Wenn beim Anlegen von Einrichtungen auf dem Button Abbrechen
geklickt wurde, erschien fälschlicherweise eine Meldung, dass der Name der Einrichtung ein erforderliches Feld ist. Dies wurde korrigiert.
Bei der Bearbeitung von Einrichtungen wurden Inhalte von Textfeldern zurückgesetzt, wenn die Werte von Checkboxen geändert wurden. Dieses Verhalten ist behoben worden.
Das Neuanlegen von Nutzern war aufgrund von Umstellungen der Authentifizierungsmöglichkeiten nicht immer erfolgreich und konnte durch eine Überarbeitung behoben werden.
Die Anzeige des Abarbeitungsstatus der Message-Queues war fehlerhaft im Falle von deaktivierten Message-Queues, so dass ein neues Einloggen notwendig wurde. Dies wurde ebenfalls korrigiert.
https://github.com/intranda/goobi-workflow/commit/2094d049b8b81b7af3ccf8d51e0b1801d273a847 https://github.com/intranda/goobi-workflow/commit/064c2c0b95d826d5d656aa11936f3e7379af9327 https://github.com/intranda/goobi-workflow/commit/7ef268114a40b6c2a224884fde7dcb7e2c2aa8b4 https://github.com/intranda/goobi-workflow/commit/cc2cabec9d35a10a98768db66892d9e831b2abec
Entwicklungen und Neuigkeiten zu Goobi workflow
Abschluss des Tektonik-Editors
Erweiterung des Handschriften-Editors um Provenienz-Informationen
Implementierung einer Multi-Process-Editors
Die Datenverwaltung innerhalb von Archiven ist grundsätzlich anders aufgebaut als diejenigen in Bibliotheken. Insbesondere die sehr hierarchische Metadatenerfassung ist hierbei zu nennen, die darin resultiert, dass auf Ebene des zu digitalisierenden Objekts kaum Metadaten vorhanden sind. Stattdessen spielen hier die Metadaten der hierarchisch oberhalb angeordneten Knoten des sogenannten Tektonik-Baumes eine entscheidende Rolle.
Um insbesondere kleineren Archiven nun die Möglichkeit zu geben, Ihre Tektonik auch bereits direkt in Goobi workflow auf Basis einer Open-Source-Infrastruktur zu erfassen und dabei die Metadaten zugleich gemäß des Standards ISAD(G) zu erfassen, implementieren wir derzeit einen Tektonik-Editor.
Die hier gezeigten Ansichten der Nutzeroberfläche sind noch Mockups. Die Implementierung ist bereits im Gange. Sie ist im September aber noch nicht ganz abgeschlossen worden, so dass wir im kommenden Monat noch weiter daran arbeiten werden und dann auch tatsächliche Screenshots und die zugehörige Dokumentation zeigen können werden.
Innerhalb der deutschsprachigen Anwendercommunity kam wiederholt der Wunsch zum Ausdruck, dass Goobi workflow eine bessere Unterstützung von Körperschaften bieten sollte. Kollaborativ wurde diese Entwicklung nun in Angriff genommen. Ein Großteil dieser Arbeiten ist in diesem Monat auch bereits erfolgt, vorrangig auf Basis der im Hintergrund arbeitenden Metadatenbibliothek UGH. Ein zweiter Teil der Entwicklung steht derzeit noch aus, soll aber im kommenden Monat bereits folgen. Dann werden auch optische Änderungen innerhalb der Nutzeroberfläche von Goobi sichtbar, die auf den aktuellen Entwicklungen basieren werden.
Die noch recht neuen GoobiScripts metadataChange und metdataTypeChange wurden zugunsten einer intuitiveren Bedienung noch einmal umbenannt. Die neuen Namen hierfür lauten nun:
metadataChangeValue
Dieses GoobiScript erlaubt die Änderung von Werten innerhalb eines existierenden Metadatums (z.B. wird dem bisherigen Wert NY
innerhalb des Metadatums Erscheinungsort
der Wert New York
).
metadataChangeType
Dieses GoobiScript behält den Wert des Metadatums unverändert bei. Es ändert jedoch den Typ des Metadatums (z.B. wird Haupttitel
zu Beschreibung
)
Bei der Gelegenheit haben wir die Dokumentation von GoobiScript innerhalb des Goobi Handbuches ebenfalls gleich mit aktualisiert. Sie findet sich unter den folgenden Adressen:
https://github.com/intranda/goobi-workflow/commit/0b0fb555cf35d95ea80f8020dc9c30e22b72f69a
In den meisten Fällen wird Goobi workflow dafür verwendet am Ende des Workflows die Vorgänge in Form einer METS-Datei zusammen mit den Digitalisaten als Derivat zu exportieren und online anzuzeigen. Oft kommt hierbei auch noch der Export von Volltextergebnissen mit ins Spiel. Sollen hingegen neben den Derivaten auch die Masterbilder, die interne Metadatendatei oder andere Daten exportiert werden, kommt der Standard-Export von Goobi workflow an seine Grenzen. Daher haben wir ein neues generisches Export-Plugin entwickelt, dass sogar innerhalb eines Workflows wiederholt zum Einsatz kommen und sich dabei aber auch unterschiedlich verhalten kann.
Für jeden Arbeitsschritt innerhalb des Workflows, der dieses Plugin verwenden möchte kann individuell festgelegt werden, wie der Export erfolgen soll. Dabei kann gesteuert werden, welche Bildverzeichnisse exportiert werden sollen, ob Volltexte exportiert werden sollen, ob ausgewählte andere Ordner für den Export berücksichtigt werden sollen und wohin das ganze geschrieben werden soll. Darüber hinaus werden mit dem Plugin die interne METS-Datei sowie die Standard-Export-METS-Datei ebenfalls exportiert. Dabei kann für beide METS-Dateien jeweils festgelegt werden, ob diese zusätzlich durch eine XSLT-Transformation weiterverarbeitet werden sollen, um beispielsweise ein weiteres Datenformat daraus zu erzeugen.
Eine solche Konfiguration sieht dann beispielhaft wie folgt aus:
Mit diesem generischen Plugin sind nahezu beliebige Exporte implementierbar. Wenn der Standard-METS-Export also einmal nicht genügen sollte, läßt sich auf Basis dieses Plugins sicher schnell eine individuelle Lösung erstellen.
Die ausführliche Dokumentation des Plugins findet sich unter der folgenden URL:
Der Quellcode des Plugins selbst ist unter folgender URL verfügbar:
Um während des Workflows automatisiert bestimmte Inhalte eines Vorgangs löschen zu können, existierte bisher keinerlei Plugin. Stattdessen hatten wir uns in der Vergangenheit mit der Implementierung von Bash-Scripten geholfen. Das neue Delete-Content-Plugin übernimmt diese Arbeit ab jetzt.
Wie nahezu alle Step-Plugins kann auch dieses wiederholt innerhalb eines Workflows verwendet werden und dabei unterschiedliche Aufgaben übernehmen. Welche Inhalte jeweils genau gelöscht werden sollen, wird dabei über eine zentrale Konfigurationsdatei gesteuert. Darin kann dann beispielsweise festgelegt werden, dass die Master-Bilder erhalten bleiben sollen, die Derivate und METS-Dateien allerdings gelöscht werden sollen. Auch wird so gesteuert, ob der gesamte Vorgang nach dem Löschen deaktiviert werden soll.
Genaueres zu den Möglichkeiten und der Konfiguration des Delete-Content-Plugins finden sich in der Dokumentation hier:
Der Quellcode des Plugins ist unter folgender URL verfügbar:
Hin und wieder ergibt sich der Bedarf, dass Identifier generiert werden sollen, die bisher nicht vorliegen und die innerhalb der METS-Datei gespeichert werden sollen. Mit dem Generate-Identifier-Plugin lassen sich solche Identifier einfach im Workflow generieren und in ein gewünschtes Metadatenfeld der METS-Datei speichern. Hierbei kann festgelegt werden, ob ein eventuell bereits vorhandener Identifier überschrieben werde soll oder nur im Fall eines noch fehlenden Metadatums erzeugt werden soll. Auch läßt sich bestimmen, wie der Identifier gestaltet sein soll. Zur Auswahl stehen derzeit UUIDs, Timestamps sowie Zufallszahlen mit konfigurierbarer Länge.
Mehr Informationen zum Plugin finden sich wie üblich in der Online-Dokumentation:
Der Quellcode des Plugins ist unter folgender URL verfügbar:
In vielen Kultureinrichtungen werden Buchobjekte nicht in komplett aufgeschlagenem Zustand digitalisiert, so dass häufig die linken und rechten Seiten eines Buchs nicht abwechselnd nacheinander folgen. Stattdessen werden solche Bücher unter Umständen so digitalisiert, dass ein Buch von vorn durchblättert wird und dabei nur die rechten Seiten aufgenommen werden. Im Anschluß daran erfolgt dann ein zweiter Durchgang, bei dem das Buch von hinten durchblättert wird und nur die linken Seiten aufgenommen werden. Mit dem Reorder-Images-Plugin können solche Seiten automatisch in die korrekte Reihenfolge gebracht werden. Dabei ist über eine Konfiguration steuerbar, wie die Sortierung vorgehen soll und ob die Bilder innerhalb des gleichen Verzeichnisses umbenannt werden oder in ein anderes Verzeichnis kopiert werden sollen. Mit den neuesten Entwicklungen lassen sich gezielt Teile von Dateinamen angegeben werden, die von der Sortierung nicht betroffen sein sollen und die in festgelegter Reihenfolge nach den sortierten Dateien eingefügt werden sollen.
Mehr Informationen zum Plugin finden sich wie üblich in der Online-Dokumentation:
Der Quellcode des Plugins ist unter folgender URL verfügbar:
Die Arbeiten am METS-Editor gingen fleißig voran, um nun auch dort die Vorgaben der WCAG 2.1 zugunsten der Barrierefreiheit einzuhalten. Mit Hilfe zweier automatisierter Validierung konnten wir Stück für Stück die einzelnen Bemängelungen beseitigen um WCAG auf Level AA einzuhalten. Mit Hilfe einer Universitätsbilbiothek konnten darüber hinaus Tests mit einem Screenreader erfolgen. Neben dem METS-Editor haben wir in diesem Zusammenhang nun auch bereits die ersten Plugins für Goobi workflow für eine bessere Barrierefreiheit überarbeitet. Dies betrifft unter anderem die folgenden Plugins:
FileUpload
Plugin für den Upload von Masterbildern, Digitalisaten oder auch anderen Dateien innerhalb einer Aufgabe
ImageQA
Plugin zur Durchführung einer Qualitätskontrolle von Digitalisaten unmittelbar in der Browseroberfläche
Dashboard
Plugin zur Generierung von Inhalten des Dashboards, das die meisten Goobi-Installationen für Ihre Nutzer verwenden
JSON-Opac
Opac-Plugin für die Abfrage von Daten über das Format JSON
Statistics
Standard-Statistik-Plugin, das in den meisten Goobi-Installationen in Betrieb genommen wurde
Replace images
Plugin zum Ersetzen von zuvor generierten Platzhalterbildern
Die Vorgaben, wie auch Webapplikationen eine Barrierefreiheit zu gewährleisten haben, finden sich unter der folgenden URL:
Bitte beachten Sie, dass diese Vorgaben unter Umständen auch für Ihre Goobi-Installation verbindlich sein können. Mehr dazu erfahren sie unter anderem unter diesen Adressen:
Seit vielen Monaten veröffentlichen wir nun bereits jeden Monat mindestens eine stabile Version von Goobi workflow als neues Release und kombinieren das mit dem monatlichen Digest. Nach einer größeren Umstellung der Infrastruktur für das Kompilieren der Applikation und der Plugin funktionierte zwischenzeitlich die automatische Bereitstellung der kompilierten Applikation nicht mehr richtig. Dies ist nun korrigiert. Unter der folgenden URL kann man die veröffentlichten Releases jeden Monats einsehen und nachvollziehen:
https://github.com/intranda/goobi-workflow/releases
Und unter dieser URL steht übrigens auch immer die jeweils aktuellste stabile Version von Goobi workflow zum Download bereit:
Wie auch in den vergangenen Jahren fand wieder ein großes deutschsprachiges Anwendertreffen der Goobi-Nutzer und -Entwickler statt. Auch wenn es in diesem Jahr in rein digitaler Form stattfand, so waren doch ähnlich viele Arbeiten im Rahmen von Vortragsvorbereitungen im Vorfeld der Veranstaltung notwendig. Unter anderem wurden wieder an zahlreichen Stellen kleine optische Feinheiten korrigiert, Layouts und Übersetzungen angepasst, Dokumentationen ergänzt oder auch gänzlich neu erstellt und veröffentlicht sowie weitere Plugins auf GitHub veröffentlicht. All diese zahlreichen kleineren Änderungen schlagen sich ebenfalls innerhalb der Applikation und deren täglicher Anwendung nieder.
Entwicklungen und Neuigkeiten zu Goobi workflow
In den kommenden Wochen werden wir uns voraussichtlich auf folgende Punkte konzentrieren:
Implementierung einer Tektonik-Bearbeitungsmaske
Erweiterung der Metadatenverarbeitung für einen besseren Umgang mit Körperschaften
Weitere allgemeine Plugin-Entwicklungen
Vorbereitung der Goobi-Tage :)
Im August haben wir eine Vielzahl neuer Plugins entwickelt für teilweise ganz neue Arbeitsweisen. Das erste hier zu nennende Plugin betrifft den Massenupload. Dieses Plugin gibt es bereits seit einiger Zeit. Es erlaubt, dass mehrere Bilder hochgeladen oder aus einem Verzeichnis gelesen werden können, um diese automatisch den richtigen Vorgängen zuzuordnen. Die bisherige Funktionalität beschränkte sich dabei auf die Erkennung der richtigen Goobi-Vorgänge auf Basis der Dateinamen. Mit der neuen Entwicklung ist es jetzt ebenfalls möglich, dass ein Barcode auf Bildern erkannt wird, so dass das Bild mit dem Barcode sowie alle nachfolgenden Bilder bis zum nächsten Bild mit Barcode zu dem Vorgang aus dem Barcode zugeordnet werden.
Mit diesem Plugin sind nun gänzlich neue Arbeitsweisen durchführbar, wo objektübergreifend erstellte Bilder automatisiert in eigenständige Entitäten unterteilt und den richtigen Workflows zugeordnet werden.
Die ausführliche Dokumentation des Plugins findet sich unter der folgenden URL:
Der Quellcode des Plugins selbst ist unter folgender URL verfügbar:
Mit einem neuen Plugin ist es nun möglich, dass Goobi workflow direkt innerhalb eines Arbeitsschrittes eine gewünschte Skalierung von Bildern vornimmt. Dafür kann innerhalb einer Konfigurationsdatei angegeben werden, wie groß das skalierte Bild an seiner längsten Seite maximal sein darf. Auch läßt sich ein Watermark konfigurieren, dass in das Bild eingerechnet werden soll. Dieses kann sowohl aus Text als auch aus grafischen Elementen bestehen. Auch ist steuerbar, an welcher Stelle das Watermark genau eingefügt werden soll.
Die Festlegung, wie die Skalierung und das Erzeugen des Watermarks erfolgen soll, ist innerhalb der Plugin-Konfiguration für unterschiedliche Workflows steuerbar. Eine Konfiguration für das hier gezeigte Bild würde beispielsweise innerhalb der Datei plugin_intranda_step_image_resize_and_watermark.xml
folgendermaßen aussehen:
Die Dokumentation des Plugins findet sich hier:
Der Quellcode des Plugins selbst ist unter folgender URL verfügbar:
Plugins für die Abfrage von Katalogen existieren in Goobi bereits seit dem Jahr 2009. Dabei hat es bisher immer genügt, dass aus einem Katalog ein einzelner Datensatz anhand eines konkreten Identifiers abzufragen. In einem der letzten Projekte, an denen wir beteiligt waren, hat sich jedoch herausgestellt, dass auch ein Bedarf nach komplexeren Abfragen besteht. Konkret sollte es darum gehen, dass abhängig von der Katalogauswahl ein, zwei oder gar drei Identifier zusammen in der Katalogabfrage verwendet werden sollen, um einen konkreten Datensatz zu erhalten. Aus diesem Grund musste die Schnittstelle für Opac Plugins nun dahingehend erweitert werden, dass solche Plugins nun einen zusätzlichen Bereich steuern können, in dem weitere Eingaben möglich sein sollen. Im Falle des JSON-Opac-Plugins wurde dies einmal konkret in den Produktivbetrieb genommen und gestaltet sich in der Oberfläche nun anders als die Opac Plugins der Vergangenheit. Hier ist neben der Eingabe eines Identifiers nun mindestens eine weitere Zeile mit zusätzlichen Angaben möglich.
Details darüber, was das JSON-Opac-Plugin macht, wie es konfiguriert und in Betrieb genommen wird, finden sich in der Dokumentation hier:
Der Quellcode des Plugins ist auf GitHub hier zu finden:
Nachdem wir in den vergangenen Wochen bereits viel Energie in die Unterstützung der Accessibility gemäß WCAG 2.1 gesteckt haben, mussten wir auch im METS-Editor noch weiter daran arbeiten. Ganz abgeschlossen sind die Arbeiten noch nicht, so dass uns das im September noch weiter begleiten wird.
https://github.com/intranda/goobi-workflow/commit/52225055feac93b713c815bc4c02f8ac49bf4b79 https://github.com/intranda/goobi-workflow/commit/d62135f801ddb12e741b4335d9157d6f2f5e44a1 https://github.com/intranda/goobi-workflow/commit/6dc1fe71c727c8a941eb26f12aeac0a974da33af
In unserem Großumbau von Goobi workflow für einen Betrieb innerhalb der Amazon Cloud haben wir nun auch Amazon SQS berücksichtigt. Die Warteschlange für rechenintensive Arbeiten als extern ausführbare Aufgaben kann von nun an auch auf Basis Amazon SQS stattfinden. Dies vereinfacht die Integration in eine in AWS gepflegte Infrastruktur nochmals deutlich.
https://github.com/intranda/goobi-workflow/commit/2f399e7374322b577e1cdbc3ee8e4af3565d72e5
Entwicklungen und Neuigkeiten zu Goobi workflow
In den kommenden Wochen werden wir uns voraussichtlich auf folgende Punkte konzentrieren:
Weiterer Ausbau der Skalierbarkeit auf Cloud-Infrastruktur
Fertigstellung des flexiblen Editors zur Handschriftenerfassung
Automatisierung von Goobi-to-go Bereitstellung
Ausbau der Mehrsprachigkeit
Innerhalb des METS-Editors wird jetzt das jeweils vorherige und nächste Bild von aktuell angezeigten Seite vorgeladen. Dadurch sind die Wartezeiten für das nächste anzuzeigende Bild im Falle des Umblätterns stark verkürzt worden, was sich sehr positiv auf die Bedienung des METS-Editors auswirkt.
Eine weitere Verbesserung im METS-Editor ist eine Funktionalität, die vom Goobi viewer übernommen werden konnte. Hierbei geht es um das Beibehalten der aktuellen Zoomstufe des aktuell dargestellten Bildes beim Umblättern zu folgenden Seiten. So bleibt beispielsweise ein Zoom auf die Seitenzahl auch beim Weiterblättern durch den Bildstapel erhalten ohne das Bild wiederholt neu vergrößern und im Bildcontainer für die Anzeige ausrichten zu müssen.
Goobi workflow verfügt bereits über eine Benutzeroberfläche in Deutsch, Englisch, Spanisch und Hebräisch. Derzeit arbeiten wir an einer Erweiterung des Sprachumfangs für die Sprachen Niederländisch, Portugiesisch, Französisch sowie Italienisch. Abgeschlossen sind diese Arbeiten noch nicht ganz. Wir gehen allerdings davon aus, dass wir dies in Zusammenarbeit mit den jeweiligen Muttersprachlern bereits im März abschließen werden.
In der Vergangenheit gab es im METS-Editor die Möglichkeit, dass der Strukturbaum ausgedruckt werden konnte. Diese Funktionalität war allerdings in den letzten Jahren nicht mehr ausreichend, da zunehmend mehr Informationen von den Anwendern benötigt wurden. Neben der Information über den Strukturbaum sollten ebenso Metadaten sowie auch der Repräsentant des Bildes mit angezeigt werden.
Diese Funktionalität wurde nun entwickelt. Sie ersetzt damit den bisherigen Button zum Ausdrucken innerhalb des METS-Editors:
Darüber hinaus ist diese Funktion auch direkt aus dem Menü der Vorgangsliste für jeden Vorgang zugänglich:
Die auf diese Weise erzeugte PDF-Datei sieht üblicherweise wie das folgende Beispiel aus. Eine individuelle Gestaltung ist aber ebenso möglich, da der Mechanismus der Generierung mittels XSLT-Transformation hinsichtlich Funktionalität und Design viele Freiheitsgrade erlaubt.
Bisher hatten wir Probleme für die Anzeige von nicht-lateinischen Zeichen innerhalb unserer generierten Laufzettel. Durch eine Umstellung der Default-Layouts, Einbindung Unicode-fähigen Schriftarten sowie einiger Konfigurationsarbeiten ist es uns nun gelungen, dass nun zum Beispiel auch hebräische Zeichen korrekt dargestellt werden können.
Mit der Weiterentwicklung von Java ging einher, dass Goobi workflow zwischenzeitlich festgelegt war darauf, dass es mit Java 8 betrieben wird. Diese Festlegung konnten wir nun beseitigen und haben eine Kompatibilität mit dem aktuellen Java 11 erreicht. Anschließend haben wir den gesamten Februar über Goobi workflow auf unseren eigenen Entwickler-Rechnern unter Java 11 ausgeführt und konnten hierbei keine weiteren Schwierigkeiten feststellen. Damit erklären wir Goobi fit für Java 11.
Bisher lief die TIF-Validierung über den TaskManager. Diese Art der Ausführung hatte den Vorteil, dass Lastspitzen vermieden werden konnten. Allerdings ergab sich daraus ebenso ein Nachteil, nämlich dass eine genauere Kontrolle über den Workflow nicht möglich war. So konnte bisher nur der TIF-Validierungsschritt selbst geschlossen oder in einen Fehlerstatus versetzt werden. Mit den neuen Schritte-Plugin für Goobi Workflow is es nun möglich, automatisch nach einem Fehlschlag der automatischen Bildvalidierung einen bestimmten vorherigen Schritt zu öffnen. Dieser Schritt kann dann direkt von einem Benutzer angenommen werden, um die Fehler in den Bildern beheben zu können.
Wie sich die Schritte zwischen dem Validierungsschritt und demjenigen, an den der Fehler gemeldet wird, verhalten sollen, ist innerhalb des Plugins konfigurierbar. Ebenso wie die Frage, welche Ordnerinhalte validiert werden sollen, und wie jeweils genau die Bildvalidierung erfolgen sein soll.
Mehr Informationen sowie die Dokumentation für das Plugin finden sich hier:
Es wurde ein neues Plugin für die Umbenennung von Dateien entwickelt. Es erlaubt, dass die Bilder im Vorgangsordner automatisch nach einem frei wählbaren Schema umbenannt werden können. Hierbei stehen sämtliche Variablen zur Verfügung, die auch in Skript-Schritten und an anderen Stellen von Goobi workflow zur Verfügung stehen. Diese Variablen stehen wie gewohnt ebenfalls innerhalb der Dokumtentation von Goobi workflow zur Verfügung:
Die Dokumentation für das Plugin findet sich unter folgender Adresse:
Für ein Projekt wurde ein Plugin benötigt, wo individuelle Barcodes generiert werden können. Hierbei handelt es sich um ein Workflow-Plugin, innerhalb dessen lediglich ein Präfix, ein Startwert sowie eine Anzahl an zu generierenden Barcodes angegeben werden müssen. Zusätzlich besteht ausserdem die Möglichkeit, aus verschiedenen Vorlagen die Optik der Barcodes auszuwählen. Hierbei liegt ähnlich wie bei den Laufzetteln wieder eine Transformation via XSLT zu Grunde, die eine gänzlich freie visuelle Gestaltung der zu generierenden Barcodes erlaubt. Somit kann Einfluß darauf genommen werden, wie das Papierformat, das Seitenlayout, Inhalte und auch der zu verwendende Barcode-Typ gestaltet sein soll.
Die Barcodes können aussehen wie dieses Beispiel:
Eine Dokumentation für das neue Plugin findet sich unter der folgenden Adresse:
Zur Veranschaulichung der Bedienung des Plugins steht hier außerdem ein Screencast zur Verfügung:
Entwicklungen und Neuigkeiten zu Goobi workflow
Umstellung von Goobi workflow für den Support von Java 11
Erweiterung des Vokabularmanagers
Implementierung eines flexiblen Editors für Handschriftenerschließung
Durch umfangreiche Anpassungen an unserer Metadaten-Bibliothek UGH und an Goobi workflow ist es nun möglich, Bildausschnitte im METS-Editor zu erfassen und ihnen Strukturelemente hinzuzufügen. Dies funktioniert durch einfaches Anklicken des entsprechenden Buttons analog zur bisherigen Auswahl eines Seitenbereiches. Anschließend kann ein Rahmen auf dem Bild aufgezogen und Struktur- sowie Metadaten zugewiesen werden. Nach dem Anlegen eines solchen Bildausschnitts verhält sich dieser ebenso wie alle bisherigen Strukturelemente.
Zu Veranschaulichung der Funktionalität und deren Bedienung steht hier ein Screencast zur Verfügung:
Bereits im letzten Jahr hat eine Warteschlange (message queue) für die geregelte Abarbeitung lang andauernder Aufgaben in Goobi Workflow Einzug gefunden. Diese Funktionalität wurde nun nochmals etwas erweitert. Die jetzt hinzugefügte Funktionalität unterscheidet sich zu der schon vorhandenen Warteschlange darin, dass Jobs innerhalb dieser Warteschlange auch durch externe Programme außerhalb von Goobi gelesen und ausgeführt werden können. Dies ermöglicht es uns von nun an, die Last von rechenintensiven Aufgaben, wie zum Beispiel einer JPEG-Konvertierung, automatisch über mehrere Maschinen verteilen zu können. Weitere Maschinen für solche Berechnungen können jetzt ohne großen Konfigurationsaufwand hinzugefügt oder auch einfach wieder abgeschaltet werden.
Der METS-Editor unterstützt bereits seit einiger Zeit die Anzeige von rechts-nach-links geschriebenen Metadaten innerhalb von Input-Feldern. Neu ist jedoch die Möglichkeit, dass nun auch die Leserichtung eines Werkes für die Bildanzeige berücksichtigt wird. Ein Titel, dessen Leserichtung Rechts-nach-Links ist, kann als solcher markiert werden. Damit passt sich die Bildnavigation ebenso wie auch die Anzeige von Thumbnails an, so dass der Button zum Blättern zur nächsten Seite beispielsweise links statt rechts angeordnet wird. Diese Änderung wurde dabei nicht nur innerhalb des METS-Editors sondern ebenfalls im ImageQA-Plugin implementiert.
Eine weitere größere Änderung innerhalb der Metadatenbibliothek UGH sowie im METS-Editor von Goobi workflow ist die neue Möglichkeit von nun an auch Audio- und Video-Medien darzustellen. Dabei wird technisch auf im Browser vorhandene Techniken gesetzt. Für Browser wie Firefox und Chrome bedeutet dies, dass diese beispielsweise die Wiedergabe von MP4, WebM und Ogg Videos, sowie MP3, WAV und Ogg Audio-Dateien beherrschen. Verglichen dazu unterstützt der Internet Explorer beispielsweise MP4-Videos, sowie MP3 für Audio-Medien.
Der kürzlich runderneuerte METS-Editor verfügte über einige Darstellungsprobleme bei sehr großen Monitorauflösungen. So kam es unter anderem zu Problemen bei größeren Zoomstufen sowie bei der Nutzung von 4K-Monitoren. Diese Probleme waren letztlich auf einen Rundungsfehler zurückzuführen und konnten nun behoben werden.
Nach und nach wurden über 200 JUnit-Tests wieder aktiviert. Diese automatisierten Softwaretests waren schon vor einiger Zeit entwickelt worden. Ihre Ausführung war jedoch in der Vergangenheit für die alte Continuous Integration Plattform aufgrund mangelnder Kompatibilität deaktviert worden. Durch den Umstieg auf Docker-gestützte Builds in unserem Jenkins sowie auch in Travis konnten diese Probleme nun behoben und die Tests wieder aktiviert werden.
Seit Anfang Januar 2020 ist die erste Goobi-Instanz innerhalb der Amazon Cloud in den Produktiv-Betrieb gegangen. Viele der Entwicklungen der letzten Monate wie zum Beispiel die S3-Anbindung, die Message Queues sowie auch der Single Sign On mittels OpenID waren Teil und Vorraussetzung dieses Umzugs. Über weitere Entwicklungen in diesem Bereich werden wir hier in den nächsten Monaten weiter berichten.
Die Goobi-intern eingesetzte Logging-Bibliothek Log4j war schon etwas in die Jahre gekommen. Diesen Monat haben wir es endlich geschafft, die neue Version mit neuer API in Goobi workflow zu integrieren. Diese Umstellung hat fast alle Java-Klassen in Goobi workflow betroffen und stellt damit sicherlich einen der größeren Einzelcommits in der Goobi-Geschichte dar.
Es gibt es nun neue Möglichkeiten für die Steuerung der Erzeugung von METS Filegroups. So kann jetzt konfiguriert werden, dass statt eines festgelegten konfigurierten Mimetypes und Suffixes von nun an die Dateiendungen zurate gezogen werden, um die Mimetypes der Dateien aus dem media Ordner festzulegen. Dies erlaub eine deutlich flexiblere Generierung der METS-Dateien abhängig von den tatsächlich pro Objekt vorhandenen Dateien.
Für die Nutzung dieser Funktionalität muss innerhalb der Projekteinstellungen die entsprechende METS-Dateigruppe bearbeitet werden. Dort muss dann die Checkbox "Nutze Dateiendungen und Mimetype der Dateien" aktiviert werden.
Daneben ist es im übrigen auch möglich, einzelne Dateitypen in einer Dateigruppe auszuschließen. Dies ist zum Beispiel dann notwendig, wenn eine Filegroup für Audio-Dateien und eine weitere für das Cover-Bild erzeugt werden soll. Dazu muss entsprechend in das Feld "Zu ignorierende Dateiendungen" die Liste der unerwünschten Dateiendungen angegeben werden. Bei der Erzeugung der Filegroup für die METS-Datei werden dann alle Dateien mit dieser Dateiendung übersprungen.
Für die Metadatenbibliothek UGH existierte in der Vergangenheit bereits eine umfangreiche Dokumentation als PDF-Datei. Diese wurde nun in das gleiche Dokumentationsportal überführt wie zahlreiche andere Dokumentationen zuvor ebenso.
Bei der Gelegenheit haben wir diese Dokumentation zugleich in die englische Sprache überführt. Somit läßt sich die Dokumentation von UGH von nun an deutlich besser pflegen, sowohl was die Aktualität der Inhalte betrifft als auch die Mehrsprachigkeit.
Entwicklungen und Neuigkeiten zu Goobi workflow
In den kommenden Wochen werden wir uns voraussichtlich auf folgende Punkte konzentrieren:
Erweiterung der Ordnerverwaltung pro Vorgang
Accessibility gemäß WCAG
Ermöglichung einer vorgangsübergreifenden Möglichkeit für die Arbeit mit dem Layoutwizzard
Goobi workflow wird in immer mehr Einrichtungen und Ländern eingesetzt. Dabei beschränkt sich der Nutzerkreis nicht mehr nur auf Kultureinrichtungen sondern umfasst ebenso auch vermehr Scandienstleister. Bisher war die Datenübergabe zwischen zwei verschiedenen Goobi-Instanzen noch recht schwierig gewesen. Mit dem neuen Goobi-to-Goobi-Plugin ist dies nun einfach geworden.
Die Arbeitsweise ist dabei so, dass insgesamt drei separate Arbeitsschritte für den Austausch stattfinden müssen:
Zunächst werden die relevanten Daten aus dem einen Goobi exportiert. Dies beinhaltet die Vorgänge und Mediendateien. Darüber hinaus können hierbei aber ebenso Regelsätze und Benutzerinformationen mit exportiert werden. Wie der Export genau abläuft, ist hier erläutert:
Nach dem erfolgreichen Export der Daten, müssen diese zum Zielsystem transferiert werden. Dieser Transfer setzt derzeit einen Austausch über Tools wie rsync
oder die Nutzung einer externen Festplatte voraus.
Eine Beschreibung des Transfers ist mit praxistauglichen Kommandos hier beschrieben:
Sobald der Transfer der Daten zum Zielsystem erfolgt ist, kann das Einspielen beginnen. Hierzu steht eine eigene Nutzeroberfläche zur Verfügung, in der festgelegt werden kann, welche Daten genau übernommen werden sollen.
Auch hierzu steht eine ausführliche Dokumentation zur Verfügung:
Die vollständige Dokumentation des Plugins findet sich unter der folgenden Adresse:
Der Quellcode des Plugins wurde hier veröffentlicht:
Innerhalb der Goobi-Dokumentationsplattform sind zahlreiche Plugins neu hinzugekommen und erhielten eine ausführliche Dokumentation der Konfiguration sowie der Bedienung. In diesem Zusammenhang wurden hierbei zugleich die Lizenzen und Verlinkungen zu den Quellcode-Repositories eingepflegt. Darüber hinaus ist die Dokumentation zugleich jeweils in Deutsch und Englisch veröffentlicht worden.
Eine Übersicht der derzeitig öffentlich dokumentierten Goobi workflow Plugins findet sich hier:
Viele der am häufigsten eingesetzten Plugins haben wir nun mit dem Quellcode auch auf Github veröffentlicht. Dazu haben wir zunächst einen Standard für unsere Readme-Dateien entworfen und anschließend für alle zu veröffentlichenden Plugins eingepflegt. Dadurch haben wir nun seit Juni 2020 bereits über 70 Open-Source-Repositories bei Github online:
Insgesamt haben wir damit nun bereits den Quellcode von 48 Plugins veröffentlicht:
Mehr Informationen hierzu finden sich auf unserer GitHub-Seite:
Es wurde ein neues GoobiScript eingeführt, um innerhalb von vielen METS-Dateien den Typ eines Metadatums ändern zu können. Der Aufruf dieses GoobiScripts sieht wie folgt aus:
Mittels dieses Kommandos kann nun abhängig von den gewählten Parametern ein existierendes Metadatum so geändert werden, dass der Wert erhalten bleibt, der Typ jedoch geändert wird. So kann zum Beispiel aus einer Beschreibung
ein Haupttitel
werden. Darüber hinaus kann hierbei ebenso festgelegt werden, auf welcher Ebene innerhalb des Strukturbaums diese Änderung erfolgen soll. So ist es möglich zu bestimmen, ob eine solche Änderung nur für übergeordnete Werke, nur für Unterelemente oder grundsätzlich für eigenständige Werke erfolgen soll.
Innerhalb des METS-Editors haben wir uns eine schnellere Arbeitsweise gewünscht. Insbesondere gefiel uns nicht, dass das angezeigte große Bild oder gar die eingeblendeten Thumbnails unnötig häufig neu geladen wurden und so den Arbeitsfluss etwas unterbrachen. Aus diesem Grund haben wir die Nutzeroberfläche dahingehend umgestellt, dass nun deutlich mehr partielle Reloads von Seiteninhalten stattfinden, ohne dass die gesamte Seite davon betroffen ist. Diese Änderung wird der Nutzer vor allem bemerken, wenn er zwischen den einzelnen Reitern des METS-Editors hin und her wechselt. Aber auch beim Hinzufügen, Speichern und Bearbeiten von Personen, Metadaten und Metadatengruppen schlägt sich dies spürbar nieder.
Eine besonders große Änderung wurde in einem Projekt notwendig, wo zur Erzeugung von Masterbildern verschiedene Geräte zum Einsatz kamen und die dort eingespielten Dateien unterschiedlich validiert werden mussten. Diese Anforderung nahmen wir zum Anlass, um Goobi workflow dahingehend zu erweitern, dass nicht mehr nur die gängigen Ordner master
und media
(bzw. tif
) existieren. Stattdessen sind von nun an sehr viele beliebige Verzeichnisse definierbar. Hinzu kommt bei der Gelegenheit auch, dass wir das alte Namenschema der Benennungen nun nicht mehr hartgecodet erwarten sondern andere Bezeichnungen erlauben.
Bisheriges Benennungsschema:
Neues mögliches Benennungsschema:
Folgendermaßen kann eine solche Verzeichnisbezeichnung innerhalb der Konfigurationsdatei goobi_config.properties
festgelegt werden:
Neben diesen größeren Entwicklungen gab es auch wieder einige kleinere Anpassungen, die hier kurz genannt werden sollen:
Bisher wurde beim Anlegen neuer Vorgänge ein Vorgang erfolgreich in Goobi angelegt, auch wenn die zugehörige METS-Datei nicht korrekt gespeichert werden konnte. Dies ist nun korrigiert, so dass eine aussagekräftige Meldung angezeigt und der Vorgang im Fehlerfall nicht angelegt wird.
In einigen Browsern kam es beim Scrollen innerhalb des Vorgangslogs zu Schwierigkeiten, so dass sich die Bedienung unintuitiv anfühlte. Dies ist nun korrigiert, so dass sich das Scrollen nun intuitiv verhält.
In der Vergangenheit war es so, dass Kommata in der mehreren Goobi-Konfigurationsdateien eigens maskiert bzw. escaped werden mussten. Statt eines ,
musste daher stets \,
angegeben werden. Dies ist nun korrigiert worden. Leider geht mit dieser Änderung allerdings auch einher, dass bei einem Goobi-Update nun einige Konfigurationsdateien auf diese Maskierung geprüft werden müssen. Das gleiche gilt neben dem Komma im übrigen auch für den Backslash, der nun als \
angegeben werden kann statt als \\
.
Innerhalb des LayoutWizzards gab es eine Umstellung, die in einer höheren Geschwindigkeit beim ersten Öffnen des LayoutWizzard sowie beim Blättern zwischen den Vorschaubildern resultieren.
Entwicklungen und Neuigkeiten zu Goobi workflow
In den kommenden Wochen werden wir uns voraussichtlich auf folgende Punkte konzentrieren:
LayoutWizzard Refactoring
Umstellung des Goobi-Codes zur Nutzung von CDI
Accessibility nach WCAG 2.1
Nachdem wir im vorherigen Monat bereits eine Unterstützung von Audio- und Video-Materialien innerhalb des METS-Editors von Goobi workflow fertigstellen konnten, haben wir uns diesen Monat ebenso das Image-QA-Plugin noch einmal angeschaut, um auch dieses kompatibel für die Audio- und Videoanzeige zu machen.
Auch hier gelten wieder die gleichen Kompatibilitätseinschränkungen wie für den METS-Editor, so dass folgende Format bisher direkt innerhalb der Anzeige möglich sind:
Videoformate:
Audioformate:
Wenn eine info.json
für ein Bild über IIIF angefragt wird, werden nun die vorhandenen thumbs als Zoomstufen zurückgegeben. Dadurch fragt der Browser mit dem darin enthaltenen Tool für die Bildanzeige (openSeadragon) dann genau diese an, so dass die Thumbnails direkt durchgereicht werden können. Diese Veränderung bringt eine enorme Beschleunigung der Ladezeiten mit sich. Bei einigen Bildern mit längeren Ladezeiten konnten die Zeit somit beispielsweise von ursprünglich 2,4 Sekunden auf nur noch 0,2 Sekunden gesenkt werden.
Die Vollbildansicht des Image-QA-Plugins wurde ebenfalls deutlich überarbeitet. Sie wurde nun noch einmal neu in JavaScript implementiert, die es im Zusammenspiel mit obiger schneller Bildauslieferung erlaubt, mit gefühlter Desktop-Geschwindigkeit durch die Bilder zu navigieren.
Um diese neue Vollbildanzeige zu nutzen, muss innerhalb der Konfiguration des Plugins dieser Anpassung vorgenommen werden:
Vor relativ kurzem wurde im METS-Editor die neue Funktion integriert, die es erlaubt, dass unmittelbar nach dem Anlegen eines Strukturelements automatisch die verwendete Endseite zur neuen Startseite für das nächste Strukturelement werden kann. Dies spart in dem meisten Anwendungsfällen unnötige Mausklicks sowie einiges an Zeit.
Dennoch bestehen in der Goobi-Community so viele individuelle Arbeitsweisen, dass nicht jeder von solchen Neuerungen profitiert. Aus diesem Grund haben wir nun diese Funktion abschaltbar gemacht. Unmittelbar innerhalb der Box zum Anlegen neuer Strukturelemente kann nun mittels der dort angebotenen Checkbox festgelegt werden, ob die Funktion der Seitenübernahme für folgende Strukturelemente deaktiviert werden soll.
Der Funktionsumfang dieses Plugins ist ähnlich zu dem XML-Opac-Plugin extrem generisch gehalten. Statt mittels der Abfragespache XPath zu arbeiten kommt für JSON die Abfrage der Metadaten mittels JSONPath in den Einsatz, so dass auch hier sehr individuelle Mappings der Metadaten von JSON zu METS definiert werden können.
Mehr Informationen über die Einsatzmöglichkeiten von JSONPath finden sich hier:
Der Quellcode für dieses neue Opac-Plugin ist bei Github veröffentlicht:
Eine umfangreiche Dokumentation über das Plugin und dessen Konfigurationsmöglichkeiten findet sich hier:
Die allgemeinen Refactoring-Arbeiten an Goobi workflow schreiten voran neben dem üblichen Tagesgeschäft. Unter anderem wurden verschiedene Programmbibliotheken aktualisiert, wie beispielsweise:
PDFBox
Jackson
Jersey
Entwicklungen und Neuigkeiten zu Goobi workflow
In den kommenden Wochen werden wir uns voraussichtlich auf folgende Punkte konzentrieren:
Refaktorisierung des LayoutWizzard-Plugins für das automatische Croppen von Bildern
Umstellung des Goobi-Codes zur Nutzung von CDI
Der LayoutWizzard als Plugin zum bequemen Croppen von Bildern erfreut sich immer größerer Beliebtheit. Damit einher ging nun ebenso der Wunsch, dass dessen Verwendung auch innerhalb des Amazon Cloud performant möglich sein soll. Aus diesem Grund wurde der LayoutWizzard nun dahingehend überarbeitet, dass er neben einem regulären Dateisystem ebenso wie Goobi workflow nun auch auf dem Speichersystem S3 betrieben werden kann.
Für weitere Informationen über den LayoutWizzard steht hier die ausführliche Dokumentation für die Bedienung und die Konfigurationsmöglichkeiten zur Verfügung:
Seit einigen Monaten unterstützt Goobi workflow bereits den Umgang mit 3D-Objekten. Dies war für verschiedene Datenformate bereits gut nutzbar. Eine besondere Herausforderung war allerdings wiederholt der Umgang mit sehr großen Dateien und deren performanter Auslieferung und Anzeige. Mit der neu hinzugekommenen Funktionalität für eine Unterstützung der DRACO
Kompression ist die Visualisierung von qualitativen 3D-Modellen jetzt deutlich besser geworden, da hierbei die Dateigrößen erheblich kleiner sind als in den bisher unterstützten Formaten.
Mehr Informationen über die Kompression mittels DRACO lassen sich hier finden:
Für den Umgang mit diesen neuen sowie bereits unterstützen 3D-Formaten ergibt sich für die Benutzer keine nennenswerte Änderung. Hier gilt auch weiterhin, dass die Objekte sowohl innerhalb des QA-Plugins als auch innerhalb des METS-Editors wie gehabt angezeigt, gezoomt sowie rotiert werden können.
Innerhalb des METS-Editors kann ein Nutzer bereits seit längerer Zeit auch Manipulationen am Bildstapel vornehmen, um beispielsweise die Reihenfolge der Dateien zu ändern, Dateien zu löschen oder auch umzubenennen. Die Bedienung dieser Funktionalitäten war allerdings in der Vergangenheit gelegentlich problematisch, da nach Änderungen am Bildstapel stets zwingend auch die METS-Datei zusätzlich gespeichert werden musste. Mit den Überarbeitungen, die wir nun in diesem Bereich vorgenommen haben, ist dies nicht mehr nötig. Änderungen an den Dateien innerhalb des METS-Editors werden nun stets auch gleich in der METS-Datei gespeichert, so dass diese nicht mehr asynchron zu den Dateinamen werden kann. Darüber hinaus haben wir in intensiven Tests noch einmal sichergestellt, dass vorgenommene Änderungen stets auch eine Auswirkung auf alle Ordner haben. Somit werden beispielsweise Derivatdateien, Thumbnails, OCR-Ergebnisse, LayoutWizzard-Dateien und auch PDF-Dateien bei einer Umbenennung oder Löschung von Master-Dateien sofort auch mit geändert, damit sich die vorgenommene Änderung in allen Versionen des Digitalisats gleichartig auswirkt.
Innerhalb des GoobiScripts addStep
lag ein Fehler vor, der dessen Ausführung verhinderte. Das GoobiScript wurde nun überarbeitet und funktioniert ab sofort wieder.
In den letzten Wochen haben wir viel daran gearbeitet, dass Goobi workflow nun auch Audio- und Video-Daten direkt innerhalb des METS-Editors unterstützt und solche Dateien ebenfalls anzeigt und wiedergibt. Auf diese Weise unterstützt Goobi den Umgang mit Audio- und Video-Materialien nun noch einmal deutlich besser und erzeugt für den Export der METS-Dateien ebenfalls die korrekten Dateigruppen, um die Anzeige der veröffentlichten Digitalisate z.B. innerhalb des Goobi viewers direkt zu erlauben.
Um sicherzustellen, dass Goobi korrekt mit Audio- und Video-Daten umgeht, werden einige kleinere Anpassungen innerhalb des verwendeten Regelsatzes benötigt, um innerhalb eines Objektes neben Seiten
, Bildbereichen
und 3D Objekten
auch Audio
und Video
zu ermöglichen. Beispielhaft sieht eine solche Anpassung im Regelsatz wie folgt aus:
Abhängig davon, mit welchen Audio- und Videoformaten Sie an dieser Stelle arbeiten, können diese innerhalb des Webbrowsers ohne weitere Plugins wiedergegeben werden. Da dies von Browser zu Browser allerdings noch einmal unterschiedlich ist, hat sich bewährt die Derivate auf mp3 für Audiodateien und mp4 für Videodateien zu verwenden. Im Folgenden einmal eine Aufstellung welche Browser welche Dateiformate unmittelbar unterstützen:
Videoformate:
Audioformate:
Das bereits existierende Plugin für die einheitliche Anpassung von Anchor-Datensätzen wurde einmal gründlich überarbeitet und dokumentiert. Es erlaubt eine Auswahl eines zentralen Goobi-Vorgangs z.B. für ein mehrbändiges Werk oder eine Zeitschrift, der für sämtliche anderen Goobi-Vorgänge den Master-Vorgang bilden soll. Änderungen innerhalb dessen Anchor-Datei im Mets-Editor haben somit zur Folge, dass alle zugehörigen Goobi-Vorgänge mit den identischen Daten des zentralen Anchor-Datensatzes aktualisiert werden können.
Neben einigen kleinen optischen Anpassungen wurde für dieses Plugin nun eine ausführliche Dokumentation erstellt. Diese steht hier zur Verfügung:
Der gesamte Datenbestand des Stadtarchivs Duderstadt wurde auch bereits für die Veröffentlichung innerhalb eines Goobi viewers aufbereitet und ist als Prototyp bereits nutzbar. Vor der Bekanntgabe der URL müssen hier jedoch noch einige vorrangig visuelle Arbeiten abgeschlossen werden. Dies wird allerdings schon relativ bald erfolgen und anschließend auch hier noch einmal neu dokumentiert.
Goobi workflow verfügt bereits seit längerem über eine erweiterbare REST-Schnittstelle, um externe Systeme mit Goobi kommunizieren zu lassen. Die hierfür existierende Dokumentation innerhalb des Handbuchs wurde überarbeitet. Damit steht unter der folgenden Adresse eine aktuelle Fassung der Dokumentation bereit, wie die Schnittstelle für ausgewählte Endpoints gezielt für ausgewählte IP-Adressen freigeschaltet werden kann:
Entwicklungen und Neuigkeiten zu Goobi workflow
In den kommenden Wochen werden wir uns voraussichtlich auf folgende Punkte konzentrieren:
LayoutWizzard-Erweiterungen
Audio- und Video-Integrationen
Dokumentationen
Erweiterung der Vokabularfunktionalitäten
Projekte verfügen nun über ein neues Datenfeld, den Identifier
. Dieser neue Wert steht ebenso im sog. VariablenReplacer zur Verfügung. Dies heißt, dass diese neue Information ebenfalls innerhalb von Skripten, auf Laufzetteln oder in Plugins wie dem neuen Datei-Umbenennungs-Plugin (siehe weiter unten) verwendet werden können.
Es gibt jetzt einen neuen enorm flexiblen Editor, der für die Erschließung von Handschriften implementiert wurde, der aber auch in anderen Bereichen eingesetzt werden kann. Er besteht grundsätzlich aus drei Spalten, die jeweils beliebig viele Boxen enthalten können, innerhalb denen widerum mehrere Eingabefelder gruppiert werden können. Die Besonderheit ist hierbei, dass die Inhalte der einzelnen Boxen zunächst einmal nicht alle eingeblendet sein müssen. Somit ist es dem Bearbeiter möglich, das gesamte Formular zu überblicken, ohne scrollen zu müssen. Die einzelnen Felder innerhalb der jeweiligen Bereiche werden über einen Klick auf einen der Badges aktiviert und somit sichtbar. Auf diese Weise werden nicht benötigte Formularfelder ausgeblendet und überladen den Bildschirm nicht mit unbenötigten platzintensiven Komponenten.
Die einzelnen Felder innerhalb jeder Box können typisiert werden. So lässt sich festlegen, dass bestimmte Informationen über Input-Boxen, Auswahlfelder, Text-Areas, Checkboxen etc. erfasst werden können, um die Bedienung möglichst zu optimieren.
Dabei kommt unter anderem auch die Funktionalität mit ins Spiel, dass die Werte für Auswahlfelder aus dem neuen Vokabularmanager stammen. So lassen sich kontrollierte Vokabulare innerhalb von Goobi verwalten und innerhalb des Handschrifteneditors direkt nachnutzen.
Sämtliche Inhalte des neuen Editors für Handschriften werden über die Konfigurationsdatei des Plugins gesteuert und können im laufenden Betrieb angepasst werden.
Seit einiger Zeit existierte bereits ein Administration-Plugin für die Verwaltung von Vokabularen. Dieses Plugin wurde nun in den Kern von Goobi workflow übernommen und stellt von nun an eine zentrale Basiskomponente für alle Goobi workflow Installationen dar.
Innerhalb dieses neuen Vokabularmanager können nun beliebig viele Vokabulare definiert und bearbeitet werden. Für das Erzeugen und die Konfiguration eines Vokabulars ist hierbei als besondere Rechtestufe die Berechtigung Vokabularverwaltung - Administration
notwendig. Für die Verwaltung der einzelnen Vokabulardatensätze hingegen wird die Berechtigung Vokabularverwaltung - Datensätze
benötigt.
Für die Administration eines Vokabulars stehen verschiedene Optionen zur Verfügung. So lassen sich verschiedene Felder unterschiedlicher Typen definieren, die jeweils mehrsprachige Inhalte haben, mit Inhalten vorbelegt und auch als Pflichtfelder festgelegt werden können.
Für einen bequemen Datenaustausch steht ausserdem ein Import- und Exportmechanismus über das Datenformat Microsoft Excel zur Verfügung. Bereits vorliegende kontrollierte Vokabulare können so automatisch auch mit großen Datenmengen importiert werden.
Die Oberfläche zur Bearbeitung der einzelnen Datensätze eines Vokabulars passt sich dynamisch der Vokabulardefinition an. Je nach Konfiguration können so pro Datensatz entsprechend mehrere verschiedene Felder unterschiedlicher Typen ausgefüllt werden.
Die so angelegten Datensätze stehen anschließend über eine REST-API für den Zugriff durch externe Applikationen zur Verfügung, können innerhalb des METS-Editors für die Verwendung als Metadaten genutzt werden oder auch zur automatischen Anreicherung von Metadaten eingesetzt werden.
Innerhalb des METS-Editors besteht nun die Möglichkeit, dass Feldinhalte aus einem Vokabular des Vokabularmanagers ausgewählt werden können. Somit lassen sich jetzt über die Nutzeroberfläche eigene kontrollierte Vokabulare definieren und für die Metadatenerfassung nutzen. Hierzu bestehen zwei unterschiedliche Arbeitsweisen:
Eine Auswahl von Datensätzen kann einfach über ein Drop-Down-Feld erfolgen, das innerhalb der Konfigurationsdatei goobi_metadataDisplayRules.xml
so festgelegt wird:
Eine Auswahl von Datensätzen ist ebenso über ein Suchformular möglich, wie dies für andere Vokabularien (z.B. Viaf, GND, Geonames etc.) ebenfalls möglich ist. In diesem Fall erfolgt die Konfiguration in der Datei goobi_metadataDisplayRules.xml
folgendermaßen:
Für beide Anwendungsfälle ist es im Übrigens wichtig, dass die REST-API von Goobi aktiv ist und innerhalb der Konfigurationsdatei goobi_rest.xml
den Zugriff auf das Vokabular wie folgt erlaubt:
Die neue Funktionalität der Vokabularverwaltung erlaubt viele neue Nutzungsszenarien von Goobi workflow. So wurde in dem Kontext unter anderem ein Plugin entwickelt, das automatisch Korrekturen von existierenden Metadaten durchführen kann. Hierzu kann innerhalb der Konfiguration des Plugins festgelegt werden, welches Metadatum als Quellinformation genutzt werden soll und in welches Metadatum die Zielinformation geschrieben werden soll. Somit läßt sich beispielsweise folgendes Szenario abdecken:
innerhalb der Metadaten stehen im Feld Erscheinungsort
verschiedene Varianten des gleichen Ortes in unterschiedlichen Schreibweisen und Abkürzungen, jeweils ohne Normdatenangabe
Dieser Anwendungsfall gilt für zahlreiche Städte innerhalb der Datensätze mit unterschiedlichen Schreibweisen
In einem Vokabular sind Orte mit den verschiedenen verwendeten Schreibweisen und Abkürzungen definiert, ebenso wie die gewünschte gleichartige Schreibweise
Ebenso ist in dem Vokabular definiert, dass für den korrigierten Wert des Erscheinungsortes eine Verlinkung auf den Normdatensatz aus GeoNames verwendet werden soll. Hierzu ist für den Ort entsprechend die Authority sowie der zu verwendene Datensatz-Identifier hinterlegt
Das Plugin wird automatisch vor der Veröffentlichung eines Digitalisats im Workflow von Goobi ausgeführt. Es analysiert alle Metadatenfelder, ob hierfür eine Ersetzungsdefinition vorliegt. Wird ein solcher Wert gefunden, so wird die gewünschte Zielschreibweise zusammen mit den Normdatenangaben verwendet und in das Zielfeld geschrieben. Wir das konfigurierte Metadatenfeld hingegen kein andere Schreibweise im Vokabular gefunden, so wird der Ursprungswert in das Zielfeld unverändert übernommen zusammen mit ggf. vorliegenden Normdaten.
Die Konfiguration einer solchen Ersetzungsdefinition sieht beispielhaft so aus:
Innerhalb des Vokabulars sind für die verschiedenen Abkürzungen und Schreibweisen Datensätze hinterlegt, die durch für die Ersetzung berücksichtigt werden sollen:
Nach dem erfolgreichen Durchlauf des Plugins sind die Metadaten automatisch angereichert. Diese Ersetzungen können auch wiederholt innerhalb des Workflows stattfinden und aktualisieren die konfigurierten Zielfelder mit dem der jeweils gültigen Fassung aus dem Vokabular.
Die ausführliche Dokumentation des Plugins findet sich hier:
In der Vergangenheit gab für die Step-Plugins von Goobi bisher drei Varianten:
Neu hinzugekommen ist eine neue Variante, die nun erlaubt, dass ein Plugin sowohl eine teilweise als auch eine vollständige Nutzeroberfläche unterstützt.
Auf diese Weise ist es nun möglich, dass ein Plugin beispielsweise bereits innerhalb einer angenommenen Aufgabe eine Vorschau anzeigt davon, was in der vollständigen Nutzeroberfläche in detaillierter Form betrachtet und bearbeitet werden kann. Beispielhaft wurde dies zunächst anhand des Image-QA-Plugins implementiert.
Das Image-QA-Plugin ist eines der am weitesten verbreiteten Plugins. Es hat in der Vergangenheit schon verschiedene Updates erhalten. Allerdings ist es bisher nie öffentlich dokumentiert worden. In diesem Monat haben wir dies einmal in Angriff genommen. Neben diversen größeren und kleineren optischen Anpassungen wurde vor allem eine umfangreiche Unterstützung von 3D-Objekten implementiert und eine Dokumentation erstellt.
Und falls es noch nicht bekannt sein sollte, das QA-Plugin kann viel mehr als nur Bilder anzeigen. Es kann unter anderem auch folgendes:
in verschiedenen Workflows kann es sich unterschiedlich verhalten, was die Anzeige und die Funktionalität betrifft
ein Download von einzelnen oder mehreren Bildern ist möglich
Bilder können einzeln oder zusammen in 90-Grad-Schritten rotiert werden
Bilder können gelöscht werden
es gibt eine Vollbild-Anzeige
Volltexte können parallel zum Bild angezeigt werden
PDF-Dateien können generiert werden
die Anzahl der Thumbnails ist konfigurierbar
die Auflösungen der Zoomstufen für das große Bild ist konfigurierbar
es unterstützt als erste Plugin die neue Anzeigevariante PART_AND_FULL
für eine Anzeige von Thumbnails direkt innerhalb der Aufgabe
Vor einigen Monaten bereits wurde ein spezielles Import-Plugin entwickelt, dass einen Massenimport von Metadaten aus einer Excel-Tabelle erlaubt und dabei noch vor dem eigentlichen Import eine ausführliche Validierung der Feldinhalte erlaubt. Mehr zu diesem Plugin findet sich in dessen Dokumentation hier:
Hinzu kommt nun ein zweites Plugin, das eng mit diesem Import-Plugin zusammenarbeitet. Es nutzt die gleiche Konfigurationsdatei ein weiteres Mal nach und sorgt für eine wiederholt mögliche Anzeige von Metadaten, die zuvor importiert und im Laufe des Workflows überarbeitet wurden. Als Step-Plugin erlaubt es eine wiederholte Ausführung sowie eine kombinierte Ausführung zusammen mit dem Zugriff auf dem Metadaten-Editor von Goobi workflow.
In Goobi workflow gab es zahlreiche kleinere optische Anpassungen, auf die hier gar nicht im Detail eingegangen werden kann. Mehrheitlich betreffen diese optischen Anpassungen Fragen des Layouts, Vereinheitlichung von Abständen und Schriftgrößen sowie Icon-Darstellungen. Unter anderem haben wir in diesem Kontext ebenfalls noch einigen Funktionen leicht geänderte Icons zugewiesen, um einerseits Doppelungen zu vermeiden und andererseits für eine Vereinheitlichung des Layouts zu sorgen.
Nach dem größeren Updated METS-Editors im November und Dezember 2019 erhielten wir wiederholt die Rückmeldung, dass innerhalb des METS-Editors weiterhin eine Navigation zwischen den Seiten möglich sein soll, bei der jeweils eine Seite übersprungen werden kann. Dies war im Kontext der Homogenisierung des Paginators während der Umstellungen abgeschafft worden. Mit unseren Umstellungen haben wir nun diese Funktion wiederhergestellt, so dass eine Navigation nicht mehr nur in Einzelseitensprüngen erfolgen muss.
Das Format JSON spielt in immer mehr Systemen eine große Rolle, wenn es um den Austausch von Daten zwischen Maschinen geht. Unter anderem ist dies so auch in einigen Katalogsystemen bereits in Verwendung, so unter anderem innerhalb von ArchiveSpace (). Um solche Datenquellen ebenfalls zu unterstützen, wurde ein neues Opac-Plugin für die Datenübernahme von JSON-Daten zu ermöglichen.
Das Stadtarchiv Duderstadt war bereits sehr früh sehr fortschrittlich und digitalisierte in den 90er Jahren das gesamte Archiv und erzeugte einen enormen . Wir haben uns mit diesen Daten bereits seit längerem beschäftigt und nun sämtliche Daten importiert. Die bisher proprietär vorliegenden Daten wurden in ein EAD-Format überführt und die einzelnen Objekte jeweils zusätzlich in jeweils einer METS-Datei beschrieben, so dass sämtliche tief erschlossenen Metadaten nun neu veröffentlicht werden können.
Edge/Internet Explorer
YES
NO
NO
Chrome
YES
YES
YES
Firefox
YES
YES
YES
Safari
YES
NO
NO
Opera
YES
YES
YES
Edge/Internet Explorer
YES
NO
NO
Chrome
YES
YES
YES
Firefox
YES
YES
YES
Safari
YES
YES
NO
Opera
YES
YES
YES
Edge/Internet Explorer
YES
NO
NO
Chrome
YES
YES
YES
Firefox
YES
YES
YES
Safari
YES
NO
NO
Opera
YES
YES
YES
Edge/Internet Explorer
YES
NO
NO
Chrome
YES
YES
YES
Firefox
YES
YES
YES
Safari
YES
YES
NO
Opera
YES
YES
YES
NONE
Plugins ganz ohne Nutzeroberfläche
PART
Plugins mit einer teilweisen Nutzeroberfläche, integriert in eine angenommene Aufgabe (Beispiel: File-Upload-Plugin
)
FULL
Plugins mit einer vollständigen Nutzeroberläche, die aus einer angenommenen Aufgabe betreten werden (Beispiel: Image-QA-Plugin
)
PART_AND_FULL
Plugins mit teilweiser und vollständiger Nutzeroberfläche zugleich (Beispiel: überarbeitetes Image-QA-Plugin
)
Entwicklungen und Neuigkeiten zu Goobi workflow
Es kann jetzt per Multipart-POST eine Datei in einen der Bild-Ordner eines Vorgangs kopiert werden. Der endpoint sieht folgendermaßen aus:
POST https://mygoobi.tld/goobi/api/processes/{processId}/images/{folder}
Wenn {folder}
auf "master" gesetzt ist, wird in den Master-Ordner hochgeladen, der Standard ist der Derivate-Ordner.
https://github.com/intranda/goobi/commit/403d970d4ba95ecf87a710ec9357ed9bc2c27a13
Es wurden weitere Queries optimiert.
https://github.com/intranda/goobi/commit/7fddc8b303eca3a057dd070bf668293e2571f52a
Travis baut jetzt Goobi-Releases, die dann auf Github veröffentlicht werden.
Für bessere Performance werden jetzt GLB-Objekte in der 3D-Ansicht des METS-Editors unterstützt.
https://github.com/intranda/goobi/commit/0250f80d3685a2698c15e1ff6ed3a2aad7579050
Das erweiterte Dashboard wurde komplett überarbeitet und bietet jetzt bessere Performance und weniger Bugs.
https://github.com/intranda/goobi/commit/fd739050f8b89d04b7d02d9453f16e47f4f09fdb https://github.com/intranda/goobi/commit/83c5abdb4c7d342b50c7454dd0d55a9e64806334 https://github.com/intranda/goobi/commit/e9c4ffd3027eb37a30d5f20089ae59c3d7916cc2
Die letzten Änderungen am Goobiscript hatten neue Fehler eingeführt, die zur Nicht-Benutzbarkeit von Goobi bei langen Warteschlangen geführt haben. Das wurde repariert.
https://github.com/intranda/goobi/commit/826b47d403cd830e2624e11eb7ffcc2a7da3bfee
Entwicklungen und Neuigkeiten zu Goobi workflow
Bisher wurde der gesamte Prozess aus der Datenbank geholt, wenn ein Bild aus diesem Prozess angezeigt werden sollte. Dies wurde nun so optimiert, dass keine Datenbankabfragen mehr nötig sind.
https://github.com/intranda/goobi/commit/6ea16c3115cbef1fac0428353f59cf7f2def94bd
Wenn im OCR-Ergebnis mehrere Leerzeilen aufeinander folgen, kann es schnell unübersichtlich werden:
Ab sofort werden mehrere aufeinanderfolgende Leerzeilen zu einer zusammengefasst:
https://github.com/intranda/goobi/commit/eaa0f1c0ee5d5b170d041cfc559259ca2680a9a7
Es wurde ein neues GoobiScript hinzugefügt, welches die massenhafte Manipulation von Schritte-Prioritäten erlaubt.
https://github.com/intranda/goobi/commit/a2f27549976cf3fc9af8bdf96c94e118828dec1a
Bisher blieb wegen eines Fehlers in Goobi nach dem löschen eines Vorgangs ein leerer Ordner im Dateisystem übrig. Dieser Fehler ist nun behoben und auch der Ordner selbst wird gelöscht.
https://github.com/intranda/goobi/commit/2ee43e3a6cb890416f90f2ff50a44faf707d242f
Entwicklungen und Neuigkeiten zu Goobi workflow
Mandantenfähigkeit von Goobi workflow
Message queue für externe Prozesse
Metadateneditor und ImageQA-Plugin: rechts-nach-links blättern und Thumbnails
Es wuren zwei neue GoobiScripte hinzugefügt:
deleteUserGroup entfernt eine Nutzergruppe aus Schritten
renameStep __benennt einen Schritt um
https://github.com/intranda/goobi/commit/36d9e5c75b2523d5c13e6def32b07c926edb1611
Goobi workflow unterstützt nun openID Connect als externen Authentifizierungs-Anbieter. Die Implementierung ist konfigurierbar gehalten und kann mit vielen openID Connect Anbietern zusammenarbeiten.
https://github.com/intranda/goobi/commit/843e9d4d8ee2731803832736a98e3fcf43ec1df4https://github.com/intranda/goobi/commit/29d78831087b5a42d484c32ffeb5a6cf0600b4e1https://github.com/intranda/goobi/commit/1d98eeaa59b393f6e5485db64c5f6470cdf1dc73
Der neue METS-Editor ist im stabilen Goobi gelandet. Vorrangiges Ziel des Umbaus war es, den Code wartbarer zu machen.
Durch die neue Code-Struktur konnten wir schon einige Verbesserungen vornehmen. Die meisten dieser Verbesserungen umgehen das neu laden der Seite, was zu besserem Arbeitsfluss führen sollte. So ist zum Beispiel die Vergrößerung und Verkleinerung der einzelnen Bereiche jetzt ohne reload möglich.
In den neuen METS-Editor sind mehrere Dutzend commits eingeflossen, deswegen wird hier nur der finale merge-commit aufgeführt:
https://github.com/intranda/goobi/commit/cc72ab41a793d1c8986b6b4fc880bcd44cd75433
Wenn Nachrichten in der Message queue mehrfach nicht erfolgreich abgearbeitet werden konnten, sind sie bisher im Nirvana verschwunden. Ab sofort wird die sogenannte "dead letter queue" von Goobi überwacht und die Nachrichten aus dieser in der Nutzeroberfläche angezeigt.
https://github.com/intranda/goobi/commit/b8f294ceddfeb7e563efb27365c2a4709de45ab5
Der thumbs
-Ordner in Goobi workflow enthält vorgerenderte kleinere Versionen der Bilder in den Master- und Derivate-Ordnern. Wenn ein Bild mit kleinerer Größe als in einem der thumbs
-Ordner vorgehaltenen Versionen angefragt wird, wird dieses kleinere Bild geladen und ausgeliefert.
In dieser oben beschriebenen Logik wurden einige Performance-Optimierungen durchgeführt. Außerdem wird ein Bild mit der genau richtigen Größe nun nicht mehr in den Speicher geladen, sondern direkt Richtung Browser durchgereicht.
https://github.com/intranda/goobi/commit/de4659e3dde243a646a184c7e1621747969f6bc5 https://github.com/intranda/goobi/commit/06bea9d7a87475416c03ce4ee0819ab1c9d1dc1e
Es gibt jetzt analog zur Suche in Normdatenbanken nun auch die Möglichkeit aus dem METS-Editor heraus eine Suche in easyDB zu starten und eine Objekt aus der easyDB mit einem Goobi-Prozess zu verknüpfen.
https://github.com/intranda/goobi/commit/d9d9fcd2e0fec2dcc95fa6e9baee30fe09f331e4
Entwicklungen und Neuigkeiten zu Goobi workflow
Es gibt einen neuen Login-Screen, der das "workflow" im Namen besser widerspiegelt.
https://github.com/intranda/goobi/commit/5a9ed3e75e03cb04ef63ac20b74dda90b9bd8eb6
Wenn man bisher schon einmal als Benutzer eingeloggt war und dies in einem anderen Browser oder an einem anderen Rechner noch einmal versucht hat, wurde eine Zwischenseite angezeigt. Diese hat nachgefragt, ob die alten Sitzungen aufgeräumt werden sollen. Diese Zwischenseite ist nun nicht mehr vorhanden und man wird ganz normal eingeloggt.
https://github.com/intranda/goobi/commit/596353f747155ddcde9a8eca854798e30598108a
Seit den Goobi Tagen Ende September gibt es eine neue Versionierung für Goobi workflow. Das erste Release mit der neuen Versionierung war "Goobi workflow 19.09". Dabei stehen die ersten zwei Zahlen für das Jahr, die zweiten für den Monat in ebenjenem Jahr. Sollte es ein Bugfix-Release geben, wird eine weitere Zahl hochgezählt, z.B. 19.09-1, 19.09-2 etc.
Die Version kann (wie oben in den Screenshots zu sehen) direkt beim Login und im Seiten-Titel abgelesen werden.
https://github.com/intranda/goobi/commit/5a9ed3e75e03cb04ef63ac20b74dda90b9bd8eb6
Es ist jetzt möglich, automatische Schritte in einer Warteschlange abarbeiten zu lassen. Der Warteschlange können beliebig viele Arbeiter zugeordnet werden, sodass auf kleineren wie größeren Systemen keine Lastspitzen entstehen.
https://github.com/intranda/goobi/commit/ee7484fb88313203a9ca699414a2add3f53e149f https://github.com/intranda/goobi/commit/72a6d16bfe33aded4c0434cf68fa7f13584c8a9c https://github.com/intranda/goobi/commit/0d94330938577a9a5897855d536342f629e88fe0
Wenn ein Nutzer in Goobi workflow gelöscht wird, werden jetzt auch die folgenden persönlichen Informationen mit gelöscht:
Nutzername
Email-Adresse
Vorname
Nachname
LDAP login
https://github.com/intranda/goobi/commit/38d4f2f56d39015ff40bfc6b39e02c7193ded5d8
Der REST-Endpoint zur Prozess-Suche erlaubt nun auch das Filtern nach Template-IDs. Dem Such-JSON-Objekt wird dazu eine Liste mit den zu filternden Template-IDs übergeben:
https://github.com/intranda/goobi/commit/d42389620c1bc93f50b0b3a889645b73f5edd519
Entwicklungen und Neuigkeiten zu Goobi workflow
Bereits vor einiger Zeit haben wir eine neue Warteschlange in Goobi eingebaut. Von dieser war bisher wenig zu sehen, sie hat ihre Arbeit leise im Hintergrund verrichtet. Dies wurde jetzt geändert. Es gibt eine neue Seite, auf der Admins sich die Warteschlangen ansehen und Jobs auch abbrechen können.
https://github.com/intranda/goobi/commit/38a43c078f403b24cc1fb2910e619ad189e3c4a2 https://github.com/intranda/goobi/commit/e3331d76932a20f1aa750f4be227264c123e7a10 https://github.com/intranda/goobi/commit/e3331d76932a20f1aa750f4be227264c123e7a10
Wenn GoobiScripts ausgeführt wurden und währenddessen neue gestartet wurden, gab es manchmal einen Fehler, weil zwei Methoden gleichzeitig auf die Liste der GoobiScripte zugreifen wollten. Dieser Fehler ist nun behoben, da die gesamte GoobiScript-Verwaltung Thread-safe gemacht wurde.
https://github.com/intranda/goobi/commit/349a75d98492779075db61e134783dc34862c9a7 https://github.com/intranda/goobi/commit/5906bcecc0855bc9286c310193e87049131820f6
Wenn einem Nutzer sehr viele Schritte zugeordnet waren (ab ~30.000), hat die Auflistung der Aufgaben bis zu 10 Sekunden gedauert. Das gleiche galt bei der Abgabe von Aufgaben. Die beiden zuständigen SQL-Abfragen wurden optimiert und sind jetzt auch für Nutzer mit mehr als 30.000 zugeteilten Schritten schnell.
https://github.com/intranda/goobi/commit/ec5fb70fa8af702f813d58f256ef5808c3cebf77 https://github.com/intranda/goobi/commit/5373c1887509cd34cfdf17060fe7463d4568cb1d
Es gibt eine neue Seite, die alle installierten Plugins auflistet und auch anzeigt, ob diese jeweils in Workflows benutzt werden. Die neue Seite ist über das Admin-Menü erreichbar.
https://github.com/intranda/goobi/commit/953b733d652c99682b3221e1cea67ea4d67ed21e https://github.com/intranda/goobi/commit/019f9ac744d4690de6427ea57f5cae13a92b4b17 https://github.com/intranda/goobi/commit/aa88a32a873ed1a04e0b79a9a9a7b78d432af2a5
Es gibt ein neues GoobiScript zum umbenennen von Vorgängen. Die Syntax lautet:
Dabei wird im Vorgangsnamen des zu ändernden Vorgangs nach OLDNAME
gesucht und mit NEWNAME
ersetzt. Wenn type
auf full
gesetzt wird, muss der gesamte Vorgangsname mit OLDNAME
übereinstimmen. Wird contains
benutzt, wird nur der Teil des Vorgangsnamens ersetzt, der mit OLDNAME
übereinstimmt.
https://github.com/intranda/goobi/commit/c1387648d3606304f0fe5f5bdf5532512d2b691f
Es gibt jetzt die Möglichkeit, Dateien im Vorgangslog zu verlinken. Dazu können diese direkt unter der Eingabemaske für die Nachricht hochgeladen werden.
https://github.com/intranda/goobi/commit/cbbcbdb54c99fee8349296d5f2893cdab7533855 https://github.com/intranda/goobi/commit/1f299436c67fbcf26421bacd3b5bc6e331854c09 https://github.com/intranda/goobi/commit/2032e423fddd3642e3a8876e863ef23ed8914fb5
Zusammen mit dem Dateiupload ins Vorgangslog wurde auch eine Auflistung aller sich momentan im Vorgang befindlichen Bild-Dateien hinzugefügt.
Es gibt jetzt die Möglichkeit, Emails an Nutzer zu senden, wenn ein Schritt geöffnet wird, dem der Nutzer zugeordnet wird. Nutzer mit erweiterten Rechten können sich auch Emails schicken lassen, wenn ein Schritt in einen beliebigen anderen Status übergeht. Die Konfiguration erfolgt für jeden Nutzer in seinen Benutzereinstellungen pro Projekt und Schritt-Typ. Die Emails können auch direkt über einen Link in der jeweiligen Email abbestellt werden.
https://github.com/intranda/goobi/commit/16cd4c52679c658b6151e34a9b0b8e37c98a632d
Nach dem Anlegen eines Vorgangs wird ein Link angezeigt, der es einem ermöglicht, direkt zum Vorgang zu springen. Dieser Link wird jetzt nur noch angezeigt, wenn der Nutzer auch die nötigen Rechte hat, den Vorgang zu sehen.
https://github.com/intranda/goobi/commit/dfbc61977cb856bc1b7e870d9d42f61f82079dcb
Die alte Rechenaufgabe hat bei einigen Nutzern für etwas Frust gesorgt, also haben wir die Abfrage so geändert, dass das auszuführende GoobiScript angezeigt wird, sowie die Anzahl der betroffenen Vorgänge. Zur Bestätigung muss jetzt nur noch die Zahl der betroffenen Vorgänge abgetippt werden.
https://github.com/intranda/goobi/commit/f3964314b7d44d763f7fe9fa6b8dcd4151e5603f
Es gibt jetzt öffentliche Docker images für Goobi workflow. Sie sind auf Docker Hub zu finden. Diese images stellen eine Grundinstallation ohne Plugins dar und sind als Grundlage zur Erstellung von auf die eigenen Bedürfnisse angepassten images gedacht. Zur Nutzung der images haben wir unter folgendem Link eine Anleitung erstellt, die auch die Anbindung an eine Datenbank zeigt:
https://github.com/intranda/goobi/blob/master/DOCKER.md
Es gibt jetzt eine Installationsanleitung für Goobi workflow. Diese ist unter folgendem Link zu finden:
Die Anleitung bezieht sich auf Ubuntu Linux 16.04
und kann Schritt für Schritt durchgearbeitet werden. Die Installation behandelt auch das kompilieren und die Installation der gebräuchlichsten Goobi-Plugins.
Entwicklungen und Neuigkeiten zu Goobi workflow
Mit dem aktuellen Release ist Goobi workflow nun mandantenfähig. Dafür existieren von nun an in Goobi workflow Insitutionen
, denen die Laufzettel, Regelsätze, Nutzer, Gruppen und Projekte zugeordnet werden können. Dabei können Laufzettel und Regelsätze auch mehreren Institutionen gleichzeitig zugeordnet sein.
Dadurch, dass die Benutzer von Goobi workflow stets nur einer Institution zugeordnet sind, sieht Goobi für normale Nutzer zunächst völlig unverändert aus. Im Hintergrund jedoch greift hier bereits die Einschränkung auf die jeweilige Institution und verhindert so den Zugriff auf die Inhalte der anderen Institutionen. Dabei gilt Einschränkung gilt entsprechend ebenfalls für Administratoren, die jeweils ebenso nur die Einstellungen für ihre eigene Institution anpassen und Nutzer für diese hinzufügen können. Für die Verwaltung der Institutionen selbst gibt es von nun an eine neue übergeordnete Rechteebene in Goobi workflow, den superadmin
.
Für die Inbetriebnahme der Mandantenfähigkeit muss zumindest ein Nutzer mit dem Recht superadmin
ausgestattet werden. Dies ist möglich mittels des folgenden angepassten SQL-Statements innerhalb der Datenbank, wo die korrekte ID des Benutzers eingetragen wird:
Anschließend kann der somit erzeugte Super-Administrator innerhalb der Nutzeroberfläche von Goobi workflow auch weitere Super-Administratoren erzeugen.
https://github.com/intranda/goobi/commit/6c41dd7969 https://github.com/intranda/goobi/commit/fac1506e8a https://github.com/intranda/goobi/commit/3472e38eb4
Vermehrt traten in der Vergangenheit Interessenten an uns heran, die Goobi gerne vollkommen anders einsetzen möchten, als dies in den meisten anderen Einrichtungen der Fall ist. Konkret geht es hierbei darum, dass die Workflows so konzipiert sein sollen, dass noch vor dem Erzeugen von Digitalisaten eine logische Struktur angelegt werden können soll. Die zugehörigen Bilder jedoch sollen erst im Nachhinein eingepflegt werden. Dank der enormen Flexibilität von Goobi workflow ließ sich auch hierfür ein Lösungsweg finden. Hierzu wurden zwei neue Plugins entwickelt, um diese Arbeitsweise zu ermöglichen:
Zunächst einmal kommt das neue Plugin goobi-plugin-step-placeholder-creation
zum Einsatz. Innerhalb dessen Oberfläche kann der Nutzer festlegen, welche Anzahl an Platzhalterbildern erzeugt und im Verzeichnis für die Master-Bilder abgelegt werden soll.
Auf der Basis der somit erzeugten Platzhalterbilder läßt sich nun innerhalb des METS-Editors fast wie gewohnt arbeiten. Strukturdaten und Metadaten können nun erzeugt und den jeweiligen Seiten zugewiesen werden.
Im weiteren Verlauf des Workflows wird dann das Plugin goobi-plugin-step-replace-images
verwendet. Dieses erlaubt, dass die temporär vorgehaltenen Platzhalterbilder nun durch die tatsächlichen Digitalisate ersetzt werden. Dabei stellt das Plugin zugleich sicher, dass die per Drag & Drop hochzuladenden Bilder einerseits nur die gewünschten Dateien ersetzt und dass zugleich unabhängig von der ursprünglichen Benennung der Dateien eine automatische Umbenennung der Dateien erfolgt, so wie diese durch die Platzhalterbilder vorgegeben wurde. Die Dateiendung richtet sich hierbei allerdings dynamisch nach dem hochgeladenen Dateiformat, so dass neben TIF-Dateien hier ebenso mit JPEG, JP2 oder anderen Formaten gearbeitet werden kann.
Sollten während des Uploads ggf. einzelne Bilder nicht erzeugt und hochgeladen werden, so ist dies aufgrund der auffälligen Platzhalterbilder auch beispielsweise innerhalb des Image-QA-Plugins und im Metadateneditor sofort ersichtlich.
Zur besseren Verständlichkeit steht hier ein Screencast zur Verfügung, der den Durchlauf eines solchen Workflows einmal nachvollziehbar durchläuft.
Das Export-Plugin für den Ingest in das Langzeitarchiv EWIG unterstützt von nun an Submission-Manifeste und exportiert ebenfalls die Inhalte des Vorgangslogs. Damit kann auch nun innerhalb des Langzeitarchivs noch nachvollzogen werden, was genau im Laufe des Workflows mit den Daten wann geschehen ist.
Die ausführliche Dokumentation zu diesem Plugin findet sich unter der folgenden Adresse:
Ist Goobi workflow für die Authentifizierung an ein Single Sign On über OpenID angebunden, so trat in der Vergangenheit ein Fehler im Falle unbekannter Nutzer auf. Diese gerieten bisher während des Einloggens in eine Endlosschleife, bei der immer wieder zum Login-Provider und dann wieder zu Goobi weitergeleitet wurde. Das Verhalten von Goobi wurde an dieser Stelle nun so geändert, dass stattdessen von nun an eine aussagekräftige Fehlerseite angezeigt wird.
https://github.com/intranda/goobi/commit/684f7638bd91ec5a788ac419b592fc20341e1cea
Entwicklungen und Neuigkeiten zu Goobi workflow
Die Oberfläche für den Massenimport für Goobi workflow wurde massiv überarbeitet. Bisher musste man als Nutzer noch jeweils den richtigen Importmechanismus auswählen, anschließend das Plugin aus der Liste übernehmen. Und zu guter letzt musste man die hochzuladende Datei zunächst auswählen und dann auf einen separaten Button klicken. Dies alles ist nun deutlich intuitiver. Betritt man den Massenimport, so werden dort von nun an nur noch diejenigen Reiter angezeigt, für die Plugins installiert vorliegen. Ist nur ein Plugin installiert, so ist dieses auch bereits gleich ausgewählt. Und auch der Upload der Datei ist unmittelbar mit Drag & Drop möglich. Somit ist die Bedienung um ein vielfaches vereinfacht und erfordert wesentlich weniger Klicks als zuvor.
Für die Gewährleistung einer besseren Kompatibilität mit verschiedenen Zeichensätzen und Sprachen wurde die Datenbank von Goobi workflow nun so angepasst, dass sämtliche Tabellen intern als UTF8 gespeichert werden. Diese Aktualisierung findet nach der Installation der neuen Version von Goobi workflow automatisch während des ersten Programmstarts statt, so dass keine manuellen Eingriffe in die Datenbank notwendig werden.
Durch die Anpassung einer SQL-Query konnte die Geschwindigkeit bei der Auflistung vieler Schritte gesteigert werden. Selbst bei 30.000 einem Nutzer zugeordneten Schritten sind die Wartezeiten jetzt kleiner als eine Sekunde.
Im Metadateneditor wird von nun an ein Platzhaltertext angezeigt, wenn zu einem Vorgang keine Medien bereitstehen. Somit ist dem Nutzer von nun an unmittelbar ersichtlich, ob überhaupt Dateien zu einem Vorgang gehören, oder ob es unter Umständen lediglich zu Problemen bei der Anzeige bereitstehender Medien kommt.
Innerhalb des File-Upload-Plugins können von nun an nicht nur Dateien nur hochgeladen werden. Es ist nun ebenso möglich, dass einzelne Dateien wieder heruntergeladen werden. Darüber hinaus kann auch der gesamte Verzeichnisinhalt als zip-Datei heruntergeladen werden.
Das Administration Plugin Catalogue Poller verfügt nun über einen Mechanismus, dass aktualisierte Vorgänge, die durch eine periodische Abfrage z.B. eines Bibliothekskataloges geändert wurden, exportiert werden können. Mit diesem neuen Mechanismus ist es nun möglich, dass ausschließlich die jenigen Datensätze z.B. im Goobi viewer neu veröffentlicht werden, zu denen es eine Aktualisierung gibt. Dabei wird grundsätzlich nur die METS-Datei exportiert, nicht jedoch zugehörige Bilder, Medien oder Volltextdateien. Auf diese Weise ist auch der Veröffentlichungsprozess entsprechend performant und es sind stets aktuelle Datensätze veröffentlicht.
Für die Anbindung von Goobi workflow an das LZA der GWDG (CDStar) wurden drei Plugins entwickelt:
Ein Schritte-Plugin für den Ingest der Master-Bilder und Derivate in CDStar
Ein Plugin für den Export einer METS Datei mit Dateigruppen, in denen die IDs und URLs auf die vorher ingesteten Bilder in CDStar zeigen
Ein Plugin, das die exportierte METS-Datei in ein Fedora System einspielt
Alle diese Plugins arbeiten bereits mit der Goobi-internen Warteschlange zusammen, wodurch Lastspitzen vermieden werden.
Entwicklungen und Neuigkeiten zu Goobi workflow
Wenn ein GoobiScript fehlerhaft war, ließ sich das zwar am roten Fehlerstatus gut erkennen, die Ursache war jedoch oft nicht sichtbar. Daher wurde die Anzeige erweitert, um zusätzlich die Rückmeldungen der Skripte oder Plugins anzuzeigen. Diese Meldungen lassen sich auch als Excel-Datei herunterladen und werden in das Vorgangslog geschrieben.
Außerdem wurde Bereich Suchergebnis exportieren angepasst. Dort ist es nun möglich die zuletzt gespeicherte Fehlermeldung aus dem Vorgangslog zu zu exportieren. Hierzu muss die Spalte Letzte Fehlermeldung
ausgewählt werden. Existiert für einen Vorgang keine Fehlermeldung, bleibt die Zelle leer. Die zugehörigen commits finden sich hier:
Das bereits existierende Excel Import Plugins zum Import von Metadaten wurde erweitert, um nicht mit der Reihenfolge der Spalten, sondern mit dem Spaltentitel zu arbeiten. Dies erlaubt es, kleinere Änderungen an den Excel Dateien machen zu können, ohne jedes Mal die Konfiguration anpassen zu müssen, weil sich einzelne Spalten geändert haben oder die Reihenfolge nun eine andere ist.
In Goobi muss dazu während des Imports das Plugin intranda_import_excel_read_headerdata
gewählt werden.
Die Konfigurationsdatei plugin_intranda_import_excel_read_headerdata.xml
orientiert sich an der bisherigen Konfiguration, erlaubt jedoch eine Definition der Metadatenfelder nach folgendem Schema:
Sofern die Excel Datei eine Spalte enthält, die in der ersten Zeile den Wert PPN-Digital
enthält, wird anschließend in jedem Datensatz der Wert aus dieser Spalte in das Metadatum CatalogIDDigital
geschrieben.
Personen können auf mehrere Arten importiert werden. Wenn Vor- und Nachname in getrennten Spalten stehen, dann sieht das Feld wie folgt aus:
Wenn der vollständige Name in einer Spalte geliefert wird, ist hingegen folgende Konfiguration zu wählen:
Dabei wird der gefundene Wert am konfigurierten <splitChar>
aufgetrennt und in Vorname und Nachname geteilt. Optional ist auch die Angabe von Normdaten zu einem Metadatum möglich:
Das bereits existierende Plugin, um die METS-Dateien innerhalb von Goobi periodisch aus einem Katalog zu aktualisieren, wurde einmal etwas überarbeitet. Hier gab es vor allem Handlungsbedarf, um genauer festlegen zu können, welche Metaden nicht mit geänderten Werten überschrieben werden sollen und wie mit wegfallenden Metadaten umgegangen werden soll.
In dem Zusammenhang wurde auch gleich das Logging der Aktivität des Plugins verbessert. Es ist nun im Goobi Vorgangslog auch jederzeit gut nachvollziehbar, was sich im Datensatz geändert hat und wann dies genau stattfand.
Letztlich haben wir die Gelegenheit gleich auch dafür genutzt, eine ausführliche Dokumentation für das Plugin zu erstellen. Diese findet sich unter der folgenden Adresse:
Das neue XMP Plugin ermöglicht es, verschiedenste Metadaten aus Goobi in die XMP-Header von Bilddateien zu schreiben. Dabei können sowohl Metadaten auf Werk-Ebene als auch Metadaten auf Bild-Ebene (wie zum Beispiel Zugehörigkeit zu Strukturelementen) geschrieben werden.
Eine vollständige Dokumentation kann hier eingesehen werden:
Mit diesem Plugin kann auf Einzelseiten-Basis festgelegt werden, welche Bilder aus einem Vorgang mit welchem Schrifttyp zur OCR gesendet werden.
Die Dokumentationen der beiden Plugins finden sich in diesem Portal:
Durch die Zusammenlegung der beiden Verbunddatenbanken von GBV und SWB zur K10plus-Datenbank ergebenen sich Veränderungen. Mit diesen kann Goobi bereits umgehen. Dabei ist es unerheblich, ob die Abfrage über SRU oder die XML Schnittstelle gemacht wird, ob pica+ oder marcxml oder welche Datenbank genutzt wird. In der Datei goobi_opac.xml
müssen dazu folgende Katalog-Anbindungen konfiguriert werden:
Da sich auch die Belegung einiger Felder geändert hat, sind unter Umständen auch Anpassungen an den Regelsätzen notwendig. Je nach Format können diese auch umfangreicher sein. Bei pica scheint die gravierenste Änderung zu sein, dass die GND identifier
nun in subfield 7
stehen und alle PPNs
, die im neuen Katalog erstmalig erfasst wurden, in manchen Feldern einen Prefix KXP
bekommen haben.
Es wurden eine Reihe von statistischen Auswertungen erstellt, die den Fortschritt, Durchsatz oder den aktuellen Status der Vorgänge auswerten. Da diese Auswertungen zum Teil auf Nutzergruppen und sogar auch auf einzelne Nutzer herunter gebrochen werden können, können personenbezogene Aussagen getroffen werden. Aus diesem Grund befinden sich diese Statistiken in einem eigenständigen Plugin und werden lediglich auf Anfrage innerhalb von Goobi installiert.
Die Darstellung der Fortschrittsbalken für die Vorgänge sollte etwas informativer werden. Aus diesem Grund wurde Goobi so erweitert, dass nun ein Popup anzeigt wird, wenn die Maus über den Fortschrittsbalken bewegt wird. Darin wird von nun an visualisiert, welche konkreten Arbeitsschritte sich derzeit in dem Status befinden, über dem der Mauszeiger gerade positioniert ist.
Auf diese Weise ist nun ohne ein Aufklappen der Vorgänge oder ein Öffnen der Vorgangsdetails ersichtlich, welche Aufgaben bereits abgeschlossen sind, sich gerade in Bearbeitung befinden oder noch gesperrt sind.
Der commit hierzu ist hier zu sehen:
Entwicklungen und Neuigkeiten zu Goobi workflow
Innerhalb des METS-Editors von Goobi gab es noch einmal einige kleinere Verbesserungen für die Bedienbarkeit. So sind ab jetzt die Titelleisten der Boxen in der gesamten Breite anklickbar, um sie auf- oder zuzufahren. Zuvor war dies allein durch ein Klicken der Icons in der Titelleiste rechts außen möglich.
Bedingt durch diese Änderung wurde zugleich die Bedienlogik für das Hinzufügen von Personen und Metadaten an die anderen Bereiche von Goobi workflow angeglichen. Der bisherige Button innerhalb der Titelleiste der Boxen befindet sich von nun an innerhalb der Boxen im unteren rechten Bereich, ebenso wie in den anderen Bereichen zuvor.
Wenn über die von Goobi bereitgestellten Funktionen zum Eingriff in den Bildstapel Veränderungen an der Reihenfolge von Bildern vorgenommen werden, so wird von nun an die Anzeige des geöffneten Bildes korrekt neu geladen. Außerdem ist auch die Logik beim Durchblättern der Thumbnailseiten überarbeitet worden, so dass die Bedienung intuitiver ist.
Für die korrekte Rotation von 3D-Objekten innerhalb des METS-Editors wird nun der korrekte Mittelpunkt verwendet. Auf diese Weise soll verhindert werden, dass das Objekt während der Rotation den sichtbaren Bereich der Objektanzeige verlassen kann.
Innerhalb der Bearbeitung von Eigenschaften für Batches kam es zu einem Fehlverhalten, so dass die bearbeiteten Eigenschaften fälschlicherweise dupliziert wurden. Dieses Verhalten ist nun konfiguriert worden.
Aufgrund der zunehmenden Verbreitung von Goobi-to-go steigt auch der Bedarf nach Kompatibilität mit verschiedenen Betriebssystemen. Insbesondere das Betriebssystem Windows muss hierbei mit einigen Besonderheiten berücksichtigt werden. Aus diesem Grund sind einige Pfad-Angaben insbesondere für den Umgang mit Bildern innerhalb des METS-Editors überarbeitet worden und somit auf lange Sicht einfacher zu warten.
Alle bisher nicht in englische übersetzten Texte der Nutzeroberfläche sind vom englischen Übersetzer überprüft, übersetzt und eingespielt worden.
Entwicklungen und Neuigkeiten zu Goobi workflow
Wenn die Ergebnisse einer Volltexterkennung innerhalb des METS-Editors angezeigt wurden, so ist dieser bei längerem Text etwas abgekürzt dargestellt worden. Diese Darstellung wurde nun so angepasst, dass auch längere Texte problemlos angezeigt werden können, indem der zugehörige Container von nun an scrollbar ist.
Insbesondere bei der Kommunikation mit externen Programmen, die langlaufende Aufgaben übernehmen, kann Goobi bereits seit längerem mit verschiedenen Rückgabewerten der aufgerufenen Programme umgehen und den Workflow entsprechend behandeln. Die Verarbeitung von GoobiScript
, um solche externen Programme in Masse für mehrere Vorgänge gemeinsam aufzurufen, konnte mit diesen Rückgabewerten allerdings noch nicht korrekt umgehen und zeigte diese irrtümlicherweise als fehlerhafte Aufrufe an. Dies ist nun korrigiert, so dass auch die Rückgabewerte 98
und 99
als erfolgreich gewertet werden und somit innerhalb von GoobiScript nicht mehr als Fehler angezeigt werden.
Für eine bessere Wartbarkeit und auch für das bessere Zusammenspiel von Goobi workflow und Goobi viewer wurden verschiedene JavaScript-Dateien zum Umgang mit 3D-Objekten vereinheitlicht. Dies kommt insbesondere für der Wartbarkeit und der Einarbeitung weiterer Goobi-Entwickler zu Gute.
Innerhalb des GoobiScripts für den Export von Vorgängen zum Goobi viewer existierte ein kleiner Fehler, der dafür sorgte, dass OCR-Ergebnisse grundsätzlich exportiert wurden, auch wenn dies im Aufruf deaktiviert war. Dieses Verhalten ist nun korrigiert und noch einmal intensiv geprüft worden.
Bei der Generierung von Exporten wie z.B. Excel-Dateien kam es zu fehlerhaften Ergebnissen, wenn innerhalb der Suchanfrage eine Filterung nach dem Batch-Titel vorgenommen wurde. Diese Verhalten ist nun korrigiert.
Entwicklungen und Neuigkeiten zu Goobi workflow
Es wurde eine Suche in der in den Metadateneditor integriert. Auf diese Weise können die Normdatenbanken aus 40 Ländern durchsucht und deren Werte in die METS-Datei übernommen werden.
Die Suche in der VIAF kann für ein Metadatum aktiviert werden, indem die Konfigurationsdatei goobi_metadataDisplayRules.xml
angepasst und ein Block wie der folgende hinzugefügt wird:
Die beiden Buttons für das "vorspulen" und "zurückspulen" eines Prozesses unterhalb der Prozessliste wurden durch GoobiScripte ersetzt. Dies ermöglicht eine nebenläufige Ausführung in der GoobiScript Warteschlange. Ein weiterer Vorteil der Abarbeitung in der Warteschlange ist, dass Lastspitzen vermieden werden.
Durch diesen Fix ist es wieder möglich, verschiedene GoobiScripte miteinander zu kombinieren und eine Aufgabe die aus mehreren GoobiScripten-Aufrufen besteht, mit einem großen Befehl durchzuführen. Der Screenshot zeigt zum Beispiel das Hinzufügen eines neuen Script-Schritts.
Alle input-Felder im Metadateneditor erkennen nun automatisch je nach Inhalt die Textflussrichtung.
Bei der Benutzung von S3 als storage backend sind bisher Verbindungen zu lange offen gehalten worden. Diese Verbindungen werden nun korrekt geschlossen und ein Speicherleck verhindert.
Der neue Thumbnail-Ordner hat bei der Benutzung von Goobi unter Windows nicht korrekt funktioniert. Dieser Fehler wurde nun behoben und Goobi sowie GoobiToGo funktionieren nun wieder unter Windows.
Weitere Informationen zur Konfiguration des Catalogue Poller Plugins .
Es wurde ein neues Plugin für den Import von Zeitungsartikeln aus einem Endnote-Export erstellt. Eine Erklärung und Dokumentation ist zu finden.\
, dass innerhalb des Standard-Dashboards direkt aus der Startseite von Goobi Vorgänge angelegt werden können sollten. Dies wurde in einem ersten Entwurf so nun bereits implementiert und kann in Betrieb genommen werden. Es werden hierbei all diejenigen Produktionsvorlagen aufgelistet, für die der jeweilige Nutzer auch tatsächlich Zugriff hat.
Dank der Zusammenarbeit mit der ist Goobi workflow von nun an vollständig in hebräisch verfügbar.
Entwicklungen und Neuigkeiten zu Goobi workflow
Goobi workflow wurde nun dahingehend erweitert, dass neben den bereits verwendeten Verzeichnissen für die Masterdateien und die Derivate nun zusätzlich auch Thumbnails Verwendung finden können. Diese werden nach Fertigstellung der gesamten Implementierung anschließend innerhalb des Metadateneditors sowie auch innerhalb des Image-QA-Plugins für die Bildanzeige bzw. Thumbnailanzeige verwendet. Sind solche Thumbnails vorhanden, kann somit die Bildanzeige deutlich schneller erfolgen. Die Verzeichniskonvention für die Thumbnails läßt sich für einen beispielhaften Vorgang testitem_goobi_123
wie folgt aufzeigen:
Zugleich läßt sich so eine Bereinigung des Goobi workflow Systems noch besser bewerkstelligen. Masterdateien und Derivate können von nun an aus dem System gelöscht werden, um Platz einzusparen. Zugleich können so aber weiterhin sehr stark komprimierte Dateien für die workflow-interne Bildanzeige verwendet werden. Darüber hinaus wird somit zugleich sichergestellt, dass die Thumbnails nicht versehentlich für die Veröffentlichung zum Goobi viewer verwendet werden und dort die hochaufgelösten Bilder überschreiben. Ein solcher Workflow könnte in etwa so aufgebaut sein:
Zu Goobi workflow wurde eine interne Warteschlangenverarbeitung (message queue) hinzugefügt, über die rechenaufwändige Aufgaben abgewickelt werden können. Mit diesem neuen Mechanismus kann per Konfiguration festgelegt werden, wie viele Jobs gleichzeitig laufen können, wodurch ungewollte Lastspitzen auf dem Goobi-Server verhindert werden. Gleichzeitig ist es somit auch möglich, eine externe Queue zu nutzen. Dies ermöglicht es, von Goobi unabhängige Aufträge auf anderen Rechnern auszuführen und Rechenlast über mehrere Systeme zu verteilen. Die bisherigen Entwicklungen (commits) führen bisher nur diese neue Queue ein. Die Shell-Aufrufe sowie sämtliche Goobi-Scripte müssen künftig noch auf diesen neuen Mechanismus umgestellt werden.
https://github.com/intranda/goobi/commit/af99eebcc7cb0231a528e0434fda66a3da2797b0 https://github.com/intranda/goobi/commit/bf77ef0656eeec4a4a261aa29a5b8ac98455d3b9 https://github.com/intranda/goobi/commit/c051dd18b22163ec7a9b336bd98d5a059519d064
Der Sicherheitsdialog für die Ausführung von GoobiScript wurde vor nicht allzu langer Zeit ja bereits überarbeitet. Was allerdings in der Bedienung noch störte war, dass man nach Eingabe der zu berechnenden Summe stets noch mit der Maus auf den entsprechenden Button zum Start des GoobiScripts klicken musste.
Dies ist nun so überarbeitet worden, dass ein Drücken der Enter-Taste bereits die Prüfung der Berechnung vornimmt und das GoobiScript startet.
https://github.com/intranda/goobi/commit/27c2764aa5c904cdfae7b16fecde7c5ec5e1f318
Im Rahmen einer umfangreicheren Import-Export-Implementierung ist der erste wichtige Entwcklungsschritt für den Datenaustausch zwischen verschiedenen Goobi-Instanzen nun erfolgt. Dazu wurde ein neues GoobiScript exportDatabaseInformation
entwickelt, das für jeden gefilterten Vorgang ein sehr ausführliches Vorgangslog in das Vorgangsverzeichnis schreibt.
Beispielhaft sieht eine solche Log-Datei wie folgt aus:
Die Implementierung dieses Teils ist der erste Schritt, um Daten zwischen zwei Goobi-Instanzen auszutauschen. Mit Hilfe dieser Export-Datei werden die Workflows nun übertragbar in andere Systeme.
https://github.com/intranda/goobi/commit/82ccf81197b0940c6a05b5de42a5422d131dbbc7 https://github.com/intranda/goobi/commit/0d49071fcdc3f7886d9a414adea60eac7a6fab66 https://github.com/intranda/goobi/commit/d46d92445797d7c6d3f853f41f70346b80e461a6 https://github.com/intranda/goobi/commit/a3da5bb9858822e16e9aba28733c7ee74dd39247 https://github.com/intranda/goobi/commit/55c13e61c8d2f9069eec0c0111e1683026fa7e70
Die Arbeiten für den Export der Workflow-Informationen in eine XML-Dateien sind lediglich der erste Teil für den künftigen Goobi-to-Goobi Datenaustausch. Der zweite wesentliche Teil hierfür befindet sich noch in Entwicklung. Wir arbeiten dazu intensiv an einer Nutzeroberfläche, die es erlaubt, die Daten aus einem anderen Goobi nun in das eigene Goobi einzuspielen. Implementiert wird das ganze als Administrationsplugin. Die Entwicklung ist aber noch nicht soweit abgeschlossen, dass hier bereits ein Einblick gegeben werden kann. Dies erfolgt dann im kommenden Monat.
In der Vergangenheit gab es in den Logmeldungen von Goobi workflow des öfteren Fehlermeldungen mit einem Hinweis auf broken pipe
. Durch eine Änderung der Umleitung nach dem Einloggen konnten diese Fehlermeldungen nun reduziert werden.
https://github.com/intranda/goobi/commit/755412a889fdd583ec7318272c2f2dcb593dcf9a
Entwicklungen und Neuigkeiten zu Goobi workflow
Nachdem bereits mehrere Monate an der Unterstützung für die Verarbeitung und Darstellung von 3D-Objekten gearbeitet wurde, ist nun der erste Meilenstein erreicht. 3D-Objekte werden nun im gesamten Workflow unterstützt. Das betrifft sowohl das Hochladen von Dateien als auch die Anzeige innerhalb des Image-QA-Plugins sowie den METS-Editor und auch den Export zum Goobi viewer. Somit sind sowohl Goobi workflow als auch Goobi viewer ab sofort für 3D-Objekte einsetzbar.
https://github.com/intranda/goobi/commit/bfe18323b67fc7fb9fea159b38d661eb32fce518 https://github.com/intranda/goobi/commit/df51c1d6cba86160937cbaad3c55daa4eb53a1d9 https://github.com/intranda/goobi/commit/1a1d0ae7fca052835cf58dfc53dd6afbbf9d6652
Entwicklungen und Neuigkeiten zu Goobi workflow
Nach mehrmonatiger Entwicklung wurde die Unterstützung von S3 als Speichersystem für Goobi workflow nun integriert. Damit ist ein Betrieb von Goobi innerhalb der Amazon Cloud unter Nutzung der hierfür passenden Speicherstruktur nun möglich geworden.
https://github.com/intranda/goobi/commit/ab154014f8e03ecc34973eacdd78a0564afe52cc https://github.com/intranda/goobi/commit/2f14bd25911d1715004dc93d3a9b863af8e1b316 https://github.com/intranda/goobi/commit/b591884c3d234bffefe0a49aaac7e5b2f2119ec2 https://github.com/intranda/goobi/commit/2c42756520a3365f078c3e94e77817edca3426f7 https://github.com/intranda/goobi/commit/9ef20712319f8a7b1bdad3bcb5b0dc6d4aa764ab
Neben den bestehenden Bearbeitungsfeldern wie InputBox, SelectBox, MultiSelectBox, TextArea und einigen weiteren wurde im METS-Editor nun ein neuer Typ für die Bearbeitung von Metadaten ergänzt. Dieser dient zur Bearbeitung von RichText-Daten und erlaubt somit eine Erfassung von Texten samt Formatierungsvorgaben. Die Speicherung erfolgt dabei innerhalb der METS-Datei als HTML.
Die Konfiguration dieses neuen Feldtyps erfolgt innerhalb der Datei goobi_metadataDisplayRules.xml
beispielhaft so:
https://github.com/intranda/goobi/commit/365f575e3ffd2f4fb6657f51a067be01ff5d7802
Um im Falle der Nichterreichbarkeit der Gemeinsamen Nordatendatei der DNB weiterhin eine korrekte Funktion zu gewährleisten, erfolgt die Abfrage der GND nun nur noch mit maximal drei Versuchen. Im Falle einer fehlerhaften Kommunikation werden somit weitere Versuche und eine weitere Wartezeit für den Nutzer vermieden.
https://github.com/intranda/goobi/commit/5928186a80f72f632d48000d00ea9ff3b9817b36
Neben den bestehenden GoobiScripts gibt es nun mehrere neue Scripts für die Bearbeitung von Vorgangseigenschaften. Mit diesen neuen Aufrufen ist es nun für mehrere Vorgänge gemeinsam möglich, bestehende Eigenschaften zu ändern oder zu löschen sowie neue Eigenschaften hinzuzufügen.
https://github.com/intranda/goobi/commit/e75188caac225af59470f2943e8dfd67b84a6f56
Innerhalb des METS-Editors schlägt Goobi den Nutzer für mehrere Felder Inhalte vor. Diese Vorschlagliste wurde nun optisch auf eine bestimmte Höhe begrenzt, um nun auch bei sehr vielen Vorschlägen noch immer gut bedienbar zu sein.
https://github.com/intranda/goobi/commit/73bd0950899f177ca0ebd9ddb25e64b8f52426b0 https://github.com/intranda/goobi/commit/6cbc17a50807a2f363f2da9dca3ae6c11f16a912
Entwicklungen und Neuigkeiten zu Goobi workflow
Der Metadaten-Editor wurde für eine bessere Bildanzeige noch einmal weiter überarbeitet. Insbesondere für die ideale Anzeige unter Berücksichtigung von Bildhöhe und Bildbreite erfolgte noch einmal eine Optimierung. Unter anderem ist hierbei auch der Zoom sowie eine prozentuale Anzeige der Bildgröße ermöglicht worden.
https://github.com/intranda/goobi/commit/4e9c2723cb7d1e336c6ae56ba2c34b5026cb378d https://github.com/intranda/goobi/commit/138e25e56ceed14c89cee494d98032afe28e954a https://github.com/intranda/goobi/commit/625a7d7984333880271484e999f2273263d7dacd https://github.com/intranda/goobi/commit/ebfa7fa3ef743f4546a21b8551847c4ef2a96793
Für die REST-API
wurde eine komplett neue und deutlich flexiblere Authentifizierungs-Konfiguration geschaffen. Diese erlaubt von nun an das Sperren und Freigeben einzelner HTTP-Methoden (GET
, POST
etc.)
Eine Beispiel-Konfiguration, mit einer regular expression
für den Pfad und die zugehörigen Netzmasken ist hier zu sehen. Sie erlaubt ausschließlich PUT
Requests gegen jeden Pfad, der zu dem regulären Ausdruck passt.
https://github.com/intranda/goobi/commit/b85f2af5ab550220ebadea1cda0563bba57a3398
Die neue Konfiguration erlaubt auch das einfache Zulassen von cross-origin
Anfragen aus dem Browser. Die folgende Beispiel-Konfiguration zeigt die Freischaltung von CORS
-Anfragen von der Domain https://intranda.com
mit den Methoden GET
und POST
.
Dabei sind die eigentlichen GET
und POST
Aufrufe ohne IP- und Token-Beschränkungen erlaubt.
https://github.com/intranda/goobi/commit/eb53974280cfd2d5c1d6ae42c0944e0d44a0a1a8 https://github.com/intranda/goobi/commit/85413db9a024f55cbec47f704257297b51eab413
Das Plugin für die Qualitätskontrolle von Digitalisaten wurde dahingehend überarbeitet, dass nun neben den Bildern zusätzlich ebenfalls der Volltext eingeblendet werden kann, sofern dieser bereits vorliegt. Hierfür muss der Workflow natürlich so konfiguriert sein, dass eine Volltexterkennung bereits im Vorfeld stattgefunden haben muss.
https://github.com/intranda/goobi-plugin-step-imageqa/commit/847076ebd0728e7e44f037c83180e36c1ec193e2 https://github.com/intranda/goobi-plugin-step-imageqa/commit/f23ed047d1d81e6b54269ffb785ebae952ec7538 https://github.com/intranda/goobi-plugin-step-imageqa/commit/dd124f738e9143fb34d0e4750307ff162812c0e2 https://github.com/intranda/goobi-plugin-step-imageqa/commit/705bb11d91d996fd7552208d18b458587bd4372e
Entwicklungen und Neuigkeiten zu Goobi workflow
Goobi wurde dahingehend erweitert, dass Nutzer nun Einfluss auf die optische Gestaltung nehmen können. Mittels kleinerer CSS-Anweisungen kann so nun jeder Nutzer für seine eigene Oberfläche Farben, Schriften, Abstände und vieles mehr anpassen.
Die hier gezeigte Beispielkonfiguration wird innerhalb der Benutzereinstellungen innerhalb des Hilfetextes angezeigt und resultiert in einer optischen Erscheinung wie folgt:
https://github.com/intranda/goobi/commit/fb3bf47b208ebd8a57e4cb4599ec93f2b3f1a32c https://github.com/intranda/goobi/commit/48354ee6ea009aff7c35fd6317a97e7e17626cfa
Zusätzlich zu denjenigen Tabellenspalten, die Goobi üblicherweise anzeigt, sind für jeden Nutzer nun weitere Spalten einblendbar. Dies kann jeder Nutzer für sich innerhalb der eigenen Nutzerkonfiguration selbst festlegen.
Die einmal dort festgelegten individuellen Spalten werden anschließend für den Nutzer innerhalb der Vorgangsauflistung verwendet.
Und auch innerhalb der Auflistung der eigenen Aufgaben findet diese Einstellung dann Anwendung.
https://github.com/intranda/goobi/commit/5a62de41c745c17d060161b8ef4201a32946593d https://github.com/intranda/goobi/commit/718a116f0989a204ba011cd8ba52dac59663908f
Durch Optimierung der Datenbank-Operationen und mittels einer massiven Reduzierung der Prüfungen innerhalb Dateisystem konnte die allgemeine Geschwindigkeit der Goobi Nutzeroberfläche drastisch gesteigert werden. Dies ist insbesondere innerhalb der Aufgabenliste sowie auch der Vorgangsliste bemerkbar.
https://github.com/intranda/goobi/commit/b730873e5e6dbacb50a3173c278f12932eec1d94 https://github.com/intranda/goobi/commit/9da399a0c5eeb3ab5540a585022579ff8fb94175 https://github.com/intranda/goobi/commit/82626f5900894c35d7e6ac4b36afff13734c4b9c
Beim Einlesen der Daten für den Metadateneditor wurden einige verschachtelte Schleifen mit Dateisystemoperationen entfernt. Dadurch ist das Öffnen des Metadateneditors vor allem bei großen Werken wesentlich schneller geworden.
https://github.com/intranda/goobi/commit/edd49559719ff7c335c131e1952f306746b74a08
Das Drucken des Laufzettels ist nun nicht nur nach dem Erzeugen von Vorgängen möglich, sondern kann nun als eigener Schritt erfolgen. Dazu muss in den Schrittedetails die Checkbox Laufzettel drucken
aktiviert werden.
In der angenommenen Aufgabe steht damit nun ein zusätzlicher Button zur Erzeugung des Laufzettels zur Verfügung.
https://github.com/intranda/goobi/commit/03e38a7fa23025e2d0727b703588a7799e34bc06 https://github.com/intranda/goobi/commit/7547ef2c301740497e72cb94c8b9807caf7e3231
Der METS-Editor wurde dahingehend überarbeitet, dass die Bildanzeige nun den zur Verfügung stehenden Platz optimal ausnutzt. Dazu wurde der gesamte Aufbau des METS-Editors so angepasst, dass alle Elemente responsive angezeigt werden. Dies erlaubt neben der besseren Anzeige des Bildcontainers zugleich ebenso, dass eine Bedienung auf mobilen Endgeräten mit kleineren Bildschirmgrößen von nun an ebenso möglich ist.
https://github.com/intranda/goobi/commit/138e25e56ceed14c89cee494d98032afe28e954a https://github.com/intranda/goobi/commit/71ff70b42029d7058d9b55109ba9bef9a820c1a6 https://github.com/intranda/goobi/commit/625a7d7984333880271484e999f2273263d7dacd
Entwicklungen und Neuigkeiten zu Goobi workflow
Nach der Durchführung umfangreicher Tests wurde die interne Verwaltung von Programmbibliotheken sowie das Zusammenspiel mit den derzeit 170 Plugins auf Maven umgestellt. Dies erlaubt eine einfachere Nutzung wiederholt benötigter Funktionalitäten über eingebundene Module und Libraries. Wie auch in der Vergangenheit erlaubt die Umstellung von Ant zu Maven auch weiterhin, dass die in einem Applikationsserver wie Apache Tomcat installierbare *.war
Datei sowie auch eine *.jar
Datei kompiliert werden können.
Mit den innerhalb von Maven-Projekten vorliegenden pom.xml ist es von nun an auch für alle Interessierten relativ einfach möglich, sich selbst ein Goobi aus Github herunterzuladen und zu kompilieren oder selbst zu entwickeln mit Kommandos wie:
Mittels dieser Aufrufe wird der Quellcode von Goobi bereits von Github heruntergeladen und anschließend kompiliert. Die innerhalb des Verzeichnisses module-war/target/
vorhandene Datei goobi.war
kann anschließend im Applikationsserver installiert werden.
https://github.com/intranda/goobi/commit/12558bc5279245ca9728558e3315edb59ee2a471 https://github.com/intranda/goobi/commit/dc0c53a55dc7c89ca3e23191013f6dcfd6eb8fc7 https://github.com/intranda/goobi/commit/38e26c12a78eb6577e1fb8dbe152926aa039403b https://github.com/intranda/goobi/commit/6f8467a0384249c4a7762ff15bc596ba92be8ecd https://github.com/intranda/goobi/commit/7b9aea59178caef8524b1b02a47031c4193fbfee https://github.com/intranda/goobi/commit/64a54a6e7d08f358e9c598ae8dcbf530c8802bf1
Goobi wurde für einen neuen Schritt-Typ erweitert: den HTTP-Schritt
. Hier können automatisiert GET
, POST
und PUT requests
ausgeführt werden.
Bei erfolgreichem Aufruf mit zurückgegebenem Statuscode 20x
wird der Arbeitsschritt (wenn so konfiguriert) geschlossen. Eventuell auftretende Fehlermeldungen werden innerhalb des Vorgangslogs gespeichert und können so auch im Nachhinein noch nachvollzogen werden.
Der folgende Screenshot zeigt eine beispielhafte Konfiguration für den Aufruf des TaskManager OCR-Plugins:
Die hier verwendete Konfiguration verwendet POST
und sendet diese and die Adresse http://localhost:8080/itm/service
:
https://github.com/intranda/goobi/commit/0a16484b60b3939ba4a79d66b630db5b40537cf6 https://github.com/intranda/goobi/commit/b5be4c238e7ff1da81ac78ecd52fc45e6d0669db
Goobi workflow unterstützt nun die Möglichkeit, JSON Web Tokens (JWT) zu erstellen, die den Zugriff auf die API für eine bestimmte Zeit erlauben. Diese JWTs sind als Variable innerhalb von HTTP-Aufrufen vorgesehen. Bisher existiert bereits das JWT {changesteptoken}
, das es erlaubt, einen bestimmten Arbeitsschritt zu ändern.
https://github.com/intranda/goobi/commit/d17380c341ebb4dbe1112f3e5834aa7232290a51
Entwicklungen und Neuigkeiten zu Goobi workflow
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:
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.
https://github.com/intranda/goobi/commit/b330b9b481939a48cdaca470d353ae2507beb753 https://github.com/intranda/goobi/commit/d61f25f75fd4398e4c3843232500ce8bf2be763c https://github.com/intranda/goobi/commit/24443bafcef10212d99c4ad33cfa23e11ed03793 https://github.com/intranda/goobi/commit/cf9b0993f64cf807e9c039657008425c207ad5cb
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.
https://github.com/intranda/goobi/commit/152e3787d5dd9651b5e9f65a0be8cb454e0b0c54 https://github.com/intranda/goobi/commit/8c8d6e48660e78058751fa3da688453024c08ba5
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:
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.
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:
https://docs.intranda.com/goobi-workflow-plugins-de/opac-plugins/opac-ead
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:
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.
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.
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.
https://github.com/intranda/goobi/commit/0314dfccedf39d3d5d082c66562d1af3a62d47a4 https://github.com/intranda/goobi/commit/6218226341bdce689b178fdb3aef0bdf297f9b59 https://github.com/intranda/goobi/commit/2a278d03a20c3ce22f494b22fbab74a6ef67c36e https://github.com/intranda/goobi/commit/0c50c0401606eeadfc9b3ab33fa55d29b16c7346 https://github.com/intranda/goobi/commit/68750e1858ec0a51353110e31c863db02be2291d
Entwicklungen und Neuigkeiten zu Goobi workflow
Zur Gewährleistung der Möglichkeit weitere individuelle Statistiken erzeugen zu können, wird ab jetzt für die einzelnen Ordner eines jeden Vorgangs auch der jeweilige Speicherplatz mit innerhalb der Datenbank gecacht. Dies vermeidet das wiederholte Abfragen von Speichergrößen aus dem Dateisystem und gewährleistet so eine bessere Unterstützung von Speichersystem wie S3.
https://github.com/intranda/goobi/commit/90f694e5e41ee7c3eb4c86e7c7027c3461c3f43d
Bisher konnten Batches lediglich einen Identifier haben. Mit den neuen Entwicklungen können nun zusätzlich sprechende und suchbare Titel vergeben werden.
Diese Titel werden somit auch innerhalb der Spalte für Batches sowohl in den Vorgängen als auch in den eigenen Aufgaben mit aufgeführt und können über den Suchfilter batch:
gefiltert werden.
Sind für Batches neben einem Titel ausserdem Datumsangaben für Start und Ende der Laufzeit eingetragen, so werden diese Batches innerhalb des Dashboards von Goobi automatisch abhängig von Ihrer Laufzeit und Ihrem tatsächlichen Fortschritt visualisiert.
https://github.com/intranda/goobi/commit/1854d76fbfb8c6b268a8697c87e6fd1bb82c9bf4 https://github.com/intranda/goobi/commit/fb00653ddf3474a5a09ee7a282965d0bdf6efbc0 https://github.com/intranda/goobi/commit/35c181677742380a4f195088379a0503d91b4d6e
Bisher gehörte eine Produktionsvorlage stets zu einem einzigen Projekt. Dadurch mussten häufig die gleichen Produktionsvorlagen mehrfach für jedes Projekt existieren, auch wenn sie inhaltlich identisch aufgebaut waren. Mit der neuen Änderung innerhalb der Nutzeroberfläche ist dies nun nicht mehr notwendig. Innerhalb der Schaltfläche zum Verwenden einer Produktionsvorlage besteht nun die Möglichkeit, die gleiche Produktionsvorlage auch für ein anderes Projekt zu verwenden. Aufgelistet werden dabei ausschließlich diejenigen Projekte, für die der aktuelle Nutzer eine Berechtigung besitzt.
https://github.com/intranda/goobi/commit/4437ceab503cee708b7a4e40497bd364b86d3242 https://github.com/intranda/goobi/commit/c9edc5db6ba0ef810c4f49e0394577e527e8abd8 https://github.com/intranda/goobi/commit/5f99d3810c940ad1f38b568eaecdcc4514b197dd
Entwicklungen und Neuigkeiten zu Goobi workflow
Es gibt nun mehrere neue GoobiScripts für die Manipulation von Metadaten innerhalb von METS-Dateien. Dieses GoobiScript kann wie alle anderen für mehrere Vorgänge gleichzeitig aufgerufen und ausgeführt werden. So ist es unter anderem möglich bestehende Metadaten in Masse zu ändern, zu ergänzen oder zu löschen.
Die neuen GoobiScripts sehen beispielhaft wie folgt aus:
https://github.com/intranda/goobi/commit/315c0cf6d0169ead27db6358865434c8ab2dcd68 https://github.com/intranda/goobi/commit/9a67111071953a77b33cb983f856f13fc5a74b8c
Um einen Vorgang im Nachhinein zu einem anderen Workflow zu konfigurieren besteht nun die Möglichkeit, dies über einen Button direkt auszuführen, ohne dass ein Vorgang manuell Schritt für Schritt geändert werden muss. Auch muss der Vorgang nicht neu angelegt werden. Stattdessen wird, sofern der Nutzer über die entsprechenden Rechte verfügt, der neu zu verwendende Workflow einfach ausgewählt. Alle bereits ausgeführten Arbeitsschritte werden in ihrem Status in dem neuen Workflow auf den gleichen Status gesetzt, sofern diese dort ebenfalls mit gleichem Namen vertreten sind.
Zu beachten ist hierbei, dass der Nutzer in einer Benutzergruppe Mitglied sein muss, die über das Recht Produktionsvorlage nachträglich ändern
verfügt. Fehlt dieses Recht, muss es einer der Benutzergruppen zunächst hinzugefügt werden.
https://github.com/intranda/goobi/commit/1981b70282afbc05ca233a41f3f56b182d70e826 https://github.com/intranda/goobi/commit/f200bf9f8357d270f2c6698ec08fafe077a1d587 https://github.com/intranda/goobi/commit/9ac738a64d1605d4606b462410751689d7c7e8ec
Um den Workflow gleich für mehrere Vorgänge gemeinsam ändern zu können, wurde ein neues GoobiScript eingeführt. Der Aufruf dieses GoobiScripts lautet wie folgt:
https://github.com/intranda/goobi/commit/40297d1b05c8b31197c4830a5d03522c0e008609
Die Bildanzeige innerhalb des METS-Editors wurde dahingehend erweitert, dass ein Zoom nun mittels Zoom-Slider möglich ist. Zugleich wird nun außerdem die aktuelle Zoomstufe als prozentualer Wert neben dem Zoom-Slider mit angezeigt. Darüber hinaus ist der Prozentwert für den Zoom auch mittels Tastatur eingebbar, um direkt die gewünschte Vergrößerung zu erhalten.
https://github.com/intranda/goobi/commit/ad136df09f33b59adf92b82caba8d4523666052f https://github.com/intranda/goobi/commit/e669135fc50282099def7e9d11b8106b7853229d