Nur diese SeiteAlle Seiten
Bereitgestellt von GitBook
1 von 92

Deutsch

Loading...

2025

Loading...

Loading...

Loading...

2024

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

2023

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

2022

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

2021

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

2020

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

2019

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

2018

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Goobi workflow Digests

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:

Dezember

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

Mit dieser letzten Version des Jahres veröffentlichen wir voraussichtlich das letzte Goobi workflow Release, das noch unter Java 11 und Tomcat 9 betrieben werden kann. Ab dem kommenden Monat werden wir mit der Umstellung auf Java 21 und Tomcat 10 beginnen.

Achtung: Bitte beachten Sie, dass für die kommenden Releases einmalig ein größerer Updateaufwand erforderlich sein wird.

Core

Vorgangseigenschaften mit Vokabularinhalten

Vorgangseigenschaften gibt es in Goobi bereits seit langem. Sie werden oft dazu verwendet, um Informationen während des Workflows zu erfassen und auszuwerten, die nicht zum den Metadaten des Digitalisats gehören. Typische Beispiele hierfür sind Vorgaben für Arbeitsweisen, Scripte oder Statistiken (z.B. Öffnungswinkel, Leserichtung, Glasplattennutzung).

Bisher konnten die Eigenschaften in der Konfigurationsdatei goobi_processProperties.xml für veschiedene Inhalte typisiert werden, um beispielsweise Freitextfelder, Checkboxen oder Auswahllisten zu definieren, aus denen die Nutzer Informationen auswählen sollen.

Neu ist nun, dass solche Informationen auch aus Vokabularen kommen können. Aus sie werden in der gleichen Konfigurationsdatei festgelegt.

Damit stehen die Eigenschaften nun in der geänderten Oberfläche mit denjenigen Werten zur Verfügung, die dort als Hauptwert angegeben wurden.

Ein Klick auf einen solchen Wert öffnet ein Fenster, dass alle Details des Vokabulareintrags zeigt.

Ebenso steht natürlich für die Bearbeitung von Eigenschaften eine Erfassungsmaske zur Vefügung, die die Werte aus den Vokabularen auflistet.

Erweiterung für den Umgang mit hierarchischen Vokabularen

Die großen Entwicklungsarbeiten am neuen Vokabularsystem fanden ja bereits in den letzten Monaten statt. In dem Kontext wurde auch erlaubt, dass Vokabulare hierarchisch aufgebaut werden können.

Was bisher allerdings noch fehlte war die Möglichkeit, dass Vokabularinhalte auch innnerhalb von Dropdownlisten für Eigenschaften vernünftig auswählbar sein sollten. Dies ist mit diesem Update nun möglich.

Weitere Vorarbeiten für Goobi-to-go Umstellung

Wie auf den Goobi-Tagen bereits angekündigt arbeiten wir gerade intensiv an einer vollständigen Überarbeiten von Goobi-to-go. Dieses wird auf der Basis von Docker implementiert und getestet gerade und sieht bereits vielversprechend aus. In diesem Monat haben wir eigens hierfür den Start von Goobi workflow dahingehend angepasst, dass dieses im Falle einer langsameren Datenbankanbindung einer frisch gestarteten Datenbank robuster ist. Das spielt unsere Einschätzung nach ausschließlich für Goobi-to-go auf Docker als Infrastruktur eine größere Rolle.

Plugins

Migration von Visual-Library zu Goobi

Immer wieder kommen Nutzer der Software Visual Library auf uns zu und planen einen Migration ihrer Daten nach Goobi. Hierfür haben wir nun ein Plugin entwickelt, dass einen solchen Migrationsprozess sehr stark vereinfacht. Die Datenübernahme aus einer laufenden VL-Instanz kann hierbei in gleicher Form erfolgen, wie eine Katalogabfrage. Goobi startet daraufhin einen Workflow, der mit dem Migrationsplugin die Daten über die OAI-Schnittstelle abfragt und neben Paginierung, Strukturdaten und Metadaten auch die Bilder und Volltexte autoamtisch mit nach Goobi migriert. Ein solcher Workflow sieht beispielhaft wie folgt aus:

Im Anschluß an diese Migration stehen die Werke wie gewohnt in Goobi zur Verfügung und können dort beispielsweise auch im Metadateneditor bearbeitet werden:

Und auch ein Export in andere Systeme wie Langzeitarchivierung, Repositories und Kataloge sowie eine Veröffentlichung im Goobi viewer oder in anderen Systemen ist so wie gewohnt möglich:

Zur Veranschaulichung wie ein solcher Migrationsprozess für einzelne Werke verschiedener Visual-Library-Instanzen ablaufen kann, steht hier ein Screencast zur Verfügung:

Weitere Informationen zu dem Plugin für die Migration von Visual-Library-Inhalten zu Goobi finden sich in der Dokumentation hier:

Anpassungen am Transkribus-Plugin

Für die Durchführung von OCR oder HCR eigenet sich Transkribus sehr gut und ist mit dem bestehenden Plugin auch sehr bequem mittels Goobi automatisierbar. Insbesondere bei der Verarbeitung wirklich großer Listen von Vorgängen mit deutlich mehr als 100.000 Seiten kam es in der Vergangenheit öfter zu Verbindungsabbrechen und damit aufwendigen manuellen Eingriffen. Diese sind nun allerdings nicht mehr notwendig. Eine Überarbeitung der Anbindung von Transkribus mit einer automatischen Wiederholung von Verbindungsversuchen im Falle der Nichterreichbarkeit von Transkribus resultiert nun in einer deutlich problemfreieren Massenverarbeitung von OCR. Gleichzeitig wurde in dem Kontext auch die Verarbeitung der Vorgänge so angepasst, dass diese nun jeweils zusammengehörig verarbeitet werden und damit der die Übersicht über den Fortschritt deutlich verbessert wurde. Als Nebeneffekt ergab sich dabei zugleich ein enorm gesteigerter Seitendurchsatz.

Mehr Informationen zur OCR-Durchführung mittels Transkribus findet sich in der Dokumentation hier:

Erweiterung der Valildierunsmethoden für Bilddateien

Das Tif-Validierungsplugin wurde etwas erweitert, um weitere Validierungen auf der Basis von JHove durchzuführen. Hierbei wurden die Vergleichsmöglichkeiten so erweitert, das die erwarteten Werte nun noch flexibler definiert werden können. Auch wurden die Beispiele für die Anwendung dieser Vergleichsmöglichkeiten in der Referenzkonfiguration und auch in der Dokumentation deutlich erweitert, so dass eine Erstinstallation des Plugins zusammen mit der Dokuemtation nun deutlich einfacher und flexibler sein dürfte. Die aktuallisierte Dokumentation des Plugins findet sich hier:

Anpassung des Zeitungsexports für das DDB-Zeitungsprofil

Goobi workflow und Goobi viewer gehen bereits sehr elegant mit Zeitungsausgaben um und bieten z.B. mit Kalendern, Metadaten und Strukturdaten verschiedene Möglichkeiten, damit Nutzer einfach zu den gewünschten Zeitungen navigieren können. Für das Einspielen von Zeitungen in deas Zeitungsportal der Deutschen Digitalen Bibliothek hingegen ist eine besondere Aufarbeitung der Metadaten notwendig, so dass die Zeitung, der Jahrgang und die einzelnen Ausgaben als Zwischenebenen anders abgebildet werden. Die hierbei notwendigen Konventionen wurden nun innerhalb eines besonderen Export-Plugins berücksichtigt, so dass die Übergabe an die DDB nun noch einfache möglich ist.

Codeanalyse

Versionsnummer

Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 24.12.4. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml entsprechend folgende Abhängigkeit eingetragen werden:

<dependency>
    <groupId>io.goobi.workflow</groupId>
    <artifactId>workflow-core</artifactId>
    <version>24.12.4</version>
    <classifier>classes</classifier>
</dependency>

Der folgende Screenshot zeigt die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .

März
Februar
Januar
Dezember
November
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-migrate-visual-library-to-goobi
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-transkribus
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-tif-validation
Projektseite

März

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

Wie erwartet hat uns die Umstellung auf Java 21 doch noch einiges an Nacharbeiten gebracht. Die Umstellungen bezogen sich sowohl auf die Infrastruktur als auch auf die Nutzeroberfläche, wo wir parallel die Bootstrap 5 Umstellung abgeschlossen haben. Außerdem ist auch im Bereich von Goobi-to-go eine große Neuerung zu vermelden.

Core

Java 21 - Nacharbeiten hier und da

Wir haben es doch irgendwie kommen sehen: Es kamen doch noch einige Nacharbeiten auf uns zu, was die Großumstellung auf Java 21 betrifft. Insbesondere diejenigen Plugins, die auf der Infrastruktur Riot basierten, benötigten doch noch einmal ein paar kleinere Änderungen. Insgesamt waren diese Änderungen aber absolut überschaubar, so dass die neue Infrastruktur auf Basis von Java 21 und Tomcat 10 bereits bei einigen Goobi-Anwendern in den Produktivbetrieb gehen konnte.

Bootstrap 5 - Nacharbeiten für die Umstellung des Metadateneditors

Auch bei dem Metadateneditor gab es noch einmal einige kleinere Nacharbeiten. Wir hatten ihn mit dem letzten Release ja bereits auf Bootstrap 5 umgestellt, so dass einige Bereiche des Metadateneditor ein kleines bisschen anders aussahen. Einige kleinere Optimierungen insbesondere im Hinblick auf Usability sind uns aber dennoch aufgefallen, die noch behoben werden sollten. So wurden beispielsweise Validierungsmeldungen, die direkt neben den Feldern angezeigt werden sollten, noch einmal leicht umgestyled:

Und auch das Popover, das erscheint, wenn man den Mauszeiger im linken Bereich über die Strukturelemente bewegt, wurden bezüglich der Validierungsmeldungen angepasst:

Die scheinbar kaum bekannte Funktionalität für die Lesezeichenfunktionalität wurde in diesem Zusammenhang auch auf den aktuellen Stand gebracht:

Und auch der Status der einzelnen Boxen, die man als Nutzer im Bereich der Strukturierung und bei den Metadaten auf- und zuklappen kann, wurde so erweitert, dass dieser nun bei Seitenwechseln wieder erhalten bleibt und so unnötige Klicks vermieden werden.

Code Cleanup von 200.000 Zeilen

Da aus unserer Sicht die Umstellungen auf Bootstrap 5 abgeschlossen sind, haben wir uns in diesem Monat dazu entschlossen, nun auch einige der Layout-Altlasten zu entfernen. Dies betrifft insbesondere HTML-Komponenten, JavaScript-Dateien und Styling-Angaben, die noch für die Verwendung von Bootstrap 3 und Bootstrap 4 an verschiedensten Stellen vorhanden waren und die verhindern sollten, dass Bereiche, die wir eventuell versehentlich noch nicht umgestellt haben könnten, weiterhin gut aussehen und bedienbar bleiben. Aus unserer Sicht, sind diese Dateien nun gar nicht mehr in Verwendung und wurden daher gelöscht. Damit wurde Goobi workflow schlagartig um ca. 200.000 Zeilen von redundantem Quellcode kleiner. Für uns als Entwickler fühlt sich das gut an. :)

Französisch als Sprache eingeführt

Die Verbreitung von Goobi worklow steigt scheinbar auch weiterhin. Dabei kommen immer mal wieder Wünsche nach zusätzlich zu unterstützenden Sprachen auf. In diesem Monat haben wir daher französisch in die Liste der unterstützten Sprachen aufgenommen. Für uns als Nicht-Muttersprachler heisst dies, dass wir hierfür die Infrastruktur bereitstellen, dass es überhaupt einen Sprachumschalter gibt, der Französisch jetzt als Sprache anbietet. Außerdem haben wir auf der Basis von automatischer Übersetzung auch dafür gesorgt, dass für alle Beschriftungen, die in Goobi workflow z.B. für Buttons oder Felder angezeigt werden, nun französische Übersetzungen vorliegen. Diese sind allerdings bisher noch nicht durch eine manuelle Korrekturlesung eines Muttersprachlers geprüft worden. Gern stellen wir engagierten Interessenten die Sprachdateien für jede der bereits verfügbaren Sprachen zur Verfügung, um deren Übersetzungen komplettieren oder überarbeiten zu können.

Plugins

Bedingungen für die automatische Aktualisierung von Metadatenfeldern

Das Plugin goobi-plugin-step-metadata-update-field existiert bereits seit einiger Zeit und dient dazu, dass Metadatenfelder automatisiert gefüllt werden können, u.a. aus Inhalten anderer Metadatenfelder und auch generierten Informationen.

Dieses Plugin wurde nun erweitert, um diese Erzeugung von Metadaten und damit die Aktualisierung der METS-Datei des entsprechenden Vorgangs nur dann dann ausführen zu lassen, wenn eine konfigurierte Bedingung erfüllt ist. Eine beispielhafte Konfiguration hierfür sieht so aus:

<config_plugin>
    <config>
		<project>*</project>
		<step>*</step>
        
        <update>
			<field>TitleDocMain</field>
			<element>Monograph</element>
			<forceUpdate>true</forceUpdate>
            <condition field="PublicationYear" value="\d[4}]" />
    		<content type="variable">{meta.CatalogIDDigital}</content>
			<content type="static">_</content>
            <content type="metadata">PublicationYear</content>
		</update>

	</config>
</config_plugin>

Genauere Informationen finden sich innerhalb der Dokumentation des Plugins, in der die Konfigurierbarkeit der Bedingungen ebenfalls erläutert werden:

Neues Plugin für die METS-Datei-Aufbereitung

In einigen Anwendungsfällen besteht die Notwendigkeit, dass die METS-Datei eines Vorgangs automatisch exportiert wird, ohne dass sie zuvor von einem Nutzer im Metadateneditor manuell bearbeitet wurde. In einem solchen Fall ist es notwendig, dass die METS-Datei üblicherweise etwas angereichert werden muss. Insbesondere geht es dabei darum, dass die zugehörigen Mediendateien (z.B. die Bilder) der METS-Datei zumindest auf oberster Ebene zugewiesen werden. Eventuell ist es hierbei ebenso sinnvoll, gleich automatisch eine Paginierung verschiedenen Typs zuzuweisen oder auch andere Metadaten automatisiert ergänzen zu lassen. Für solche Anwendungsfälle haben wir nun ein neues Plugin mit dem Namen goobi-plugin-step-mets-enhancer entwickelt.

Die ausführliche Dokumentation findet sich wie gehabt auf unserer Dokumentationsplattform hier:

Der Quelltext des Plugins sowie die installierbare Fassung des Plugins finden sich hier:

Umstellung des Rich-Text-Editors für Transkriptionen

Mit dem Plugin goobi-plugin-step-transcription steht bereits seit längerem eine Möglichkeit zur Verfügung relativ einfach Transkriptionen von Bildern zu erzeugen und sie dabei gleich mit Formatanweisungen zu kombinieren. Bisher haben wir hierzu den Editor TinyMCE verwendet. Aus verschiedenen Gründen mussten wir hier allerdings eine größere Umstellung vornehmen, um auch die Weiterentwicklung des Goobi-Plugins zu gewährleisten. Hierzu haben wir uns nun für die JavaScript-Bibliothek Quill entschieden.

Der neue Editor verhält sich annähernd so, wie der bisherige. Das Update sollte also für Nutzer keine negative Auswirking haben und wie gehabt funtionieren.

Die Dokumentation des Plugins findet sich hier auf unserer Dokumentationsplattform:

Das installierbare Plugin findet sich hier:

Neue Goobi-to-go Infrastruktur

Nach langer Bearbeitungszeit haben wir unsere Infrastruktur für Goobi-to-go ungestellt. Erste Tests bei Anwendern finden bereits statt. Neu ist hierbei insbesondere, dass die neue Goobi-to-go-Infrastruktur auf Docker basiert und jetzt deutlich flexibler ist als bisher. Sie läuft auch endlich wieder unter allen gängigen Betriebssystemen.

Noch haben wir die neue Fassung von Goobi-to-go nicht eigenständig veröffentlicht. Wer Lust auf die Durchführung von Tests hat, kann sich gern jederzeit bei uns melden. Wir stellen dies dann gern zur Verfügung.

Codeanalyse

Versionsnummer

Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 25.03. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml entsprechend folgende Abhängigkeit eingetragen werden:

<dependency>
    <groupId>io.goobi.workflow</groupId>
    <artifactId>workflow-core</artifactId>
    <version>25.03</version>
    <classifier>classes</classifier>
</dependency>

Oktober

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

Das Release dieses Monats kommt mit etwas Verspätung und ist entsprechend umfangreich. Wir beschränken und hier einmal auf die wichtigsten Punkte dieses Monats.

Core

Zugriffsbeschränkungen von Metadaten

Die Programmbibliothek UGH, die als Teil von Goobi dafür zuständig ist, dass Metadaten, Strukturdaten, Paginierung, Katalogmapping, Exporte und vieles mehr funkionieren, wurde dahingehend erweitert, dass einzelne Metadaten jetzt mit Zugriffsbeschränkungen versehen werden können. Innerhalb des Regelsatzes muss hierbei einfach ein weiteres Attribut allowAccessRestriction zu dem gewünschten Metadatum hinzugefügt werden.

Nachdem diese Konfiguration in dem Regelsatz erfolgt ist, zeigt der Metadateneditor in seiner Oberfläche vor den jeweiligen Metadaten ein kleines Icon an, dass das Aktivieren der Zugriffsbeschränkung erlaubt.

Wenn Werke mit solchen festgelegten Zugriffsbeschränkungen versehen wurden und die exportierte METS-Datei somit über die Information der Zugriffsbeschränkung verfügt, kann ein Zielsystem wie beispielsweise der Goobi viewer davon Gebrauch machen. Im Falle des Goobi viewers wird die METS-Datei beispielsweise für den Zugriff durch Nutzer jetzt jeweils auf solche Beschränkungen geprüft und dann für unberechtigte Personen von den geschützten Daten bereinigt. Auf diese Weise sind die Informationen nicht nur in der Oberfäche für unberechtigte Personen verborgen sondern auch für den Zugriff auf die zugrundeliegende METS-Datei.

Docker Support erweitert - Vorbereitung für ein neues Goobi-to-go

Es gibt bereits einige Goobi Anwender, die Goobi workflow nicht mehr direkt auf den Servern installieren und stattdessen auf die Nutzung von Docker zurückgreifen, um die Applikation innerhalb von Containern zu betreiben. Für Goobi workflow wird daher bereits seit einiger Zeit auch schon ein Docker-Image bereitgestellt, dass sich hier finden läßt:

Diese Infrastruktur bearbeiten wir derzeit relativ intensiv und stellen darin eingige um. Nicht nur, damit Anwender davon profitieren, die es für sich auf Servern installieren möchten. Sondern auch, weil wir bereits seit einiger Zeit daran arbeiten, eine gänzlich neue Fassung von dem beliebten Goobi-to-go zu konzipieren, dass dann auf der Basis von Docker betrieben werden soll. Hier stehen also in den kommenden Wochen große Änderungen und Ankündigungen bevor.

Vorgangseigenschaften mit besseren Benennungen

Bisher war es so, dass Vorgangseigenschaften in einer gemeinsamten Box angezeigt und untereinander aufgelistet wurden. Das sah in der Vergangenheit also meist ungefähr so aus:

Die einzelnen Bereiche konnten zwar mehrere Eigenschaften als Container gruppieren. Aber es gab keine offensichtliche Klassifierung dieser Container. Diese sollen nun dahingehend erweitert werden, dass sie einerseits nicht mehr nur aufgelistet, sondern wirklich als eigenständige Container dargestellt werden könen, wo auch die Zugehörigkeit zu den jeweiligen Containern besser ersichtlich wird:

Damit die Bedienung für die Nutzer aber noch einfacher wird, wurde die Verwaltung der Container nun so erweitert, dass die Container nun jeweils eine Bezeichnung erhalten können. Diese wird in der Konfigurationsdatei beispielsweise so festgelegt:

Anschließend ist die Darstellung der Eigenschaften für die Nutzer entsprechend auch deutlicher und die Zugehörigkeit zu den jeweiligen benannten Containern besser verständlich:

Die gleiche Darstellung in dieser Box-Form ist dabei natürlich auch innerhalb der angenommenen Aufgaben berücksichtigt, um eine einheitliche Bedienung sicherzustellen:

Neues Benachrichtigungssystem und Footer

Auf den Goobi-Tagen haben wir es ja bereits angekündigt. Nun ist es auch in Produktion gegangen: Wir haben eine gänzlich andere Darstellung der Benachrichtigungen implementiert. Erfolgs- und Fehlermeldungen werden nun nicht mehr einfach nur im oberen Bereich angezeigt, sondern sind jetzt auch ausblendbar und überlagern die Oberfläche, so dass sie das Layout der gesamten Seite nicht mehr so stark beeinträchten, wenn doch einmal mehrere Meldungen gleichzeitig angezeigt werden.

Ursprünglich war geplant, dass die Meldungen vielleichgt auch aus dem Footerbereich von Goobi kommen könnten. Daher haben wir Goobi worklow mit einer Fußzeile ausgestattet in der bereits einige nützliche Links und Informationen stehen. In Zukunft werden wir hier noch weitere praktische Dinge ergänzen.

Vokabularserver als Docker-Image

Damit der neuen Vokabularserver nicht nur auf Severn regulär installiert werden kann, haben wir ihn nun auch als Docker-Image bereitgestellt. Damit ist der Betrieb innerhalb von Docker-Umgebungen dafür auch einfacher geworden. Perspektivisch dient uns dies ebenfalls dazu, den Vokabularserver innerhalb der neuen Goobi-to-go-Infrastruktur gut nutzen zu können.

Vokabular mit Monitoring Schnittstelle

Der Vokabularserver wurde noch etwas rubuster gemacht. Er verfügt es unter anderem über eine Methode, um seinen eigenen Betrieb zu prüfen und stellt dies als Abfrage für ein Monitoring zur Verfügung. Damit ist es nun möglich, dass externe Applikationen wie z.B. Goobi workflow den korrekten Betrieb des Vokabularservers prüfen können, bevor sie mit diesem weitergehen kommunizieren. Damit können potentielle Fehler besser vermieden werden.

Auch wurde in dem Zusammenhang eine Versionscheck implementiert, der für andere Applikationen erlaubt, den Versionsstand des Vokabularservers abzufragen. Darauf aufbauend können externe Applikation somit besser entscheiden, ob sie und wie sie mit dem Vokabularserver weiter kommunizieren möchten.

Nutzeroberfläche auf Basis von Bootstrap 5

An der Nutzeroberfläche von Goobi workflow arbeiten wir natürlich auch weiterhin. Die Umstellung auf Bootstrap 5 ist wie angekündigt in vollem Gange und leider auch noch immer nicht abgeschlossen. Insgesamt sind wir aber bereits sehr weit vorangeschritten und fokussieren uns jetzt darauf die ca. 300 Plugins auf ihre Nutzeroberfläche hin zu überarbeiten, so dass Goobi worklfow sowie die Plugins in einheitlichem Erscheinungsbild auftreten.

Plugins

Überarbeitung des Entitäteneditors

Der Editor für die Bearbeitung von Entitäten wurde in diesem Monat deutlich überarbeitet, um die Bedienung zu vereinfachen, die Speicherung von Beziehungen zwischen den Datensätzen, die Performance sowie auch das Zusammenspiel zum Vokabularserver zu verbessern.

Überarbeitung des Data Pollers

Innerhalb der Goobi Tage im September kam noch einmal zur Sprache, dass die Funktionalität des Data Pollers (vormals Catalogue Poller) einmal intensiv geprüft werden muss. Dieser wurde in den Monaten zuvor ja mit der Möglichkeit für Testläufe ausgestattet, deren Ergebnisse für Anwender einsehbar sein sollten, bevor diese tatsächlich ausgeführt werden. Auch bestand der Wunsch nach einer konfigurierbaren Whitelist für die zu aktualisierenden Metadaten anstelle der bis dato nur verfügbaren Blacklist für die nicht zu aktualisierenden Metadaten.

Eine Prüfung der Funktionalität ist nun erfolgt und Fehlerchen wurden korrigiert. In dem Zusammenhang wurde auch die Nutzeroberfläche gleich auf Bootstrap 5 portiert.

Versionsnummer

Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 24.10. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml entsprechend folgende Abhängigkeit eingetragen werden:

<dependency>
    <groupId>io.goobi.workflow</groupId>
    <artifactId>workflow-core</artifactId>
    <version>24.10</version>
    <classifier>classes</classifier>
</dependency>

Die folgenden Screenshots zeigen die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .

Weitere Informationen zur Konfiguration des Regelsatzes finden sich innerhalb der UGH-Dokumentation hier:

Detaillierte Informationen für die Konfiguration des Goobi viewers und wie dort der Zugriff auf Metadaten korrekt konfiguriert wird für Zugriffsbeschränkungen finden sich hier:

Das Dockerfile für die Inbetriebnahme findet sich hier:

Weitere Informationen finden sich in der Dokumentation hier:

Weitere Informationen finden sich in der Dokumentation hier:

https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-metadata-update-field
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-mets-enhancer
https://github.com/intranda/goobi-plugin-step-mets-enhancer
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-transcription
https://github.com/intranda/goobi-plugin-step-transcription
Projektseite
https://docs.goobi.io/ugh-de/3/3.1#id-3.1.8.-zugriffsgeschutzte-metadaten
https://docs.goobi.io/goobi-viewer-de/misc/1/15
https://hub.docker.com/r/intranda/goobi-workflow
https://github.com/intranda/goobi-vocabulary-server/blob/develop/Dockerfile
https://docs.goobi.io/workflow-plugins/de/workflow/goobi-plugin-workflow-entity-editor
https://docs.goobi.io/workflow-plugins/de/administration/goobi-plugin-administration-data-poller

September

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

Wie schon in den vergangenen Jahren war auch in diesem Jahr wieder das große Anwendertreffen in Göttingen. Viel konnten wir dennoch noch erreichen in diesem Monat.

Core

Umstellung auf Java 17

Wir haben den Quelltext von Goobi und den Plugins von Java 11 auf Java 17 umgestellt. Das ist zunächst noch keine besonders große Änderung, weil wir den Quelltext noch immer mit Kompatibilität für Java 11 kompilieren. Damit ist die Applikation auch weiterhin in der bewährten Infrastruktur einsetzbar, ohne große Umstellungen vornehmen zu müssen. Perspektivisch werden wir aber sehr bald ein größeres Update für Java 21 durchführen müssen, um mit Tomcat 10 kompatibel zu sein. Dies werden wir dann zu Beginn des kommenden Jahres in Angriff nehmen

Neue Oberfläche für das Journal

Die Oberfläche des Journals, das zu jedem Vorgang gehört, haben wir einmal ganz neu gestaltet. Statt wie bisher mit verschiedenen Farben zu arbeiten, ist eine Klassifizierung der einzelnen Nachrichten nun durch die Icons erkennbar. Dies erlaubt so eine deutlich bessere Accessibility.

Wie bisher auch kann das Journal in einen expandierten Modus umgeschaltet werden und ist sonit insbesondere bei vielen Inhalten deutlich besser lesbar, ohne innerhalb der Box scrollen zu müssen.

Und natürlich haben wir die Gestaltung gleich so vorgenommen, dass alle Bereiche von Goobi worklfow, die das Journal verwenden, davon profitieren und somit die gleiche interne Komponente und damit auch die gleiche Gesaltung nachnutzen. Dies gilt unter anderem für das Journal in den angenommenen Aufgaben, in den Projekten und bei den Nutzern.

Plugins

Verarbeitung von Nutzerbestellungen

Zusammen mit der Zentralbibliothek Zürich haben wir ein sehr flexibles Plugin für den Umgang mit Nutzerbestellungen erstellt. Dieses erlaubt, dass Informationen, die durch die Nutzer bei der Beauftragung angegegeben wurden für die Abrechnung, erfasst und weiterverarbeitet werden können. Hierbei geht es einerseits um die Möglichkeit, dass Nutzer die Möglichkeit haben sollen, über Ihre Bestellungen informiert zu werden und dabei auch einen Lieferschein zu erhalten.

Ebenso ging es aber auch darum, dass Angaben zur Bestellung, die einen Einfluß auf die Zusammensetzung der Kosten haben, bearbeitbar werden und abschließend der Buchhaltungsabteilung zur Verfügung gestellt werden können.

Erweiterung des Mail-Plugins für Anhänge und Variablen

Bereits seit einiger Zeit existiert ein Plugin, das erlaubt, dass im Verlauf des Workflows gezielt E-Mails mit flexiblem Inhalt durch Goobi versendet werden können. Was hier allerdings noch fehlte war, dass für die Angabe von Empfängern Informationen aus den Vorgangseigenschaften genutzt werden können. Dies war für den Versand von Nachrichten an die Absender einer Nutzerbestellung erforderlich.

Auch wurde in diesem Zusammenhang eine Erweiterung des Plugins vorgenommen, um nun auch Anhänge an Mails anfügen zu können. Auch diese können unter Verwendung von Variablen aus Eigenschaften, Metadaten oder Pfaden des Vorgangs sehr flexibel festgelegt werden.

PDF Generierung erweitert

Das Plugin, mit dem flexibel im Verlauf von Workflows PDF-Dateien generiert werden können, ist deutlich überarbeitet worden. Die Konfiguration des Plugins erlaubt jetzt, dass noch besser gesteuert werden kann, woraus die PDF-Dateien tatsächlich generiert werden sollen. Dies betrifft einerseits die Angabe aus welchem Verzeichnis die Bilddateien für die PDF-Dateien genutzt werden sollen. Andererseits betrifft dies aber auch die Steuerung, wie das PDF zusammengesetzt werden soll. Hierbei kann jetzt festgelegt werden, ob Einzelseiten PDFs erzeugt werden sollen, oder ob ein Gesamt-PDF erzeugt werden soll. Dabei kann ebenso gesteuert weden, wie die Zusammensetzung erfolgen soll, so dass beispielsweise ein Gesamt-PDF aus Einzelseiten zusammengefügt werden soll oder durch die Seitenzuweisung der METS-Datei gesteuert werden soll. Auch der Ort, wohin die PDF-Dateien exportiert werden sollen, ist nun granular steuerbar.

Umfangreiche Dokumentationsarbeiten

An dem Aufbau der Dokumentation arbeiten wir derzeit sehr intensiv. Dazu gehört einerseits die Pflege der eigentlichen Dokumentation und Konfiguration samt Installationsanleitung in Deutsch und Englisch. Darüber hinaus gehört aber auch dazu, dass wir die Plugins in Digests erläutern, wenn es relevante Änderungen gab, dass sie bei Github veröffentlicht werden und dass die dort über eine aktuelle Readme-Datei verfügen, die eine Verbindung zwischen der lesefreundlichen Dokumentation und dem Quellcode gewährleistet.

Für die folgenden Plugins gabe es entweder umfangreiche Updates der Dokumentationen oder es wurden neue Dokumentationen erstellt:

An den folgenden Plugins gab es in diesem Monat Änderungen an den README-Dateien:

goobi-plugin-administration-data-poller
goobi-plugin-administration-goobi2goobi-import
goobi-plugin-administration-reset-pagination
goobi-plugin-administration-restore-archived-image-folders
goobi-plugin-administration-ruleset-compatibility
goobi-plugin-dashboard-barcode
goobi-plugin-dashboard-extended
goobi-plugin-export-adm-bsme
goobi-plugin-export-bda-single-image
goobi-plugin-export-configurable
goobi-plugin-export-fedora
goobi-plugin-export-fedora-prov
goobi-plugin-export-heris
goobi-plugin-export-newspaper
goobi-plugin-export-nli-pdf-to-folder-structure
goobi-plugin-export-selected-images
goobi-plugin-export-stanford
goobi-plugin-export-vlm
goobi-plugin-export-weimar-haab
goobi-plugin-export-zop
goobi-plugin-import-bka-bda
goobi-plugin-import-crown
goobi-plugin-import-eth-no-catalogue
goobi-plugin-import-excel
goobi-plugin-import-katzoom
goobi-plugin-import-mab
goobi-plugin-import-sisis-sunrise-file
goobi-plugin-import-wuwien
goobi-plugin-import-zbz-alma
goobi-plugin-import-zbz-cmi
goobi-plugin-import-zbz-no-catalogue
goobi-plugin-metadata-change-type
goobi-plugin-metadata-create-structure-elements
goobi-plugin-opac-ariadne
goobi-plugin-quartz-heris
goobi-plugin-statistics-sudan-memory
goobi-plugin-statistics-user-throughput
goobi-plugin-opac-ead
goobi-plugin-opac-generic-xml
goobi-plugin-opac-json
goobi-plugin-opac-kalliope
goobi-plugin-opac-marc
goobi-plugin-opac-pica
goobi-plugin-opac-soutron
goobi-plugin-quartz-bka-wohnbau
goobi-plugin-step-abbyy-finereader
goobi-plugin-step-alma-api
goobi-plugin-step-analysis-imagename
goobi-plugin-step-archive-image-folder
goobi-plugin-step-ark
goobi-plugin-step-bag-creation
goobi-plugin-step-batch-progress
goobi-plugin-step-catalogue-request
goobi-plugin-step-change-workflow
goobi-plugin-step-create-full-pdf
goobi-plugin-step-create-structure-from-filenames
goobi-plugin-step-datacite-doi
goobi-plugin-step-delay
goobi-plugin-step-delay-workflow-status
goobi-plugin-step-delete-content
goobi-plugin-step-display-metadata
goobi-plugin-step-doi
goobi-plugin-step-download-and-verify-assets
goobi-plugin-step-duplicate-tasks
goobi-plugin-step-epic-pid
goobi-plugin-step-ewig
goobi-plugin-step-excel-metadata-enrichment
goobi-plugin-step-export-package
goobi-plugin-step-fetch-images-from-metadata
goobi-plugin-step-file-upload
goobi-plugin-step-file-validation
goobi-plugin-step-flex-editor
goobi-plugin-step-generate-alto-ids
goobi-plugin-step-generate-identifier
goobi-plugin-step-geonames-auto-annotator
goobi-plugin-step-geonames-correction
goobi-plugin-step-handle-mets
goobi-plugin-step-heris
goobi-plugin-step-image-metadata-extraction
goobi-plugin-step-image-resize-and-watermark
goobi-plugin-step-image-selection
goobi-plugin-step-imageqa
goobi-plugin-step-import-from-folder
goobi-plugin-step-kiel-archive-cleanup
goobi-plugin-step-metadata-edition
goobi-plugin-step-metadata-per-image
goobi-plugin-step-metadata-replacement
goobi-plugin-step-metadata-structure-import
goobi-plugin-step-metadata-update-field
goobi-plugin-step-mets-creation
goobi-plugin-step-mets-enhancer
goobi-plugin-step-mix-metadata-enrichment
goobi-plugin-step-mixed-ocr
goobi-plugin-step-ocr-selector
goobi-plugin-step-ocr-to-metadata
goobi-plugin-step-oid-creation
goobi-plugin-step-olr-correction
goobi-plugin-step-pdf-book-interchange-convert
goobi-plugin-step-pdf-extraction
goobi-plugin-step-pdf-upload
goobi-plugin-step-placeholder-creation
goobi-plugin-step-process-folder-migration
goobi-plugin-step-rename-files
goobi-plugin-step-rename-files-before-rosetta
goobi-plugin-step-rename-process
goobi-plugin-step-reorder-images
goobi-plugin-step-replace-images
goobi-plugin-step-representative-creation
goobi-plugin-step-reverse-image-order
goobi-plugin-step-rki-import
goobi-plugin-step-save-docket-file
goobi-plugin-step-send-mail
goobi-plugin-step-tei-import
goobi-plugin-step-tif-validation
goobi-plugin-step-transcription
goobi-plugin-step-transkribus-collection
goobi-plugin-step-urn
goobi-plugin-step-user-assignment
goobi-plugin-step-vocabulary-enrichment
goobi-plugin-step-xmp-header
goobi-plugin-step-yerusha-validation
goobi-plugin-step-zbz-order-delivery
goobi-plugin-workflow-aeon-process-creation
goobi-plugin-workflow-barcode-generator
goobi-plugin-workflow-charite-importer
goobi-plugin-workflow-excel-import
goobi-plugin-workflow-file-upload-process-creation
goobi-plugin-workflow-hu-importer
goobi-plugin-workflow-import-json
goobi-plugin-workflow-layoutwizzard
goobi-plugin-workflow-linked-process-creation
goobi-plugin-workflow-mass-upload
goobi-plugin-workflow-newspaper-pages-importer
goobi-plugin-workflow-project-export
goobi-plugin-workflow-yerusha-aim25

Versionsnummer

Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 24.09.9. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml entsprechend folgende Abhängigkeit eingetragen werden:

<dependency>
    <groupId>io.goobi.workflow</groupId>
    <artifactId>workflow-core</artifactId>
    <version>24.09.9</version>
    <classifier>classes</classifier>
</dependency>

Mai

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

Die im April beschriebenen Änderungen an der Maven Infrastruktur haben sich noch einiges länger hingezogen als erwartet. Doch auch an anderen Stellen gab es Fortschritte, zum Beispiel bei den Vokabularen und an einigen Plugins.

Core

ALTO Editor

Die in den Metadateneditor integrierte Lösung, um ALTO-Dateien zu bearbeiten wurde um eine neue Tagging-Funktionalität ergänzt. Dabei können ein oder mehrere Wörter markiert und zusammen mit einem Entitätstyp sowie mit Normdaten verknüpft werden. Dafür stehen bereits diejenigen Normdaten in einem DropDown Menü zur Verfügung, die in der METS-Datei bereits bekannt sind. Alternativ lassen sich jedoch ebenso auch eigene URLs eingeben, um die Verknüpfung mit den Normdaten zu ermöglichen.

Neuenticklung der Vokabulare

Aufgrund von neuen Anforderungen wird es notwendig, die Verwaltung der Vokabulare deutlich zu überarbeiten. Wir haben uns dafür entschieden, die Vokabulare künftig in einem eigenen Vokabularserver zu verwalten. Dieser steht dann Goobi workflow, Goobi viewer und auch anderen Lösungen mittels einer API zur Verfügung, um Informationen daraus abzufragen. Die Entwicklung steckt noch in einer recht frühen Phase und wird uns voraussichtlich noch einige Wochen begleiten.

Plugins

Anbindung von COPE an Goobi workflow

In einem Projekt entstand die Notwendigkeit, die Software COPE von Digital Transitions an Goobi workflow anzubinden. Sie dient dazu, die RAW-Dateien aus Capture One unter Beibehaltung aller relevanten Bildinformationen in TIFF-Dateien zu konvertieren. Die besondere Schwierigkeit hierbei war, diese Windows-basierte Software an Goobi anzubinden. Unter der Nutzung von Python-Skripten ist und dies nun gelungen un in Produktivbetrieb gegangen.

Anbindung der Transkribus Collections

Im Kontext eines Projektes wurde es notwendig, eine weitere Transkribus-Anbindung zu implementieren. Hierbei ging es speziell darum, dass bereits digitalisierte Bilddateien für eine Auszeichnung in Transkribus genutzt werden sollten, um um somit eine Ground Truth für neue Erkennungmodelle erzeugen zu können.

Für die Umsetzung dieser Funktionalität wurden daher zwei neue Plugins implementiert. Das erste Plugin ist dafür verantwortlich, die bereits im Goobi viewer veröffentlichte METS-Datei mit den zugehörigen Bilddateien an Transkribus zu melden und sie in die gewünschte Collection des Nutzers dort einzuspielen.

Das zweite Plugin hingegen ist dafür verantwortlich, die in Transkribus angereicherten Daten und die somit erzeugten Ergebnisse als ALTO-Dateien abzuholen und in dem OCR-Ordner des jeweiligen Vorgangs zu speichern.

Die Dokumentation der beiden Plugins findet sich hier:

Das Plugin kann zur Installation hier heruntergeladen werden:

Versionsnummer

Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 24.05. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml entsprechend folgende Abhängigkeit eingetragen werden:

März

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

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.

Core

Config Editor

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

Regelmäßige Aufgaben

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.

Vokabulare

Im Bereich der Vokabulare wurde begonnen die Bedienbarkeit bei dem Im- und Export von Datensätzen zu vereinheitlichen.

Archive

Im Bereich der Archive wurde damit begonnen die Java Logik für die Suche in Beständen neu zu implementieren.

Plugins

Export: ADM - BSME

Ein Export Plugin wurde entwickelt, dass beim Erzeugen spezieller Exportformate in die Software Imagen Media Archive Management unterstützt.

Schritt: ALMA API

Das ALMA API Plugin kann jetzt bei Variablen auch Bedingungen enthalten.

Schritt: Metadatenanreicherung via Excel-Datei

Das neue Schritteplugin erlaubt es, dass Metadaten aus einer Excel-Datei gelesen und zu bestehenden Strukturelementen hinzugefügt werden.

November

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

Da das Release vom Oktober relativ spät erst veröffentlicht wurde, blieb im November nicht mehr viel Zeit, um neue Features zu entwickeln. Der Digest fällt entsprechend kürzer aus.

Core

Anpassungen am Vokabularserver

Die Einsatzmöglichkeiten des neuen Vokabularserver sind deutlich umfangreicher, als wir zunächst angenommen hatten. Und mit diesen zusätzlichen Einsatzmöglichkeiten fallen auch immer wieder kleine Anpassungen auf, die noch vorbenommen werden. So gab es beispielsweise die Notwendigkeit, dass das Speichern der Vokabulardatensätze noch einmal überarbeitet werden musste. An der Bedienoberfläche hat sich hierbei für Nutzer allerdings keine Änderung ergeben.

Ebenso entstand der Bedarf, dass Goobi workflow für das Zusammenspiel mit dem Vokabularserver eine Prüfroutine benötigt, um den Versionsstand des Vokabularservers abzufragen und hierbei eine Mindestversion zu prüfen, die die reibungslose Kommunikation zwischen beiden Applikationen sicherstellt.

Schweizerdeutsch als zusätzliche Sprache der Nutzeroberfläche

Auch wenn Goobi workflow mit der Sprache Deutsch in der Nutzeroberfläche bereits ausgestattet ist, ist dies nicht autoamtisch auch die beste Wahl für Nutzer aus verschiedenen deutschsprachigen Regionen. So hat sich herausgestellt, dass im Rahmen von Abrechnungen für Nutzerbestellungen die Zahlenformate für die Anwender einen großen Unterschied machen.

Allein die Tatsache, dass der Nummernblock auf einer Schweizer Tastatur nicht über ein Komma sondern über einen Punkt verfügt, machte es für schweizer Anwender etwas umständlich Zahlen mit Dezimalstellen einzugeben.

Auch die Darstellung von Preisangaben, die im Rahmen der Abrechnung von Nutzerdarstellungen verarbeitet werden müssen, machte es daher erforderlich, dass Goobi workflow nun innerhalb des Sprachumschalters neben Deutsch (DE) auch Schweizerdeutsch (DE-CH) anbietet.

Plugins

Massenimport für das Werbemittelarchiv

Für die Wirtschaftuniversität in Wien wurde ein neues Massenimport-Plugin entwickelt, dass es erlaubt die dort vorliegenden Werbemittel und Markenstudien zu importieren. Diese lagen bisher als PDF Dateien vor und waren innerhalb von JSON-Dateien beschrieben. Für deren Import haben wir ein neues Plugin entwickelt und den Import durchgeführt.

Die ausführliche Dokumentation für das Plugin findet sich hier:

Codeanalyse

Versionsnummer

Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 24.11.4. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml entsprechend folgende Abhängigkeit eingetragen werden:

Januar

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

In diesem Monat fand eine ganze Menge an Entwicklungsarbeiten statt, um Goobi workflow und alle Plugins zu Java 21 zu migrieren. Da die Arbeiten allerding so umfangreich sind, haben wir uns dazu entschlossen, in diesem Monat kein Release zu veröffentlichen. Das derzeit aktuellste Release bleibt daher ausnahmsweise einmal das das vorherigen Monats.

Core

Umstellung auf Java 21 und Tomcat 10

Goobi workflow basiert bisher auf Java 11 und kann unter verschiedenen Betriebssystemen mit einem Apache Tomcat 9 als Webserver betrieben werden. Diese technische Grundlage unterliegt allerdings aktuell großen Änderungen. Java 11 wird von den einzelen Betriebssystemen nur noch begrenzt lange unterstützt. Und auch Tomcat 9 ist in den Repositories mehrerer Linux-Distributionen nicht mehr verfügbar. Am Beispiel von Ubuntu Linux kann man hier gut sehen, welche Versionen noch wie lange supported werden. Davon hängt dann wiederum ab, wie lang für die jeweiligen Distributionen auch Java 11 noch zu Verfügung steht:

Bevor der Support für Java 11 und Tomcat 9 für die typischen Systeme ausläuft, auf denen Goobi betrieben wird, müssen wir also Goobi workflow sowie alle zugehörigen Komponenten auf eine neue Version von Java und Tomcat bringen. Das ist allerdings im Hinblick auf Java 21 und Tomcat 10 eine sehr umfangreiche Aufgabe. Wir arbeiten gerade daran, ca. 400 Repositories mit Quelltext auf Java 21 zu migrieren. Wir hatten gehofft, dass wir die Arbeiten noch im Januar fertigstellen können. Der Umfang der Arbeiten ist jedoch deutlich größer als angenommen. Daher kann das hier nur eine Ankündigung für das kommende Release im Februar bleiben. Wir arbeiten weiter daran.

Umstellung des Metadateneditors auf Bootstrap 5

Noch in vollem Gange ist die Umstellung des Metadateneditors auf Bootstrap 5. Dieser basierte ja bisher auf Bootstrap 4 und war von der Bedienung und Gestaltung immer etwas anders als andere Bereiche von Goobi worklow. Diese Unterschiede versuchen wir gerade zu beseitigen und portieren den Metadateneditor auf die gleiche Infrastruktur für das HTML wie auch den Rest von Goobi workflow. Davon versprechen wir uns einerseits eine bessere Usability und eine bessere Accessibility. Andererseits erhoffen wir uns von diesen Umstellungen aber ebenfalls, dass die künftige Weiterentwicklung des Metadateneditors etwas einfacher wird.

Aktuell sind die Arbeiten noch nicht abgeschlossen. Hier aber schon einmal eine Vorschau darauf, wie die Oberfläche nach der Umstellung aussehen wird:

Anpassungen für mobile Endgeräte

Durch die zunehmende Nutzung von mobilen Endgeräten wie Tablets oder Handys, muss natürlich auch Goobi workflow gut bedienbar sein. Auch hier gab es so manche kleinere Anpassung, die die Bedienung einfacher machen.

Selbst der Metadateneditor ist auf mobilen Geräten jetzt besser bedienbar. Ob Nutzer davon allerdings Gebrauch machen werden, wird sich erst in Zukunft zeigen.

Plugins

Regelsatzeditor

Mit dem Regelsatzeditor-Plugin steht den Anwendern von Goobi workflow bereits seit geraumer Zeit ein bequemer Mechanismus zur Verfügung, um die Konfiguration der Metadaten und Strukturdaten direkt aus der Nutzeroberfläche vorzunehmen.

Dieser Editor erlaubt nicht nur die bequeme Bearbeitung und dabei zugleich die automatische Erzeugung von Backups der jeweils vorherigen Version beim Speichern einer Änderung. Er erlaubt auch eine Validierung des gesamten Regelsatzes.

An dieser Validierung haben wir im Dezember und Januar intensiv gearbeitet, um diese zu erweitern. Schön ist, dass nun zahlreiche Fehlkonfigurationen geprüft und somit vermieden werden können. Nicht so schön ist, dass aufgrund der Komplexität der Regelsätze, die ja auch das Mapping von Daten aus Katalogen als MARC und PICA und in die Zielformate METS und LIDO übernehmen, eigentlich jeder Regelsatz Fehler aufweist, die man sich einmal anschauen sollte.

Konfigurationen die historisch so gewachsen sind, die richtig erschienen und durch weitere Anpassungen im Laufe der Zeit geändert wurden, enthalten verschiedene kleine und unkritische aber auch kritische Fehler, die mit den neuen Validierungsmöghlichkeiten nun erstmals überhaupt auffallen. Es lohnt sich also, dieses Plugin einmal zu installieren oder zu updaten, um die eigenen Regelsätze einmal gewissenhaft zu prüfen.

Codeanalyse

Versionsnummer

Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 24.12.4. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml entsprechend folgende Abhängigkeit eingetragen werden:

Definition von Eigenschaften
Definition von Eigenschaften aus Vokabularen
Anzeige der Hauptwerte aus Vokabularen
Anzeige von Details eines ausgewählten Vokabulareintrags
Erfassung von Eigenschaften mittels Vokabularen
Beispiel für ein hierarchisch aufgebautes Vokabular
Auswahlliste für die Wahl eines Wertes aus einem Vokabular
Auswahl aus der visualisierten Hierarchie des Vokabulars in der Auswahlliste
Workflow für die Migration von Visual Library zu Goobi
Bearbeiten eines Werkes aus Visual Library in Goobi
Veröffentlichtes Werk aus Visual Library im Goobi viewer
Analyseergebnisse für den Quellcode
Validierungsmeldungen am Feld
Validierungsmeldungen im Stukturbaum
Lesezeichenansicht in einem geöffneten Modal
Status der Boxen bleiben erhalten
Commit mit der Löschung von 200.000 Zeilen Quellcode
Goobi workflow mit französischer Oberfläche
Dokumentationseite des Plugins
Dokumentationseite des Plugins
Erzeugung einer Transkription
Neuer Goobi-to-go Starter
Analyseergebnisse für neuen Quellcode
Analyseergebnisse für den gesamten Quellcode
Anpassung des Regelsatzes für die Konfiguration der Zugriffsbeschränkung für Metadaten
Icons vor den Metadatenfeldern zur Steuerung der Zugriffsbeschränkung
Goobi workflow in Docker Hub
Darstellung der Eigenschaften als Container alle untereinander
Darstellung der Eigenschaften als eigenständige Boxen
Konfiguration der Eigenschaften mit Benennung der Container
Vorgangseigenschaften mit der Containerbezeichnung
Eigenschaften innerhalb von angenommenen Aufgaben mit Containerbezeichnung
Meldungen im neuen Benachrichtigungssytem
Ausgeblendete Meldungen in der Menüleiste
Neue Fußzeile in Goobi workflow
Nutzeroberfläche von Goobi workflow und speziell dem Dashboard-Plugin auf Bootstrap 5 Basis
Nutzeroberfläche des Entitäteneditors
Umgestaltetes Journal innerhalb der Vorgangsdetails
Anzeige des Journals in ausführlicher Form
Gleiche Gestaltung des Journals innerhalb einer angenommenen Aufgabe
Beispielhafter Workflow für die Verarbeitung von Nutzerbestellungen
Erfassung von Angaben zur Abrechnung
Generierung von Rechnungen als Vorbereitung für die Abrechnung

Mehr Informationen zu dem Plugin, dessen Installation und Konfiguration finden sich hier:

Dokumentation des Plugins für den Mailversand

Mehr Informationen zu dem Plugin, dessen Installation und Konfiguration finden sich hier:

Mehr Informationen zu dem Plugin, dessen Installation und Konfiguration finden sich hier:

Der folgende Screenshot zeigt die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .

Die folgenden Screenshots zeigen die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .

https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-zbz-order-delivery
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-send-mail
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-create-full-pdf
https://docs.goobi.io/workflow-plugins/de/dashboard/goobi-plugin-dashboard-barcode
https://docs.goobi.io/workflow-plugins/de/dashboard/goobi-plugin-dashboard-extended
https://docs.goobi.io/workflow-plugins/de/export/goobi-plugin-export-bda-single-image
https://docs.goobi.io/workflow-plugins/de/export/goobi-plugin-export-configurable
https://docs.goobi.io/workflow-plugins/de/export/goobi-plugin-export-stanford
https://docs.goobi.io/workflow-plugins/de/metadata/goobi-plugin-metadata-change-type
https://docs.goobi.io/workflow-plugins/de/quartz/goobi-plugin-quartz-heris
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-alma-api
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-delay
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-delay-workflow-status
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-delete-content
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-download-and-verify-assets
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-flex-editor
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-generate-alto-ids
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-heris
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-metadata-update-field
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-mets-creation
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-user-assignment
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-vocabulary-enrichment
https://docs.goobi.io/workflow-plugins/de/workflow/goobi-plugin-workflow-aeon-process-creation
https://docs.goobi.io/workflow-plugins/de/workflow/goobi-plugin-workflow-close-step
https://docs.goobi.io/workflow-plugins/de/workflow/goobi-plugin-workflow-yerusha-aim25
<dependency>
    <groupId>io.goobi.workflow</groupId>
    <artifactId>workflow-core</artifactId>
    <version>24.05</version>
    <classifier>classes</classifier>
</dependency>
<dependency>
    <groupId>io.goobi.workflow</groupId>
    <artifactId>workflow-core</artifactId>
    <version>24.11.4</version>
    <classifier>classes</classifier>
</dependency>
<dependency>
    <groupId>io.goobi.workflow</groupId>
    <artifactId>workflow-core</artifactId>
    <version>24.12.4</version>
    <classifier>classes</classifier>
</dependency>
Der ALTO-Editor als Teil des Metadateneditors
Die bisherige Vokabularverwaltung von Goobi
Beispielhafter Workflow für die Anbindung von Transkribus
Konfiguration eines Arbeitsschritts für das Abholen der Ergebnisse von Transkribus
Kleinere optische Änderungen auf der Seite der regelmäßigen Aufgaben
Nutzeroberfläche für die Vokabulare aus dem Vokabularserver
Vorgaben für das Zahlenformat in Wikipedia
Vergleich zweier Tastaturen mit verschiedenem Nummernblock
Sprachumschalter für Schweizerdeutsch
Import für Werbemittel
Analyseergebnisse für den Quellcode
Beispiel für den Support von Ubuntu Linux
Layoutanpassungen in der Erfassung von Metadaten
Anpassungen für die Erzeugung neuer Strukturelemente
Auflistung der Vorgänge bei kleinen Bildschirmen
Metadateneditor auf kleinerem Bildschirm
Regelsatzeditor für die Konfiguration von Metadaten
Unkritische Validierungsmeldungen
Kritische Validierungsmeldungen, die unbedingt behoben werden sollten
Verschiedene Meldungen je nach Status
Analyseergebnisse für neuen Quellcode
Analyseergebnisse für den gesamten Quellcode

April

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

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.

Änderungen an der Maven Struktur

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.

Zu beachten für Entwickler

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.

Zu beachten für Systemadministratoren

Für Systemadministratoren hat sich die Benennung der Artefakte in den Plugins geändert. Hier wurde konsequent die Schreibweise von .jar Plugindateien angeglichen und vereinheitlicht. Konfigurationsdateien sowie auch die Namen der Plugins wurden nicht umbenannt. Dennoch sollte bei künftigen Updates genau darauf geachtet werden, dass keine alten Artefakte liegen bleiben.

Snippets

  • Für einen Kunden wurde ein größeres Set an Spezialplugins fertiggestellt

  • Die Arbeiten im Kontext Vokabulare und Archiv gehen voran

Versionsnummer

Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 24.04.30. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml entsprechend folgende Abhängigkeit eingetragen werden:

<dependency>
    <groupId>io.goobi.workflow</groupId>
    <artifactId>workflow-core</artifactId>
    <version>24.04.30</version>
    <classifier>classes</classifier>
</dependency>
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-transkribus-collection
https://github.com/intranda/goobi-plugin-step-transkribus-collection
https://docs.goobi.io/workflow-plugins/de/workflow/goobi-plugin-workflow-wu-wma-import
Projektseite
Projektseite

Februar

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

In diesem Monat konnten wir endlich die große Umstellung von Goobi workflow sowie allen Plugins auf Java 21 abschließen. Aufgrund der Komplexität rechnen wir damit, dass es sicher noch einmal einige Nacharbeiten hier und da geben wird. Die große Umstellung ist damit aber endlich erfolgt und wir können anfangen, die neuen Versionen auf den jeweiligen Systemen der Nutzer zu installieren.

Core

Umstellung auf Java 21 und Tomcat 10

Die Umstellung von Goobi workflow core auf Java 21 und Tomcat 10 ist abgeschlossen und kann ab diesem Release auf Produktivsystemem in Verwendung gehen. Wie bereits in früheren Digests erwähnt ist diese Umstellung notwendig gewesen, um die Software selbst und deren unterliegende Infrastruktur auch künftig weiterentwickeln und mit Sicherheitsupdates versorgen zu können. Nicht zuletzt erfolgte die Umstellung auf Java 21 auch vor dem Hintergrund, dass die einzelnen Betriebssysteme, unter denen Goobi betrieben wird, ihren Support für Java 11 sukzessive einstellen.

Achtung: Ein Update auf diese neue Version ist im Allgemeinen mit einem gesteigerten Aufwand verbunden, da neben dem Update der eigentlichen Goobi-Anwendung und den zugehörigen Plugins ebenso ein Betriebssystem-Update, ein Java-Update sowie auch ein Tomcat-Update notwendig wird.

Umstellung des Metadateneditors auf Bootstrap 5

Wie an dieser Stelle bereits des öfteren zur Sprache kam, haben wir eine große Umstellung der Nutzeroberfläche vorgenommen, um die verschiedenen Bereiche von Goobi workflow sowie dessen Plugins von Bootstrap 3 auf Bootstrap 5 zu migrieren. Dieses ist nicht nur für eine zeitgemäße Gestaltung der Nutzeroberfläche sinnvoll, sondern ebenso auch dafür, dass wir den Vorgaben für Accessibility-Anforderungen sowie für eine bessere Usability gerecht werden.

Ein Bereich der bisher von den Entwicklungen noch ausgeklammert blieb war die Nutzeroberfläche des Metadateneditors. Dieser basierte bis vor kurzem auf Bootstrap 4 und verwendete intern ein etwas anders geartetes Template für die Darstellung, das Layout sowie auch die einzelnen Komponenten (wie bspw. Formularfelder, Boxen, Buttons usw.). Mit dem Release vom Februar 2025 haben wir diese andere Infrastruktur des Metadteneditors nun aufgehoben und auch den Metadateneditor auf Bootstrap 5 migriert. Das resultiert nun darin, dass die Nutzeroberfläche in einigen Bereichen leicht anders aussieht. Funktionell sollte allerdings alles wie bisher auch gleich geblieben sein. Auffallen wird den Nutzern vermutlich am ehesten, dass die Formularfelder jetzt ähnlich gestaltet sind wie die Formulare, die man auch sonst in Goobi workflow vorfindet:

Die Anordnung der Normdatenfelder z.B. für Personen und Orte sieht etwas aufgeräumter aus als bisher:

Der Erfassung neuer Strukturelemente wurde etwas überarbeitet:

Und auch die Darstellungen von Validierungsmeldungen erfolgt nun in etwas geänderter Form:

Insgesamt versprechen wir uns von dieser Umstellung nicht nur eine etwas einheitlichere Nutzeroberfläche mit besserer Usability und Accessibility sondern auch eine künftig einfachere Weiterentwicklung des Metadateneditors.

Refaktorisierung für das Frontend

Ebenso für eine einfachere Entwicklung haben wir einige intere Umstellungen für den Aufbau der HTML-Seiten vorgenommen. Das auf JavaServer Faces basierende Template wurde dahingehend umgestellt, dass weitere facelet tags zum Einsatz kommen. Wiederholt vorkommende Blöcke in der Nutzeroberfläche werden so einheitlicher dargestellt und sind für uns als Entwickler einfacher und an einer zentralen Stelle steuerbar. Dies ist unter anderem in dem Bereich der überarbeiteten Eigenschaften auch für Nutzer sichtbar:

Plugins

Neues Plugin für die Zusammenstellung von Batches

Die Funktionalität der Batches wird nur bei relativ wenigen Anwendern im täglich Einsatz wirklich verwendet. Einige Einrichtungen arbeiten jedoch bereits vorrangig in sehr großen Projekten mit den Batches, um viele Vorgänge zusammengehörig durch ihre Workflows laufen zu lassen. Hierbei war es bisher nötig, dass die Batches entweder gleich beim Anlegen der Vorgänge zusammen erzeugt und somit zu einem Batch zusammengefasst wurden. Oder es musste eine etwas umständliche Zusammenstellung von Batches in der Batch-Oberfläche erfolgen.

Mit einem neuen Plugin versuchen wir nun, auch anderen Anwendern eine Arbeit mit Batches besser zu ermöglichen. Dafür wurde ein neues Step-Plugin implementiert, dass es den Anwendern innerhalb einer Aufgabe ermöglicht, den jeweiligen Vorgang zu einem bereits bestehenden (und noch wartenden) Batch hinzuzufügen und diesen Batch auch als vollständig zu kennzeichnen, so dass dessen weitere Bearbeitung beginnen kann.

Alternativ ist es hier ebenso möglich, dass auch ein neuer Batch zusammen mit einem Titel sowie konfigurierbaren Eigenschaften erzeugt werden kann, der im weiteren Verlauf auch noch andere Vorgänge für eine Batchverarbeitung erhalten kann.

Eine detaillierte Dokumentation des Plugins findet sich wie gewohnt auf unserer Dokumentationsplattform:

Neues Plugin für den bequemen Umgang mit Barcodes

Goobi workflow kann ja bereits seit den allerersten Versionen gut mit Barcodes umgehen. So ist die Generierung von Barcodes auf Laufzetteln, ein Barcode-Generierungs-Plugin, ein Massenupload mit Barcode-Analyse auf Bildern und natürlich die Suche mittels Barcode-Lesegeräten bereits seit langem möglich.

Was allerdings noch fehlte bisher, war eine weitgehende Automatisierung verschiedener Aktionen allein durch das Einscannen von Barcodes. Dazu haben wir ein ganz neues Plugin entwickelt, dass sich jederzeit aus der Oberfläche von Goobi worflow öffnen läßt, ohne die aktuelle Oberfläche zu verlassen.

Es öffnet sich nach einem Klick auf das entsprechende Icon unmittelbar als Modal oberhalb der aktuellen Oberfläche.

Die Möglichkeiten, die sich hier bieten sind nahezu unbegrenzt. So können hinterlegte Aktionen durch Barcode-Scans zunächst ausgewählt werden (z.B. Setzen einer Eigenschaft, Ändern eines Schrittstatus, Durchführung eines Exports, Manipulation von Workflows). Anschließend kann mit jedem Scan eines Vorgangsbarcodes oder eines Batch-Barcodes die gewählte Aktion für die betroffenen Vorgänge ausgeführt werden. Das elegante hierbei ist, dass als Aktionen all diejenigen verwendet werden können, die auch über GoobiScript zur Verfügung stehen.

Die hierbei zu verwendenden Aktionen lassen sich in der Konfigurationsdatei des Plugins sehr granular definieren. Für eine bequeme Nutzung der Funktionalität ist es dann möglich, dass direkt aus dem Plugin heraus Barcodes für die hinterlegten Aktionen generiert werden können, um diese anschließend z.B. ausdrucken zu können.

Für ein automatisches Tracken des Aufenthaltsorts eines Objektes ist es somit beipsielsweise sehr einfach möglich, Barcodes für einzelne Büros zu generieren, die dann für jedes Objekt beim Eintreffen in einem Büro mit Barcodeleser zu verwenden und damit den aktuellen Aufenthaltsort des Objekts als Vorgangseigenschaft in Goobi mitzuführen.

Eine Dokumentation für dieses neue Plugin wurde noch nicht erzeugt und steht auch noch nicht online. Diese wird vorraussichtlich im kommenden Monat veröffentlicht.

Interne Umstellungen für den Umgang mit Riot-basierten Plugins

Aufgrund der Umstellung auf Java 21 musste für alle Plugins die technisch auf der Infrastruktur von Riot basieren und zwischen Frontend und Backend mittels REST kommuniziert haben, eine größere Umstellung der REST-Anbindung erfolgen. Dies resultiert nun darin, dass nach dem Update auf die hier beschriebene Version ggf. eine Anpassung der Zugriffsrecht für einige REST-Endpoints erfolgen muss. Details für die Anpassungen finden sich hierzu stets in der Updateanleitung von Goobi workflow:

Codeanalyse

Versionsnummer

Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 25.02. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml entsprechend folgende Abhängigkeit eingetragen werden:

<dependency>
    <groupId>io.goobi.workflow</groupId>
    <artifactId>workflow-core</artifactId>
    <version>25.02</version>
    <classifier>classes</classifier>
</dependency>

August

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

Endlich ist der neue Vokabularserver fertig und konnte schon in Betrieb gehen. Doch auch viele andere Bereiche von Goobi haben diesen Monat Neuerungen erhalten.

Core

Neuer Vokabularserver

Goobi workflow verfügt bereits seit mehreren Jahren über eine Vokabularverwaltung. Diese war bisher in Goobi fest integriert und konnte somit an den verschiedenen Bereichen aus Goobi selbst verwendet werden, beispielweise innerhalb des Metadateneditors und in einigen Plugins. Der Vokabularserver verfügte in der Vergangenheit auch bereits über eine Api, um auch externe Applikationen damit kommunizieren zu lassen. Verwendung fand dies allerdings bisher nicht.

Neue Anforderungen stellten uns nun vor der Herausforderung, dass Funktionalitäten erforderlich wurden, die mehr als nur eine Anpassung der bestehenden Vokabularverwaltung erforderlich machten. Aus diesem Grund haben wir einen neuen Vokabularserver von Grund auf entwickelt, der äußerst flexibel ist, verschiedene Datensatztypen samt Validierung kennt und von vornherein mehrsprachig ausgelegt ist.

Er verfügt auch über einen Exportmechanismus im RDF-Format und ein Migrationstool, um die Daten aus der bisherigen Vokabularverwaltung in den neuen Vokabularserver umzuziehen. Und natürlich verfügt der neue Vokabularserver auch über eine sehr umfangreiche REST-API, die eine vollständige Kommunikation mit den Vokabularen ermöglicht. Über diese API kommuniziert nun auch Goobi workflow mit dem Vokabularserver.

Einer der Nebeneffekte dieser Umstellung ist, dass der Vokabularserver nun eigenständig und auf eigener Infrastruktur betrieben werden kann. Dies erlaubt, dass nun auch tatsächlich andere Applikationen aus verschiedenen Netzsegmenten damit arbeiten können, ohne dass Goobi workflow selbst öffentlich zugänglich werden muss.

Eine Anbindung des Goobi viewers an den Vokabularserver ist noch nicht erfolgt aber für das kommende Jahr geplant. Was außerdem noch offen ist, ist die Möglichkeit wie bisher aus der Nutzeroberfläche neue Vokabulare zu definieren. Vokabulare werden derzeit in dem Vokabularserver über REST-Aufrufe definiert. Auch hierzu wird es sicher bald eine Nutzeroberfläche geben. Bis dahin aber haben wir schon eine sehr umfangreiche Dokumentation zur Vefügung gestellt, die die Installation und Verwaltung des Vokabularservers beschreibt. Sie findet sich an dieser Stelle:

Der Vokabularserver wurde wie Goobi worklow auch auf Github unter der GPL2 als Open Source veröffentlicht und dokumentiert. Das Repository befindet sich hier:

Bedingt angezeigte Vorgangseigenschaften

Die Vorgangseigenschaften werden werden in vielen Goobi Installationen dazu benutzt, dass von Bearbeitern Informationen erfasst werden, während Aufgaben in Goobi ausgeführt werden. Typische solche Informationen sind beispielsweise der Öffnungswinkel, die Nutzung der Glasplatte, das verwendete Gerät und einige andere.

Öfter kam schon der Wunsch auf, dass die hierbei erfassbaren Felder nicht immer komplett aufgeführt werden, sondern immer nur dann für den Nutzer angezeigt werden, wenn diese auch erforderlich sind, abhängig von der Auswahl eines anderen Wertes in einer anderen Eigenschaft. Diese Funktionalität haben wir nun umgesetzt.

Innerhalb der Anlegemaske beispielsweise wird eine Eigenschaft angezeigt:

Wenn von dieser Eigenschaft der Wert geändert wird, werden abhängig davon andere Eigenschaften ebenso angezeigt:

Das gleiche Prinzip funktioniert ebenso innerhalb der angenommenen Aufgaben. Auch dort wird eine Eigenschaft angezeigt:

Und andere Eigenschaften lassen sich abhängig von der Auswahl der Eigenschaft zusätzlich anzeigen:

Die Konfiguration für das hier gezeigte Beispiel sieht innerhalb der Konfigurationsdatei goobi_processProperties.xml wie folgt aus:

    <!-- check status of object -->
    <property name="Status" container="1">
        <project>*</project>
        <showProcessCreation access="write" template="*" />
        <showStep name="Restauration" access="write"/>
    	<type>List</type>
        <value>OK</value>
        <value>Restauration needed</value>
        <value>Cancel</value>
    </property>

    <property name="Replace binding" container="1">
        <project>*</project>
      
      	<!-- show inside of creation interface -->
        <showProcessCreation access="write" template="*">
            <display property="Status" value="Restauration needed" />
        </showProcessCreation>
      
      	<!-- show inside of task -->
      	<showStep name="Restauration" access="write">
      		<display property="Status" value="Restauration needed" />
        </showStep>
        <type>Boolean</type>
    </property>
  
    <property name="Additional Restauration tasks" container="1">
        <project>*</project>
      
      	<!-- show inside of creation interface -->
        <showProcessCreation access="write" template="*">
            <display property="Status" value="Restauration needed" />
        </showProcessCreation>
      
      	<!-- show inside of task -->
      	<showStep name="Restauration" access="write">
      		<display property="Status" value="Restauration needed" />
        </showStep>
        <type>Text</type>
    </property>

Vorgangstitel ausblendbar in Anlegemaske

Vielen Anwendern von Goobi ist nicht bekannt, dass ich in der Anlegemaske auch Felder ausblenden lassen. Neu hinzugekommen ist in diesem Monat, dass sich auch der Vorgangtitel ausblenden läßt. Dies kann zum Beispiel sinnvoll sein, wenn dieser autoamtisch generiert wird und nicht von Nutzern geändert werden soll.

Die Konfiguration erfolgt innerhalb der Konfigurationsdatei goobi_projects.xml und kann dort zusammen mit den anderen Ausblendungen erfolgen:

<hide>collections</hide>
<hide>doctype</hide>
<hide>images</hide>
<hide>processtitle</hide>

Umgestaltung der Konfiguration für die Anlegemaske

Auch andere Änderungen haben wir im Bereich der Anlegemaske von Goobi vorgenommen. Hier war uns schon seit längerem die komplizierte Konfiguration innerhalb der Datei goobi_projects.xm ein Dorn im Auge, so dass wir nun neue verkürzte Schreibweisen für die gleiche Konfiguration erlauben, die intuitiver zu verwenden sind. Dennoch bleibt der Mechanismus abwärtskompatibel und kann sukzessive auf die besser lesbare Konfiguration umgestellt werden. Dazu gehört unter anderem:

  • Wenn für ein Feld (z.B. für den Identifier) das Attribut autogenerated="true" gesetzt wird, wird dieses Feld jetzt standardmäßig ausgeblendet, kann aber zusätzlich eingeblendet werden durch Umschaltung der Anzeige.

  • Wenn für ein Feld (z.B. für den Identifier) das Attribut autogenerated="true" gesetzt wird und es angezeigt wird, steht hinter dem Label jetzt der Hinweis, dass es automatisch generiert wird.

  • Es kann jetzt eine Auswahlmöglichkeit von Werten aus einem Vokabular geben. Dazu wurde das Attribut vocabulary eingeführt.

  • Die bisherigen Bezeichnungen prozess, werk und vorlage innerhalb des Attributs from wurden geändert zu process, work und template. Die alten Attribute werden jedoch weiterhin funktionieren, so dass keine Umstellung erfolgen muss.

  • Das Attribut ughbinding ist ab jetzt optional. Es ist per default dann true wenn in metadata ein Wert steht. Das Attribut kann allerdings auch weiterhin aufgeführt werden und wird entsprechend interpretiert.

  • Das Attribut docstruct hat jetzt den default-Wert topstruct, so dass das Attribut in den meisten Fällen weggelassen werden kann und nur dann aufgeführt werden muss, wenn dort firstchild verwendet werden soll.

  • Es wurde ein neues Attribut type eingeführt, das als default-Wert text hat. Es wird nur dann ausgewerted, wenn keine Auswahlliste (mit oder ohne Vokabular) verwendet wird. Es erlaubt die Werte text, textarea, date und datetime.

  • Wenn als type entweder date oder datetime angegeben wird, kann auch ein Attribut pattern angegeben werden, das das Layout von Datum und Zeit definiert. Für datetime ist dies immer erforderlich, um die Zeit eintragen zu können.

Bisherige Konfiguration eines Haupttitels:

<item from="vorlage" docstruct="topstruct" metadata="TitleDocMain" required="true" ughbinding="true">Title</item>

Neue verkürzte Schreibweise für den Haupttitel:

<item from="template" metadata="TitleDocMain" required="true">Title</item>

Wenn eine Eigenschaft hingeben direkt am Vorgang gespeichert werden soll, kann auch das Attribut from weggelassen werden:

<item metadata="TitleDocMain" required="true">Title</item>

Soll eine Information hingegen ausschließlich innerhalb der METS-Datei gespeichert werden, kann die Speicherung als Eigenschaft so unterbunden werden:

<item metadata="TitleDocMain" required="true" from="-">Title</item>

Auch die Schreibweise der Position, wo ein Metadatum gespeichert wird, haben wir vereinfacht. Bisher wurde die Position so ausgedrückt:

<item metadata="PublisherName" docstruct="firstchild">Title</item>

Verkürzt sieht das jetzt so aus:

<item metadata="PublisherName" docstruct="child">Title</item>

Neue Feldtypen für die Anlegemaske

Bisher waren die Feldtypen in der Anlegemaske von Goobi worklow recht beschränkt. Hier haben wir nun drei neue Varianten geschaffen.

Informationen können jetzt in einer Textarea erfasst werden:

<item metadata="TitleDocMain" required="true" type="textarea">Title</item>

Informationen können aus Vokabularen übernommen werden:

<item metadata="DocLanguage" vocabulary="Languages">Language</item>

Und auch Datumsangaben mit Kalenderauswahl sind nun möglich:

<item metadata="DateOfOrigin" required="true" type="date" pattern="yyyy-MM-dd">Issue Date</item>

Plugins

Umbau Doku-Plattform für Plugins

Aktuell verfügen bereits 143 der insgesamt 360 Plugins bereits über eine sehr ausführliche zweisprachige Dokumentation. Um diese bei dieser Vielzahl an Nutzungsszenarien und Plugintypen weiterhin gut pflegen zu können, haben wir uns dazu entschieden, die Art der Dokumentation zu überarbeitet. Statt die Dokumentationen an einer zentralen Stelle zu pflegen, haben wir sämtliche Dokumentationen jeweils in den Unterordner docs des jeweiligen Plugins umgezogen und dessen Aufbau homogenisiert. Damit ist es ab nun möglich, dass die Dokumentation für jedes Plugin jeweils auch bei dem Entwickler im gleichen Quelltextrepository vorliegt, um sie zu überblicken und auch inhaltlich pflegen zu können.

Aus diesen somit deutlich einfacher zu pflegenden einzelnen Dokumentationen erzeugen wir nun automatisch eine zentrale Datenquelle in ein eigenes Repository, was hier zu finden ist:

Erstellung von Plugin-Doku für ca. 20 Plugins

Und weil wir sowieso schon so aktiv an den Dokumentationen von Plugins gearbeitet haben, haben wir in diesem Monat einfach einmal 20 weitere Plugins dokumentiert, womit nun ca. 150 Plugins bereits umfangreich dokumentiert sind.

Fertistellung der neuen Archiv-Management-Plugins

In den letzten Monaten haben wir sehr intensiv an der Überarbeitung des Archiv-Management-Plugins gearbeitet. Ziel war dabei, dass wir funktionell sowie auch von der Bedienung einige Neuerungen umsetzen wollten. Diese konnten wir nun endlich abschließen und in einem ersten Projekt in Betrieb nehmen.

Einige der größten Neuerungen sind in diesem Kontext unter anderem:

  • Es wird keine BaseX-Datenbank mehr zusätzlich benötigt. Stattdessen speichert Goobi die Informationen aller Knoten des Archivbaums innerhalb der Goobi-Datenbank.

  • Mehrere Personen können gleichzeitig in einem Archivbaum arbeiten, ohne dass Sperrungen des gesamten Baumes nötig sind.

  • Es können jetzt EAD2, EAD3 und EAD4 Formate eingelesen und verarbeitet werden

  • Es gibt jetzt einen eigenständigen EAD-Export zum Goobi viewer

  • Knoten und Baumabschnitte können jetzt umgehängt werden innerhalb des Baumes

  • Knoten können dupliziert werden

  • Knoten können in Masse angelegt werden

  • Es können sehr granulare Rechte für die Arbeit mit dem Archiv-Management vergeben werden

  • Es können Berechtigungen für die Inhalte vergeben werden

  • Suche nach allen Metadaten statt nur nach Titelinhalten

  • Composite-Fields als Gruppen mit mehreren Metadatenfeldern

  • Verschiedene Feldtypen pro Metadatum

  • Periodischer Export des gesamten EAD-Bestandes zum Goobi viewer

  • Stark konfigurierbarer Export für den gesamten Bestand oder auch pro Metadatum

Mehr Informationen zu dem Plugin, dessen Installation und Konfiguration finden sich hier: https://docs.goobi.io/workflow-plugins/de/administration/goobi-plugin-administration-archive-management

Neues Plugin zur Anreicherung von MIX Metadaten

Wir haben ein neues Plugin für die Anreicherung der METS-Dateien mit MIX Metadaten implementiert. Es erlaubt, dass aus vorliegenden Bildern deren Metadaten ausgelesen und anschließend in der METS-Datei als MIX-Daten gespeichert werden. Dazu ruft das Plugin zunächst einmal JHove auf und extrahiert aus dem somit gewonnenen Analyseergebnis die gewünschten Metadaten gemäß der festgelegten Konfiguration.

Hier einmal ein Ausschnitt einer solchen Konfiguration:

<jhoveConfig>/opt/digiverso/goobi/config/jhove/jhove.conf</jhoveConfig>
<renameMappings>
    ...
    <value from="ImageCaptureMetadata/ScannerCapture/scannerManufacturer" to="ImageCaptureMetadata/DigitalCameraCapture/digitalCameraManufacturer" removeEmptyParents="true"/>
    <value from="ImageCaptureMetadata/ScannerCapture/ScannerModel/scannerModelName" to="ImageCaptureMetadata/DigitalCameraCapture/DigitalCameraModel/digitalCameraModelName" removeEmptyParents="true"/>
    ...
</renameMappings>
<extraMappings>
    ...
    <value source="//jhove:property[jhove:name='ExposureTime']//jhove:value[1]" target="ImageCaptureMetadata/DigitalCameraCapture/CameraCaptureSettings/ImageData/exposureTime" transform="rational2real"/>
    <value source="//jhove:property[jhove:name='ISOSpeedRatings']//jhove:value[1]" target="ImageCaptureMetadata/DigitalCameraCapture/CameraCaptureSettings/ImageData/isoSpeedRatings"/>
    <value source="//jhove:property[jhove:name='ShutterSpeedValue']//jhove:value[1]" target="ImageCaptureMetadata/DigitalCameraCapture/CameraCaptureSettings/ImageData/shutterSpeedValue" transform="rational2rationalType"/>
    ...
</extraMappings>

Auf diese Weise werden die Metadaten in die METS-Datei von Goobi überführt. In der weiteren Verarbeitung der Vorgänge vor allem in Hinblick auf die Veröffentlichung stehen somit diese konfigurierten übernommenen technischen Metadaten aus den Master-Bildern in der METS-Datei und damit dann auch für Nutzer bequem zur Verfügung.

Sie können somit beispielsweise neben den Bildern zusätzlich eingeblendet oder auch danach gesucht werden.

Versionsnummer

Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 24.08.3. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml entsprechend folgende Abhängigkeit eingetragen werden:

<dependency>
    <groupId>io.goobi.workflow</groupId>
    <artifactId>workflow-core</artifactId>
    <version>24.08.3</version>
    <classifier>classes</classifier>
</dependency>

Oktober

Entwicklungen und Neuigkeiten zu Goobi workflow

Core

Harvester

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.

LIDO

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:

        <Metadata>
          <InternalName>Person</InternalName>
          <WriteXPath>./lido:eventActor/lido:displayActorInRole</WriteXPath>
          <exportEmptyNode>false</exportEmptyNode>
        </Metadata>

Plugins

Dashboard: Barcode

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.

Import: Liechtensteiner Volksblatt

Für die Durchführung des Imports des Liechtensteiner Volksblatts wurde ein spezielles Importplugin entwickelt.

Codeanalyse

Versionsnummer

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:

<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>23.10.2</version>
</dependency>

November

Entwicklungen und Neuigkeiten zu Goobi workflow

Core

Vorgangseigenschaften

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:

    <property name="Beschreibung" container="0">
        <project>*</project>
        <showProcessCreation access="write" template="*" />
        <type>Textarea</type>
        <defaultvalue></defaultvalue>
    </property>

Snippets

  • 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

Plugins

Import: Charité - Ärztinnen im Kaiserreich und verfolgte Ärzte

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.

Schritt: Metadaten pro Bild

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.

Schritt: Aufgaben duplizieren

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.

Schritt: PDF Dateien extrahieren

Das bereits bekannte Plugin für die vollautomatische Aufbereitung von PDF-Dateien wurde um eine freie Dateibenennung und eine aktualisierte Dokumentation ergänzt.

Codeanalyse

Versionsnummer

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:

<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>23.11.1</version>
</dependency>

September

Entwicklungen und Neuigkeiten zu Goobi workflow

Core

Bedienbarkeit

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.

GoobiScript

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.

REST

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:

Plugins

Import: Excel zu EAD

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.

Februar

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

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.

Core

Config Editor

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.

Frontend Buildsystem

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.

Snippets

  • 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.

Plugins

Export: VLM

Das VLM Export-Plugin kann jetzt basierend auf Metadaten und Bedingungen unterschiedliche Konfigurationsblöcke verwenden.

Schritt: Rename-Files

Das Schritteplugin um Dateien umzubenennen wurde massiv erweitert und kann jetzt mit in der neuen Konfigurationssektion <namepart /> mehrere <condition /> und <replace /> Argumente enthalten.

Schritt: Metadata-Edition

Im Schritteplugin zum Bearbeiten von Metadaten gab es einen Bugfix um Informationen zum Repräsentanten korrekt zu speichern.

Codeanalyse

Versionsnummer

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:

<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>24.02.2</version>
</dependency>

Juni

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

In diesem Monat lag der Fokus hauptsächlich auf der Implementierung der neuen Vokabularverwaltung. Aber auch das Archiv-Management bekommt nun einen neuen Anstrich.

Core

Flexiblere Ordnerkonfiguration

Man kann bereits seit einiger Zeit verschiedene Ordner konfigurieren, um jenseits von master und media auch andere Verzeichnisstrukturen zu nutzen. Diese Funktionalität wurde nun so erweitert, dass die konfigurierbaren Ordner nun auch für andere Stellen konfiguriert werden und nicht nur auf diejenigen beschränkt sind, die innerhalb des images-Verzeichnisses des Vorgangs liegen. Eine beispielhafte Konfiguration sieht so aus:

Die Definition der Verzeichnisse erfolgt in der Konfigurationsdatei goobi_config.properties so:

process.folder.ocr.pdf={processtitle}_pdf
process.folder.export.files={processtitle}_pdf
process.folder.validation.jpylyzer={processtitle}_xml

Innerhalb eines Plugins können solche definierten Pfade dann verwendet werden, wie beispielsweise im FileUpload-Plugin in dessen Konfigurationsdatei plugin_intranda_step_fileUpload.xml:

<config_plugin>
    <config>
            <project>*</project>
            <step>*</step>
            <regex>/.*/</regex>
            <folder>master</folder>
            <folder>media</folder>
            <folder>ocr.pdf</folder>
            <folder>export.files</folder>
            <folder>validation.jpylyzer</folder>                        
    </config>
</config_plugin>

Vokabular

Die Arbeiten am Vokaburserver haben im letzten Monat gestartet und gehen weiter voran. Viel sichtbares gibt es noch nicht zu berichten. Wir werden hier voraussichtlich in den kommmenden Wochen genauere Fortschritte vermelden können.

Plugins

Archivmanagement

Für eine größere Performance und Flexibilität im gesamten EAD / Archivkontext haben wir beschlossen, die Speicherung der Archivalien aus der eigens separat installierten BaseX-Datenbank zu entfernen und stattdessen sämtliche EAD-Daten intern von Goobi workflow verwaltet in der Goobi-Datenbank zu speichern. Diese Arbeiten unter der Haube konnten jetzt größtenteils abgeschlossen werden. Damit ist bereits eine enorme Performancesteigerung eingetreten.

Erste Änderungen der Nutzeroberfläche wurden mittlerweile ebenfalls vorgenommen. So wurde zum Beispiel implementiert, dass die NodeID ab sofort auch im Archivbaum stets mit angezeigt werden kann und Knoten in Masse angelegt und mit Metadaten versehen werden können. Auch kann die Anzeige der Metadaten der einzelnen Knoten über die Konfigurationsdatei etwas besser gesteuert werden kann und es können Verlinkungen zwischen verschiedenen Knoten erzeugt werden.

Einige Wochen werden wir mit den Entwicklungen noch beschäftigt sein. Wir werden hier wieder berichten.

Versionsnummer

Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 24.06.1. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml entsprechend folgende Abhängigkeit eingetragen werden:

<dependency>
    <groupId>io.goobi.workflow</groupId>
    <artifactId>workflow-core</artifactId>
    <version>24.06.1</version>
    <classifier>classes</classifier>
</dependency>

Januar

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

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.

Core

Benutzereinstellungen

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.

Suche

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.

Harvester

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.

Barrierefreiheit

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.

Sicherheit

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.

Snippets

  • Im GoobiScript setPriority ist die Option steptitle jetzt optional.

  • Ein Fehler, der bei einer leeren Suche nach Normdaten aufgetreten ist, wird jetzt abgefangen.

Plugins

Import: Excel

Das generische Importplugin für Excel-Dateien kann das Anlegen der Vorgänge jetzt auch via GoobiScript abarbeiten.

OPAC: Soutron

Das Soutron OPAC Plugin unterstützt jetzt auch die neue XML API.

Codeanalyse

Versionsnummer

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:

August

Entwicklungen und Neuigkeiten zu Goobi workflow

Core

Bedienbarkeit

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:

GoobiScript

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.

REST

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.

Plugins

Export: VLM

Der VLM Export unterstützt neben einem Passwort jetzt auch die Möglichkeit die SFTP-Funktionalität mit einem SSKH Key zu verwenden.

Export: Heris

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.

Import: Nürnberger Hausbücher

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.

Schritt: Bildauswahl

Ein Schritteplugin zur Auswahl und festlegen einer Reihenfolge von Bildern sowie Speichern des Ergenisses für die weitere Verarbeitung als Prozesseigenschaft wurde fertiggestellt.

Codeanalyse

Versionsnummer

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:

Juli

Entwicklungen und Neuigkeiten zu Goobi workflow

  • GoobiScript Anpassungen

  • Dokumentation der Schrittedetails

Core

GoobiScript Templates

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.

Eigenschaften beim Vorgang anlegen

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.

Snippets

  • Der Zeitungsexport für die DDB schreibt nun erweiterte Informationen um DFG-Viewer Darstellungsanforderungen zu erfüllen.

Codeanalyse

Versionsnummer

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:

Dezember

Entwicklungen und Neuigkeiten zu Goobi workflow

Core

Tabellen

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.

GoobiScript

Wenn mehrere Export Schritte in einem Vorgang existieren, dann kann man jetzt im GoobiScript den Titel übergeben, damit der richtige Export getriggert wird. Beispiel:

Snippets

  • 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.

Plugins

Schritt: Herunterladen und verifizieren von Dateien

Ein Schritteplugin um Dateien herunterzuladen, zu verifizieren und dann an das externe System eine Rückmeldung zu geben wurde entwickelt.

Versionsnummer

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:

Juni

Entwicklungen und Neuigkeiten zu Goobi workflow

  • GoobiScript Templates

  • Dokumentation der Schrittedetails

Core

API Token

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.

Vorgang anlegen

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.

Plugins

Schritt: OCR zu Metadatum

Es wurde ein neues Schritteplugin entwickelt, dass es erlaubt den OCR Text aller Bilder eines Vorgangs in ein Metadatum zu überführen.

Snippets

  • 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.

Juli

Entwicklungen und Neuigkeiten zu Goobi workflow

Allgemein

In diesem Monat lag der Fokus vor allem auf drei Dingen: dem Umbau des Vokabulars, der Implementierung des neuen Archiv-Managements sowie der Entwicklung des Plugins für den österreichischen Wohnbaufonds.

Core

Vokabular

Die Entwicklungen am neuen Vokabularserver gehen gut voran. Funktioniell ist am neuen Vokabularserver alles soweit vorbereitet, dass wir uns in diesem Monat auf die Umsetzung der Nutzeroberfläche konzentrieren konnten.

Ziel ist, so viel wie möglich durch die Nutzeroberfläche bequem bedienbar zu haben. Eine administrative Oberfläche zum Neuanlegen von Vokabularen werden wir in diesem Kontext noch nicht implementieren.

Nutzeroberfläche und Javascript-Frontend-Build

Es gibt sehr viele über die Jahre angestauten Altlasten, die wir gerade parallel aufräumen. An einer Überarbeitung der Nutzeroberfläche sitzen wir ja bereits seit einer ganzen Weile. In dem Kontext prüfen wir auch die Anhängigkeiten von den im Hintergrund eingesetzten JavaScript-Bibliotheken sowie den gesamten Kompilierprozess für die Nutzeroberfläche. Viele dieser Arbeiten sieht man nicht unmittelbar direkt in der Anwendung später. Nötig sind diese Arbeiten aber dennoch.

Plugins

Dateneinspielung für den österreichischen Wohnbaufonds

Für den österreichischen Wohnbaufonds wurde ein automatisierter Datenimport entwickelt. Hierbei geht es darum, dass digitalisierte Akten, die in Form mehrerer Lieferungen durch den Scandienstleister bereitgestellt und in json-Dateien werden, in ihre jeweiligen Dokumente zerlegt, strukturiert und mit Metadaten angereichert werden.

Das Plugin ist sehr spezifisch auf den österreichischen Wohnbaufonds ausgerichtet und daher kaum für andere Projekte sinnvoll nachnutzbar. Dennoch finden sich hier auf der Dokumentationsseite weitere Details für Interessierte:

Implementierung einer Rechnungsgenerierung und Lieferscheingenerierung mit Kostenerfassung

Für die Zentralbibliothek in Zürich wurde benötigt, dass Nutzerbestellungen möglichst verautomatisiert bearbeitet werden können. Hierzu wurde ein sehr besonderer Workflow ausgearbeitet, der die Nutzerbestellungen analysiert und entsprechend die gewünschten Arbeitsschritte ausführt.

Teil des Workflows ist dabei unter anderem, dass auch Informationen zu Kosten mit erfasst werden können. Diese sind abhängig von Währung, von der Bestellung, von der Lieferart und anderen Faktoren abhängig, so dass tatsächlich eine manuelle Anpassung der Kostenaufstellung gewünscht ist.

Abschließend erzeugt Goobi mit diesem Plugin automatisch Lieferscheine, lädt die Daten auf einen Zielserver hoch und generiert ebenso eine Rechnungsvorlage für die Buchhaltung.

Mehr Details zu dem Plugin finden sich wie gewohnt hier auf der Dokumentationsseite:

Archiv-Management

Wir sind in den letzten Zügen des Großumbaus für die Archivalien. Unsere Planung sieht vor, dass wir mit den Entwicklungen im kommenden Monat fertig werden. Dann gibt es endlich auch detaillierte Informationen über die Neuerungen.

Versionsnummer

Die aktuelle Versionsnummer von Goobi workflow lautet mit diesem Release: 24.07. Innerhalb von Plugin-Entwicklungen muss für Maven-Projekte innerhalb der Datei pom.xml entsprechend folgende Abhängigkeit eingetragen werden:

Nutzeroberfäche von Goobi workflow basierend auf Bootstrap 5
Metadateneditor mit sehr ähnlichem Erscheinungsbild wie bisher
Normdatenfelder für Personen und Orte in anderer Optik
Überarbeitete Obefläche für die Erfassung von neuen Strukturelementen
Validierungsmeldungen im Seitenbereich und an den Metadaten
Überarbeitete Eigenschaften in einheitlichem Layout in den Vorgangsdetails
Überarbeitete Eigenschaften in einheitlichem Layout in den Aufgaben
Erfassung von Eigenschaften in Modal
Bisherige Verwaltung von Batches
Plugin mit Auswahlmöglichkeit wartender Batches
Möglichkeit zum Erzeugen eines neuen Batches

Icon zum Öffnen des Plugins innerhalb der Menüleiste oben jederzeit sichtbar
Geöffnetes Modal mit der Möglichkeit eine Aktion über Barcode-Scan auszulösen
Oberfläche zur einfachen Generierung von Barcodes
Generierter Barcode für eine Standortzuweisung

Die folgenden Screenshots zeigen die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .

Analyseergebnisse für neuen Quellcode
Analyseergebnisse für den gesamten Quellcode
Vokabulare integriert in der Goobi workflow Oberfläche
Bearbeitung eines einfachen Vokabulars
Bearbeitung eines umfangreicheren Vokabulars
Hierarchische Vokabulardatensätze

Anzeige einer Eigenschaft in der Anlegemaske
Anzeige weiterer Eigenschaften abhängig vom ausgewählten Wert in der Anlegemaske
Anzeige einer Eigenschaft in eine angenommenen Aufgabe
Anzeige weiterer Eigenschaften abhängig vom ausgewählten Wert in einer angenommenen Aufgabe

Eine Dokumentation zu diesen Möglichkeiten findet sich hier im Handbuch:

Eine Dokumentation der gesamten Konfigurationsdatei findet sich hier:

Dokumentation innerhalb de docs-Ordners direkt im Plugin-Repository
Zentrales Dokumentationsrepository generiert aus den Plugin-Dokumentationen

Aus diesem Repository speist sich dann wiederum unsere Dokumentationsplattform unter .

Dokumentationsplattform für die Plugins
Auflistung der verfügbaren Archivbestände
Bearbeitungsmaske für einen Archivbestand
Anlegen von Knoten in Masse
Technische Metadaten im MIX Format innerhalb der METS-Datei
Technische Metadaten zu einem Bild in der Anzeige für Endnutzer im Goobi viewer

Mehr Informationen zu dem Plugin, dessen Installation und Konfiguration finden sich hier:

Der folgende Screenshot zeigt die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .

SonarCloud Analyse: Goobi workflow Core - für den Git Tag v23.10
Vorgangseigenschaft als Textarea

Der folgende Screenshot zeigt die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .

SonarCloud Analyse: Goobi workflow Core - für den Git Tag v23.11
Fehlermeldung beim Anlegen eines neuen Vorgangs
Details des bereits existierenden Vorgangs in der Anlegemaske
Der Konfigurationseditor wurde in den Goobi workflow Core integriert

Der folgende Screenshot zeigt die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .

SonarCloud Analyse: Goobi workflow Core - für den Git Tag v24.02
Viel gibt es noch nicht zu sehen
Überarbeitete Oberfläche des Archiv-Managements

Der folgende Screenshot zeigt die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .

Der folgende Screenshot zeigt die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .

Coming soon

Der folgende Screenshot zeigt die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .

Coming soon

https://docs.goobi.io/workflow-plugins/step/goobi-plugin-step-batch-assignment
https://docs.goobi.io/goobi-workflow/de/admin/08_update_guide
Projektseite
https://github.com/intranda/goobi-vocabulary-server/blob/develop/docs/de/README.md
https://github.com/intranda/goobi-vocabulary-server/tree/develop
https://docs.goobi.io/goobi-workflow/admin/06_config_files/10_goobi_processproperties.xml#bedingte-anzeige-von-eigenschaften
https://docs.goobi.io/goobi-workflow/de/admin/06_config_files/11_goobi_projects.xml
https://docs.goobi.io/
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-mix-metadata-enrichment
Projektseite
Projektseite
Projektseite
<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>24.01.2</version>
</dependency>
<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>23.08</version>
</dependency>
<item from="prozess" multiselect="false">
    Schrifttyp
    <select label="Antiqua">antiqua</select>
    <select label="Fraktur">fraktur</select>
    <select label="kein OCR">no_ocr</select>
</item>
<item from="prozess" required="true">Fachcode</item>
<item from="prozess" multiselect="false" required="true">
    Digistandort
    <select label="Haus 2">Haus 2</select>
    <select label="Haus 1">Haus 1</select>
</item>
<item from="prozess" multiselect="false" required="true">
    Öffnungswinkel
    <select label="180">180</select>
    <select label="110">110</select>
</item>
<item from="prozess" multiselect="false">
    Glasplatte
    <select label="Ja">true</select>
    <select label="Nein">false</select>
</item>
<item from="prozess" multiselect="false" required="yes">
    Viewerexport
    <select label="Nein">false</select>
    <select label="Ja">true</select>
</item>
<?xml version="1.0" encoding="UTF-8"?>
<config_processProperties>
    <property name="Schrifttyp" container="0">
        <project>*</project>
        <showProcessCreation access="write" template="*" />
        <type>List</type>
        <value>Antiqua</value>
        <value>Fraktur</value>
        <value>kein OCR</value>
    </property>

    <property name="Fachcode" container="0">
        <project>*</project>
        <showProcessCreation access="writeRequired" template="*" />
        <type>Text</type>
        <defaultvalue></defaultvalue>
    </property>

    <property name="Digistandort" container="0">
        <project>*</project>
        <showProcessCreation access="writeRequired" template="*" />
        <type>List</type>
        <value>Haus 2</value>
        <value>Haus 1</value>
    </property>

    <property name="Öffnungswinkel" container="0">
        <project>*</project>
        <showProcessCreation access="writeRequired" template="*" />
        <type>List</type>
        <value>180</value>
        <value>110</value>
    </property>

    <property name="Glasplatte" container="0">
        <project>*</project>
        <showProcessCreation access="write" template="*" />
        <type>List</type>
        <value>Ja</value>
        <value>Nein</value>
    </property>

    <property name="Viewerexport" container="0">
        <project>*</project>
        <showProcessCreation access="writeRequired" template="*" />
        <type>List</type>
        <value>Nein</value>
        <value>Ja</value>
    </property>
</config_processProperties>
<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>23.07.2</version>
</dependency>
---
# This GoobiScript allows to export Goobi processes using the default export mechanism. It either uses the default export or alternativly an export plugin that was configured in one of the workflow steps.
action: export

# Decide if the images shall get exported additionally to the metdata (`true`).
exportImages: false

# Decide if the OCR results shall get exported additionally as well (`true`).
exportOcr: false

# Decide which export plugin shall be used by giving the name of this export plugin. It has the highest priority if it is configured. [OPTIONAL]
pluginName: 

# Decide which export plugin shall be used by giving the name of the export step. If it is configured then it will try to find this export step first, and only when there is no such step, will the standard choice be used instead. [OPTIONAL]
stepName: "Export into the Goobi viewer"
<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>23.12.3</version>
</dependency>
<dependency>
    <groupId>io.goobi.workflow</groupId>
    <artifactId>workflow-core</artifactId>
    <version>24.07</version>
    <classifier>classes</classifier>
</dependency>
Anzahl der Bilder jetzt auch in den Benutzereinstellungen
Neue Optionen für den integrierten Harvester, unter anderem ein Testmodus
Benutzer Journal enthält jetzt Informationen über Laden der Einstellungen durch einen Administrator
SonarCloud Analyse: Goobi workflow Core - für den Git Tag v24.01.1
Altes Interface vor der Änderung der Terminologie
zweiter Reiter im alten Interface vor der Änderung der Terminologie
Oberfläche nach der Umbenennung
zweiter Reiter in der Oberfläche nach der Umbenennung
SonarCloud Analyse: Goobi workflow Core - für den Git Tag v23.08
Übersicht über vorhandene GoobiScript Templates
Maske zum Bearbeiten von einem GoobiScript Template
GoobiScript Templates in der Auswahl der verfügbaren GoobiScript Einträge
Eigenschaften und Metadaten werden in der Anlegemaske gemeinsam angezeigt.
Eigenschaften und Metadaten können in der Anlegemaske jetzt separat angezeigt werden.
SonarCloud Analyse: Goobi workflow Core - für den Git Tag v23.07.1
In der Übersicht kann ein neuer API Token hinzugefügt werden
Beim Anlegen können selektierte REST Endpoints freigeschaltet werden
Angelegte Token sind mit der Beschreibung und der erlaubten Methoden in der Übersicht sichtbar
Beispielaufruf für einen API Endpoint mit Token
Übersicht über Vokabulare
Datensätze eines Vokabulars
Automatismus zur Datenübernahme
Workflow für Nutzerbestellungen
Erfassungsmaske für Kosten
Rechnungsgenerierung für die Buchhaltung

Dezember

Entwicklungen und Neuigkeiten zu Goobi workflow

Ankündigungen

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.

Ausblick

Oberfläche

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.

REST API

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.

Dateizugriff

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.

Versionsbezeichnung

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:

<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>22.12</version>
</dependency>
🚀
🚀
Projektseite
Projektseite
Projektseite
https://docs.goobi.io/workflow-plugins/de/quartz/goobi-plugin-quartz-bka-wohnbau
https://docs.goobi.io/workflow-plugins/de/step/goobi-plugin-step-zbz-order-delivery

Januar

Entwicklungen und Neuigkeiten zu Goobi workflow

  • Portierung der Benutzeroberfläche auf neues Framework

  • Regelmäßige Aufgaben

  • Dokumentation der Schrittedetails

Core

ALTO Editor

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.

Bedienbarkeit

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.

Plugins

Schritt: Metadatenbearbeitung

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.

Versionsnummer

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:

<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>23.01</version>
</dependency>

Februar

Entwicklungen und Neuigkeiten zu Goobi workflow

  • Portierung der Benutzeroberfläche auf neues Framework

  • Regelmäßige Aufgaben

  • Dokumentation der Schrittedetails

Core

Performance

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.

Suche

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:

Default={}
Eigenschaft={} |processproperty:Template:{}
Projekt={} |project:{}
mit Leerzeichen="{}" "|processproperty:Material type:{}" 
Metadaten={} |meta:TitleDocMain:{}

Sofern konfiguriert erscheint auf der Seite "Vorgänge" vor dem Suchschlitz oberhalb der Tabelle ein Dropdown Menü mit den konfigurierten Werten.

Plugins

Schritt: Dateien umbenennen

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.

Schritt: Workflow ändern

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.

Versionsnummer

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:

<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>23.02</version>
</dependency>

Mai

Entwicklungen und Neuigkeiten zu Goobi workflow

  • Dokumentation der Schrittedetails

  • Personalisierte API Token

Core

Fehler- und Korrekturmeldungen

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:

# Text templates for error reporting and problem solutions
task.error.Missing\ pages=The following pages are missing: {}
task.error.Blurred\ images=The images {} are unsharp. Please create these again.
task.solution.Problem\ solved=The problem was solved. {}
task.solution.The\ original\ print\ is\ blurred=The original pages are printed blurry. It is not possible to create sharper images. {}

Mailversand

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.

Codequalität

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.

Performance

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.

Plugins

Import: Excel-Import

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

Schritt: PDF-Generierung

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.

Codeanalyse

Der folgende Screenshot zeigt 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.

Versionsnummer

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:

<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>23.05.1</version>
</dependency>

März

Entwicklungen und Neuigkeiten zu Goobi workflow

  • Portierung der Benutzeroberfläche auf neues Framework

  • Dokumentation der Schrittedetails

  • Verbesserte PDF-A Generierung

  • REST-API

Core

Regelmäßige Aufgaben

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 * * ?

Sortierung für zusätzliche Spalten

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.

Bedienbarkeit

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.

Snippets

  • 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.

April

Entwicklungen und Neuigkeiten zu Goobi workflow

  • Dokumentation der Schrittedetails

  • Verbesserte PDF-A Generierung

Core

Benutzeroberfläche

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.

REST API

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:

Plugins

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.

Codeanalyse

Versionsnummer

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:

<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>23.04.3</version>
</dependency>

Juni

Entwicklungen und Neuigkeiten zu Goobi workflow

Opac Plugin für Kalliope dokumentiert

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?

Opac Plugin für Ariadne erweitert

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:

Neues flexibleres DOI-Plugin

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:

Umbau der Inline-Hilfe

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.

(Weiter-)Entwicklung eines Plugins für einen flexiblen Export

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:

Erweiterung des Goobi-Handbuchs für Konfigurationsdateien

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:

goobi_metadataDisplayRules.xml

Diese Konfigurationsdatei ist maßgeblich dafür, wie sich die Eingabefelder innerhalb des Metdateneditors verhalten sollen:

goobi_rest.xml

In dieser Konfigurationsdatei wird festgelegt, auf welche Bereich der REST-API externe Dienste zugreifen dürfen und wie sie sich authentifizieren müssen:

goobi_opac.xml

Diese Konfigurationsdatei legt die Kataloge fest, aus denen Goobi workflow Daten importieren können soll:

goobi_opacUmlaut.txt

Diese Konfigurationsdatei steuert, wie mit Umlauten, die bei der Katalogabfrage zurückgegeben werden, verfahren werden soll:

goobi_projects.xml

Diese umfangreiche Konfigurationsdatei erlaubt einen Einfluß darauf zu nehmen, wie genau die Anlegemaske von Goobi aufgebaut sein soll:

Korrektur für GoobiScript bei Ausführung von mehreren setTaskProperty-Aufrufen

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.

Gültigkeitsdauer der Session

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.

Verarbeitung und Bereitstellung von E-Pflicht-Publikationen - Work in Progress

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.

Versionsbezeichnung

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:

Oktober

Entwicklungen und Neuigkeiten zu Goobi workflow

Core

Bessere Anzeige von Validierungsergebnissen im Metadateneditor

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.

Suchschlitz in der Vorgangsliste endlich wieder bequem nutzbar

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:

Korrektur der URLs für Vokabulardatensätze

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.

Erste Layoutumstellungen gehen live

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:

GoobiScript nun auch zur Änderung von Metadaten innerhalb von Metadatengruppen

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:

Aufrufe von Skripten im Journal besser nachvollziehbar

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.

Super-Admins haben jetzt immer alle Rechte

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.

Plugins

Neues Plugin für flexible Dateivalidierungen

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:

Dokumentation

URN-Plugin erlaubt nun den Einsatz hinter einem Proxy

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:

Dokumentation für das Artist Dictionary Plugin ist online

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:

Versionsbezeichnung

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:

August

Entwicklungen und Neuigkeiten zu Goobi workflow

Core

Allgemeine Layout-Umstellung auf Bootstrap 5

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.

Bereinigung der Anzeige der aktiven Sessions

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.

Datenbankanbindung für Produktionsvorlagen optimiert

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.

Prüfung der Passwortlänge korrigiert

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.

Automatische Unit-Tests

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.

Code-Qualität

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:

Plugins

Erweiterung des URN-Plugins für besonderen Aufbau

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:

Löschen von mehreren Bildern im Plugin Image-QA

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:

Export-Package-Plugin mit ZIP-File-Funktionalität ausgestattet

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:

Neues Plugin für Massenimport aus Excel-Dateien mit EAD-Anreicherung

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:

Versionsbezeichnung

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:

November

Entwicklungen und Neuigkeiten zu Goobi workflow

Projekte

easydb

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.

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.

Core

Plugins im Metadateneditor

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.

Metadatengenerierung

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:

PDF Download im Metadateneditor

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

Plugins

Schritt: Vorgang umbenennen

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.

Export: Zeitungsexport

Das Plugin um einen Export für das DDB Zeitungsportal zu realisieren wurde für eine bessere Anzeige der Daten im DFG-Viewer angepasst.

Dokumentation

Versionsbezeichnung

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:

Coming soon

Terminologie vor der Änderung
Terminologie nach der Änderung

Coming soon

Individuelle Sucheinstiege oberhalb der Vorgangsliste

Coming soon

Dropdown mit Fehlertyp in "Fehler melden"-Dialog
SonarCloud Analyse: Goobi workflow Core - für den Git Tag v23.05

Coming soon

Übersicht der Regelmäßigen Aufgaben in der Benutzeroberfläche
Überarbeitung der Terminologie bei den Projekteinstellungen

Coming soon

Die portierte Benutzeroberfläche sieht gleich aus, wirkt aber insgesamt luftiger

Der folgende Screenshot zeigt die SonarCloud Analyse des aktuellen Releases. Weitere Informationen gibt es direkt auf der .

SonarCloud Analyse: Goobi workflow Core - für den Git Tag v23.04.3

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 Dokumentation der goobi_config.properties wurde umfassend überarbeitet, dokumentiert und steht ab sofort in der Dokumentation zur Verfügung:

🚀
🚀
🚀
🚀
🚀
Projektseite
---
action: setTaskProperty
steptitle: "My step"
property: readimages
value: true

---
action: setTaskProperty
steptitle: "My step"
property: writeimages
value: true

---
action: setTaskProperty
steptitle: "My step"
property: metadata
value: false

---
action: setTaskProperty
steptitle: "My step"
property: exportdms
value: false
<dependency>
  <groupId>de.intranda.goobi.workflow</groupId>
  <artifactId>goobi-core-jar</artifactId>
  <version>22.06</version>
</dependency>
<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>22.10</version>
</dependency>
...
urn:nbn:de:gbv:48-goobi-10
urn:nbn:de:gbv:48-goobi-11
urn:nbn:de:gbv:48-goobi-12
urn:nbn:de:gbv:48-goobi-13
...
...
urn:nbn:de:gbv:48-goobi-2022-08-17-06-30-15
urn:nbn:de:gbv:48-goobi-2022-08-17-06-31-17
urn:nbn:de:gbv:48-goobi-2022-08-17-06-31-23
urn:nbn:de:gbv:48-goobi-2022-08-17-06-31-42
...
URN PLUGIN: Running URN generation for process ID 1234
URN PLUGIN: Finished URN generation for process ID 1234
<dependency>
  <groupId>de.intranda.goobi.workflow</groupId>
  <artifactId>goobi-core-jar</artifactId>
  <version>22.08</version>
</dependency>
<generate ref="TitleDocMain">
    <condition>goobi:metadata[@name='genre'][text()='Letter']</condition>
    <value>Letter from [ACTOR_FROM] to [ACTOR_TO] at [PLACE], [DATE]</value>

    <item>
        <label>ACTOR_FROM</label>
        <type>xpath</type>
        <field>goobi:metadata[@type='group'][@name='name'][goobi:metadata[@name='name_role_roleTerm'][text()='is created by (intellectual)']]/goobi:metadata[@name='name_displayForm']</field>
        <regularExpression>(.+), .*</regularExpression>
        <replacement>$1</replacement>
    </item>
    <item>
        <label>ACTOR_TO</label>
        <type>xpath</type>
        <field>goobi:metadata[@type='group'][@name='name'][goobi:metadata[@name='name_role_roleTerm'][text()='is intended for']]/goobi:metadata[@name='name_displayForm']</field>
        <regularExpression>(.+), .*</regularExpression>
        <replacement>$1</replacement>
    </item>
    <item>
        <label>PLACE</label>
        <type>xpath</type>
        <field>goobi:metadata[@type='group'][@name='location_related_place'][goobi:metadata[@name='location_holdingExternal_relation_type'][text()='is bound from']]/goobi:metadata[@name='location_physicalLocation_related_place']</field>
    </item>
    <item>
        <label>DATE</label>
        <type>variable</type>
        <field>{meta.originInfo_dateCreated_start}</field>
        <regularExpression>([0-9]{4})-[0-9]{2}-[(0-9]{2}</regularExpression>
        <replacement>$1</replacement>
    </item>
</generate>
<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>22.11</version>
</dependency>
Einbindung des neuen DOI-Plugins in den Workflow
Inline Hilfe
Erweiterter Bereich für die Konfigurationsdateien
Login für Abliefernde
Registrierung der Abliefernden
Verwaltung der Daten der Einrichtung des Abliefernden
Auswahl der möglichen Aktionen
Integrierte Hilfe
Administrativer Bereich von Goobi workflow für die abliefernden Einrichtungen
Administrativer Bereich von Goobi workflow für die einzelnen Benutzer der abliefernden Einrichtungen
Steuerung der Datenschutzerklärung aus dem Administrativen Bereich
Metadatenvalidierung direkt am Feld
Hervorhebung der Strukturelemente in der Baumansicht
Validierungsmeldung im Popup
Suchschlitz auf normalen Displays
Suchschlitz auf mobilen Endgeräten mit kleineren Displays
Auswahl von Werten aus einem Vokabular nach Durchführung einer Suche
Übernahme der URL zu dem ausgewählten Wert
Verwaltung von Benutzern nach ersten Layoutumstellungen
GoobiScript für die Änderung eines Metadatums innerhalb einer Metadatengruppe
Skriptaufruf innerhalb eines Arbeitsschritts
Vorgangslog mit Details über die Skriptaufrufe
Benutzerdetails mit aktivierter Checkbox für Super-Admins
Erste Seiten sind bereits auf Bootstrap 5 umgestellt
Anzeige der aktiven Nutzer und deren Sessioninformationen
Schnellere Ladezeiten bei umfangreichen Produktionsvorlagen
Hinzugekommene Tests im August 2022
Allgemeine Bewertung von Goobi workflow
Bewertung der Codequalität der letzten Entwicklungen
Aktivitätanzeige bzgl. der ermittelten potentiellen Probleme im Quellcode
Gegenüberstellung Vorher und Nachher
Mehrfachauswahl zum Löschen von Bildern
Plugin für das Sammlungsportal
Plugins im Metadateneditor oben in der blauen Leiste
Metadateneditor Plugin zum wechseln des Publikationstyps
PDF-Download im Metadateneditor
LogoGitHub - intranda/goobi-plugin-step-metadata-edition: This is a step plugin for Goobi workflow to allow the edition of individual metadata fields right inside of an accepted task. It is highly configurable and contains a user interface.GitHub
LogoGitHub - intranda/goobi-plugin-step-rename-files: This step plugin allows you to automatically adjust file names within Goobi processes.GitHub
LogoGitHub - intranda/goobi-plugin-step-change-workflow: This is a step plugin for Goobi workflow to allow changing of a started workflow based on process properties.GitHub
generische XML OPAC Plugin
DataPoller
Fetch-Images-From-Metadata Schritteplugin
Kapitel 7.2

Juli

Entwicklungen und Neuigkeiten zu Goobi workflow

Core

Generierung von URLs für die SRU Schnittstelle und das IIIF Manifest

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:

http://viewer.example.org/sru/$(meta.CatalogIDDigital)
https://viewer.example.org/api/v1/records/$(meta.CatalogIDDigital)/manifest/

Das Ergebnis innerhalb einer so erzeugten METS-Datei ist entsprechend dann wie folgt:

<dv:links>
<dv:iiif>https://viewer.example.org/api/v1/records/1234567889/manifest/</dv:iiif>
<dv:sru>http://viewer.example.org/sru/1234567889</dv:sru>
</dv:links>

Anpassungen für die Bildkommentare

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:

GoobiScript metadataChangeType korrigiert

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:

Logging beim Applikations-Stop verbessert

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.

Plugins

Verarbeitung von Zeitungen

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.

Massenimporte mit Archivbestand-Anreicherung

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.

Bessere Volltextextraktion aus PDF-Dateien

Das Step-Plugin intranda_step_pdf-extractionerlaubt, 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:

Dokumentationen

Im Bereich unserer Dokumentationen ist auch wieder viel passiert:

Inline-Dokumentation für GoobiScript

Bei dem GoobiScript addToProcessLog waren die enthaltenen Erläuterungen nicht ideal. Hier gab es eine kleine Korrektur, die nun so aussieht:

Kleine Umstellung in der Updateanleitung

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.

Konfigurationsdateien

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:

Versionsbezeichnung

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:

<dependency>
  <groupId>de.intranda.goobi.workflow</groupId>
  <artifactId>goobi-core-jar</artifactId>
  <version>22.07</version>
</dependency>

September

Entwicklungen und Neuigkeiten zu Goobi workflow

Core

Speichern im Metadateneditor

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.

Neue Journalfunktionalität

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.

Beschleunigtes Ladeverhalten für umfangreiche Werke

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:

s3://bucket/123/images/bla_media/00000001.tif
s3://bucket/123/images/bla_media/00000002.tif
s3://bucket/123/images/master_bla_media/00000001.tif
s3://bucket/123/images/master_bla_media/00000002.tif
s3://bucket/123/images/bla_jpg/00000001.tif
s3://bucket/123/images/bla_jpg/00000002.tif

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.

Schönheitsfehler bei leeren Tabellenspalten beseitigt

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.

Bessere Prüfung des verfügbaren Speicherplatzes

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.

Zusammenarbeit mit einem Proxy verbessert

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:

http_proxyIgnoreHost=localhost

Erweiterter LIDO-Support

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:

<exportEmptyNode>true</exportEmptyNode> 

An einem konkreten Beispiel veranschaulicht sieht dies so aus:

<Metadata>
    <InternalName>OtherTitle</InternalName>
    <exportEmptyNode>true</exportEmptyNode>
    <XPath>./lido:objectIdentificationWrap/lido:titleWrap/lido:titleSet/lido:appellationValue[@lido:pref='alternative']</XPath>
    <WriteXPath>./lido:objectIdentificationWrap/lido:titleWrap/lido:titleSet/#lido:appellationValue[@lido:pref='alternative']</WriteXPath>
</Metadata>

Das Ergebnis innerhalb des generierten LIDO würde dann so aussehen:

<lido:objectIdentificationWrap>
    <lido:titleWrap>
        <lido:titleSet>
            <lido:appellationValue lido:pref="preferred">Testdatensatz_LIDO, Zusatztitel</lido:appellationValue>
            <lido:appellationValue lido:pref="alternative" />
        </lido:titleSet>
    </lido:titleWrap>
</lido:objectIdentificationWrap>

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:

<lido:appellationValue lido:pref="alternative" />

Mehr zu den Möglichkeiten der Konfiguration für die Metadatenexporte findet sich in der folgenden Dokumentation:

Plugins

Plugin für die Bearbeitung von Personendaten kurz vor Fertigstellung

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.

Erweiterung des Catalogue Pollers

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:

      <!-- fieldList: Must have a mode attribute which can contain either blacklist or whitelist as a value.
        blacklist: All fields are updated except the defined ones. This is a potential dangerous setting!
        whitelist: Only the definied fields are updated. All others are skipped. 
        field: Use the internal metadata names from the ruleset as field definition
      -->
      <fieldList mode="blacklist">
         <field>viewerinstance</field>
         <field>singleDigCollection</field>
         <field>pathimagefiles</field>
         <field>_urn</field>
         <field>_representative</field>
      </fieldList>

Die Dokumentation des Plugins findet sich in aktualisierter Form unter der folgenden Adresse:

Das Plugin kann wie gehabt hier von GitHub heruntergeladen werden:

Plugin für die Generierung von PDFs erweitert

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:

<?xml version="1.0" encoding="UTF-8"?>
<config_plugin>
    <!-- order of configuration is: 
         1.) project name and step name matches 
         2.) step name matches and project is * 
         3.) project name matches and step name is * 
         4.) project name and step name are * 
    -->
    <config>
        <!-- which projects to use for (can be more then one, otherwise use *) -->
        <project>*</project>
        <!-- which stepss to use for (can be more then one, otherwise use *) -->
        <step>*</step>
         <!-- Choose the source images folder that shall be used for PDF generation. Possible values are 'media' and 'master' -->
        <imagesFolder>media</imagesFolder>
        <!-- If enabled, PDF files for every single image are generated -->
        <pagePdf enabled="true" /> 
        <!-- If enabled, a PDF file for the entire record is generated. This file includes the table of contents from the METS file if exists. -->
        <fullPdf enabled="true" />
    </config>
    
    <config>
        <project>testocr</project>
        <step>testpdf</step>
        <imagesFolder>master</imagesFolder>
        <pagePdf enabled="true" />
        <fullPdf enabled="false" />
    </config>
</config_plugin>

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.

Neues REST Plugin für MARC-Datenbezug

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:

Auflistung aller importierbaren Daten

Mit diesen Kommando werden alle Datensätze aufgelistet, die aktuell bereitliegen.

Aufruf der REST-API:

curl -s -H "Content-Type: application/xml" -H "token:SECRET" http://127.0.0.1:8080/goobi/api/delivery/listfiles

Antwort der REST-API:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<files>
    <file>a643b394-d56c-415c-9da9-b07008187445.xml</file>
</files>

Abfrage eines konkreten Datensatzes

Mit diesem Kommando kann ein einzelner Datensatz gezielt abgefragt werden.

Aufruf der REST-API:

curl -s -H "Content-Type: application/xml" -H "token:SECRET" http://127.0.0.1:8080/goobi/api/delivery/get/a643b394-d56c-415c-9da9-b07008187445.xml

Die REST-API antwortet anschließend mit dem abgefragtes MARC Datensatz.

Erfolgreiche Datenübernahme

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:

curl -s -X POST -H "Content-Type: application/xml" -H "token:SECRET" http://127.0.0.1:8080/goobi/api/delivery/finish/a643b394-d56c-415c-9da9-b07008187445.xml/aDIS-ID12345

Meldung über einen Fehler bei der Datenübernahme

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:

curl -s -X POST -H "Content-Type: application/xml" -H "token:SECRET" -d'<msg><type>error</type><message>Corrupt filename</message></msg>' http://127.0.0.1:8080/goobi/api/delivery/error/a643b394-d56c-415c-9da9-b07008187445.xml

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.

Dokumentation

Updatehinweise für das XMP-Plugin ergänzt

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:

Versionsbezeichnung

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:

<dependency>
    <groupId>de.intranda.goobi.workflow</groupId>
    <artifactId>goobi-core-jar</artifactId>
    <version>22.09</version>
</dependency>

Januar

Entwicklungen und Neuigkeiten zu Goobi workflow

Erweiterung der Benutzereinstellungen zur individuellen Konfiguration des Anzeigemodus

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.

Anpassungen am Konfigurationseditor

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:

Skip Link

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.

Aufgaben aus Produktionsvorlagen nicht mehr im Dashboard

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.

Kommentare zu einzelnen Bildern nun möglich

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:

Thumbnailauswahl hat nur Auswirkung auf Paginierung

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.

Fehler im Vorgangslog bei Enter

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.

Überprüfung aller Buttons

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.

Invalide Goobiscript-Syntax verweigert nun direkt die Arbeit

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.

GoobiScript "addUserGroup" kann nun erfolgreich mehrfach aufgerufen werden

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.

Keine führenden oder endenden Leerzeichen mehr in der Vokabularverwaltung

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.

Metadatenanpassungen via GoobiScript nutzen VariablenReplacer

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:

Versionsbezeichnung

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:

Februar

Entwicklungen und Neuigkeiten zu Goobi workflow

Flip-Funktionalität im QA-Plugin

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:

Verständlichere Meldung von Fehlern bei Extraktion von PDF-Dateien

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.

Sortierung der Benutzer jetzt intuitiver

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.

Neues GoobiScript zum Klonen von Vorgängen

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:

Ausführung eines Plugins aus den Vorgangsdetails schreibt nun eine Nachricht ins Vorgangslog

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.

Regelsatz-Datei nun per Dropdown auswählbar

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.

Breadcrumbs nach dem Anlegen eines Vorgangs korrgiert

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.

Rechteverwaltung: Bug behoben

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.

Regelsatzdatei in den Vorgangsdetails einsehbar

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:

Neues Backupsystem für meta.xml und meta_anchor.xml

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:

Backup Rotation: Nur von Goobi verwaltete Dateien werden behandelt

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.

Bessere Metadatenerfassung für Bildbereiche

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.

Excel import kann nun bei fehlenden Bildern kontrolliert fehlschlagen

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:

Verbesserungen beim Update des Datenbank Schemas

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.

GoobiScript executeStepAndUpdateStatus schließt nun auch bei Schritte-Plugins den Schritt

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.

Anzahl der Metadaten und Bilder ermitteln: Reihenfolge der Tabellen geändert

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.

Versionsbezeichnung

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:

Mai

Entwicklungen und Neuigkeiten zu Goobi workflow

Anzeige der Bilderanzahl in Aufgaben und Vorgängen

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:

Installierte Plugins besser überschaubar

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.

Bessere Sortierbarkeit der Vorgänge und Aufgaben

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. :)

Projektstruktur optimiert

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.

Bessere Log-Informationen über ausgeführtes GoobiScript

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:

Erweiterungen für das AEON-Plugin

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.

GoobiScripte für Metadatenmanipulationen erweitert

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:

Umstellungen des Datenbanktreibers

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:

Erweiterung des Goobi-Handbuchs

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.

Bessere Anzeige von Informationen im Vorgangslog

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.

Neuer User: Passwort war kein markiertes Pflichtfeld

Fälschlicherweise wurde beim Anlegen neuer Nutzer nicht angezeigt, dass ein Passwort für einen neuen Account ein Pflichtfeld ist. Dies ist korrigiert worden.

Versionsbezeichnung

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:

März

Entwicklungen und Neuigkeiten zu Goobi workflow

Neues GoobiScript zum Ändern von Personen-Rollen

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:

Neue Dokumentation für Entwickler

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:

Export-Button nun in der Spalte "Aktionen" der Vorgangsdetails

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.

Besseres Looging beim Ändern eines Schrittstatus via GoobiScript

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.

Benennung der Backup-Dateien im Editor für Konfigurationsdateien und Regelsätze

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.

WCAG: Änderungen hier und da

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. 😀

Implementierung einer ARK-Registrierung

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:

Regelsatz als neue Spalte für Vorgänge und Produktionsvorlagen

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:

Plugin zum Versenden von Mails

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:

Erweiterung der Benutzereinstellungen zur individuellen Konfiguration des Anzeigemodus

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.

Plugin zum Export von Zeitungen in das DDB Zeitungsportal

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:

Umfangreiche Umstellungen in der internen Projektstruktur

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.

Darstellungsfehler in einem Dropdown in den eigenen Aufgaben

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. 😀

Versionsbezeichnung

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:

April

Entwicklungen und Neuigkeiten zu Goobi workflow

Step-Plugin zur Laufzettelgenerierung

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:

Bildbereiche besser erfassbar

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:

Erweiterung der Editoren für Konfigurationsdateien und 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:

Icon für Bestände im Archiv-Management

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.

Automatische Generierung von Vorschaubildern

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.

Passwortlänge über Konfiguration steuerbar

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:

Neues Plugin zur Metadatenanreicherung aus einer Excel-Datei

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:

Neues Plugin zur Datenübername aus einem Verzeichnis

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:

Neues Plugin für Manipulationen innerhalb der METS-Dateien

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:

Auswahl eines Massenimport-Plugins vereinfacht

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.

Erweiterung des Plugins zur Bearbeitung von Metadaten

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:

Archivmanagement: Benennung von hochgeladenen EAD-Dateien

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.

Fehler beim GoobiScript metadataAdd werden besser geloggt

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.

Überarbeitung des SRU-Clients

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.

Logging innerhalb des Plugins für den Massenupload

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.

Logging auch für das Ausloggen von Nutzern hilfreicher

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?

Bugfix für die Statistik "Speicherzuwachs über Zeit"

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.

Versionsbezeichnung

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:

Neue Felder für SRU und IIIF
GoobiScript metadataChangeType
Workflow für die Verarbeitung von Zeitungen
Erfassung von Zeitungsausgaben
Erfassung von Beilagen
Metadateneditor für eine Zeitung
Recherche über einen Kalender im Goobi viewer
Recherche einer Zeitung im DFG-Viewer
Nutzeroberfläche eines Massenimports für Akten
Angereicherte Tektokik auf der Basis der importierten Excel-Dateien
Erzeugte strukturierte Metadaten und Bilder auf Basis der eingespielten Excel-Dateien
Bessere inline-Hilfe
Umstrukturierte Updateanleitung
Problematischer Speichern-Button im Metadateneditor
Button zum Speichern und Verlassen
Journal innerhalb eines Vorgangs
Journal innerhalb einer Einrichtung
Journal innerhalb eines Benutzers
Tabelle in den Workflowdetails ist korrigiert
Meldung bei fehlendem Speicherplatz
Dashboard für den einfachen Einstieg
Detaillierte Bearbeitungsmaske
Überarbeitete Nutzeroberfläche des Catalogue Pollers
Möglichkeit für den Download der Ergebnisse eines Testlaufs
Heruntergeladene Excel-Datei mit den Ergebnissen eines Testlaufs
<config_plugin>

    <configFileDirectories>
        <directory backupFiles="16">/opt/digiverso/goobi/config/</directory>
        <directory backupFolder="wizzardBackup/" backupFiles="4">/opt/digiverso/layoutwizzard/</directory>
        <directory backupFolder="itmPluginsBackup/" backupFiles="4" fileRegex="\.xml">/opt/digiverso/itm/plugins/config/</directory>
        <directory backupFolder="itmBackup/" fileRegex="\.xml">/opt/digiverso/itm/config/</directory>
        <!--
        Example:
        <directory backupFolder="exampleBackup/" backupFiles="12" fileRegex="\.xml">/opt/digiverso/example/config/</directory>
        -->
    </configFileDirectories>

</config_plugin>
ShowImageComments=true
# This GoobiScript allows to add a new metadata to a METS file.
action: metadataAdd

# Internal name of the metadata field to be used. Use the internal name here (e.g. `TitleDocMain`), not the translated display name (e.g. `Main title`).
field: Description

# This is used to define the value that shall be stored inside of the newly created metadata field.
value: {meta.TitleDocMain} is the book title for the process with ID {processid}.

# Define where in the hierarchy of the METS file the searched term shall be replaced. Possible values are: `work` `top` `child` `any`
position: work

# Define if the further processing shall be cancelled for a Goobi process if an error occures (`false`) or if the processing should skip errors and move on (`true`).
# This is especially useful if the the value `any` was selected for the position.
ignoreErrors: true
<dependency>
  <groupId>de.intranda.goobi.workflow</groupId>
  <artifactId>goobi-core-jar</artifactId>
  <version>22.01</version>
</dependency>
---
# This GoobiScript allows to clone an existing process and store it under a new name.
action: cloneProcess

# Title for the new process that is created. Please notice that typically no special characters and no blanks are allowed.
title: "{processtitle}_copy"

# You can define here now much of the content shall be cloned. Possible values are `all` (all data, the database entry and the METS file), `empty` (no data, just the database entry and the corresponding METS file)
content: all
meta.xml.1
meta.xml.2
meta.xml.3
YYYY-MM-DD-HHmmssii
2022-02-25-113430394
meta.xml.2022-02-25-113430394
<importImages failOnMissingImageFiles="true">
    <!-- prefix path to the image folder. Can be empty or missing if the import doesn't contain images or if the excel field contains absolute path  -->
    <imageFolderPath>/opt/digiverso/images/</imageFolderPath>
    <!-- define which column contains the image folder name. Can be combined with <imageFolderPath> prefix or an absolute path.
    If the field is missing, empty or does not contain an existing directory, no images will be imported -->
    <imageFolderHeaderName>images</imageFolderHeaderName>
    <!-- Image handling strategy. Valid values are "move", "copy" or "ignore".  -->
    <imageHandlingStrategy>move</imageHandlingStrategy>
</importImages>
<dependency>
  <groupId>de.intranda.goobi.workflow</groupId>
  <artifactId>goobi-core-jar</artifactId>
  <version>22.02</version>
</dependency>
software.aws.rds.jdbc.mysql.Driver
<dependency>
  <groupId>de.intranda.goobi.workflow</groupId>
  <artifactId>goobi-core-jar</artifactId>
  <version>22.05</version>
</dependency>
# This GoobiScript allows to change the type of an existing person.
action: metadataChangePersonType

# Define the current type that shall be changed. Use the internal name here (e.g. `TitleDocMain`), not the translated display name (e.g. `Main title`).
oldType: Author

# Define the type that shall be used as new type. Use the internal name here as well.
newType: Inventor

# Define where in the hierarchy of the METS file the searched term shall be replaced. Possible values are: `work` `top` `child` `any`
position: work

# Define if the further processing shall be cancelled for a Goobi process if an error occures (`false`) or if the processing should skip errors and move on (`true`).
# This is especially useful if the the value `any` was selected for the position.
ignoreErrors: true
<dependency>
  <groupId>de.intranda.goobi.workflow</groupId>
  <artifactId>goobi-core-jar</artifactId>
  <version>22.03</version>
</dependency>
{
"Master": false,
"Media": true,
# "Img_directory": additional directory,
# "Custom_script_command": "",
"Sizes" : [400, 600]
}
minimumPasswordLength=12
<dependency>
  <groupId>de.intranda.goobi.workflow</groupId>
  <artifactId>goobi-core-jar</artifactId>
  <version>22.04</version>
</dependency>
Nutzerspezifischer Anzeigemodus
Bessere Erreichbarkeit des Skip-Links
Aufgaben aus Produktionsvorlagen nicht mehr im Dashboard
Bildkommentar im Metadateneditor
Bildkommentar im ImageQA-Plugin
Anzeige von Bildkommentaren innerhalb des Vorgangslogs
Auswahl der Seiten nur noch im Bereich der Paginierung
Enter bei Nachrichten für das Vorgangslogs
Hilfreiche Fehlermeldung bei falscher Syntax
Korrektur für GoobiScript
GoobiScript mit Nutzung des Variablensystems
Spiegeln von Bildern
Sortierung der Benutzer
Anzeige der Aufrufe im Vorgangslog
Regelsatzdateien nun auswählbar mittels Dropdown-Liste
Die korrigierte Breadcrumb führt zur vollständigen Vorgangsliste
Nutzerrechte
Name der Regelsatzdatei wird sichtbar mit Mauszeiger
Die Verwendung von Variablen läßt sich mit dem Mauszeiger herausfinden
Die internen Namen der Metadaten werden sichtbar mit dem Mauszeiger
Mehrere Backups der Datei meta.xml
Reguläres Hinzufügen von Bildbereichen
Hinzufügen von weiteren Bildbereichen
Löschen von Bildbereichen
Anzahl der Bilder als Spalte aktivierbar
Anzeige der installierten Plugins
Sortierung der Spalten
Sonar Überblick
Jenkins Überblick
Besseres Logging von GoobiScript-Aufrufen
AEON Weiterentwicklung
AEON Weiterentwicklung
AEON Weiterentwicklung
Passwort als Pflichtfeld
Ändern von Personenrollen via GoobiScript
Einrichtung der Entwicklungsumgebung
Button für Export beim Arbeitsschritt
Log-Meldungen beim Ändern des Schrittstatus via GoobiScript
Editor für Konfigurationsdateien
Erzeugte Backup mit besserer Benennung
Accessibility für die Vorgangsliste
Regelsatz als mögliche Spalte in der Tabellenansicht
Versenden von Mails
Einstellbarer Anzeigemodus pro Nutzer
Geschlossene potentielle Sicherheitslücken
Bildbereichsauswahl
Neues Icon für den obersten Knoten
Arbeitsschritt mit automatischer Genererierung von Vorschaubildern
Erzeugte Vorschaubilder im thumbs-Ordner
Automatische Auswahl des Plugins
Logo7.3 goobi_metadataDisplayRules.xmlGoobi workflow (Deutsch)
Logo7.3 goobi_metadataDisplayRules.xmlGoobi workflow (Deutsch)
Logo7.3 goobi_metadataDisplayRules.xmlGoobi workflow (Deutsch)
Logo7.4. GoobiScriptGoobi workflow (Deutsch)
Logo7.4. GoobiScriptGoobi workflow (Deutsch)
Logo7.4. GoobiScriptGoobi workflow (Deutsch)
LogoURNs generierenGoobi workflow - Plugins (Deutsch)
LogoURNs generierenGoobi workflow - Plugins (Deutsch)
LogoGitHub - intranda/goobi-plugin-step-urn: This is a Step Plugin for Goobi workflow which registers URNs for digitised items at the German National Library using the REST API.GitHub
LogoGitHub - intranda/goobi-plugin-step-urn: This is a Step Plugin for Goobi workflow which registers URNs for digitised items at the German National Library using the REST API.GitHub
LogoSonarCloudSonarCloud
LogoSonarCloudSonarCloud

Dezember

Entwicklungen und Neuigkeiten zu Goobi workflow

Sicherheitslücke Log4j

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.

Neues GoobiScript: metadataBackup

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:

---
# This GoobiScript allows to create a backup of meta.xml and meta_anchor.xml.
action: metadataBackup

Excel-Exports in Statistiken korrigiert

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.

Korrigierter Fehler beim Speicherintervall

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.

Erweiterung des Plugins zum automatischen Löschen von Inhalten

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:

Erweiterung des Delay-Plugins für mehrere Konfigurationen

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:

GoobiScript executeStepAndUpdateStatus angepasst

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.

Ausführen von Scripten innerhalb der Vorgangsdetails

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.

Pluginübersicht zeigt nun auch Inhalte aus dem goobi/lib Ordner an

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.

Accessibility: Dropdown-Buttons überarbeitet

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.

Versionsbezeichnung

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:

<dependency>
  <groupId>de.intranda.goobi.workflow</groupId>
  <artifactId>goobi-core-jar</artifactId>
  <version>21.12</version>
</dependency>

September

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • Neues Plugin für die Bearbeitung von Konfigurationsdateien

  • Neues Plugin für die Bearbeitung von Regelsätzen

  • Anpassungen der Institutionsanzeige

  • AEON-Plugin

Druckansicht für Metadaten überarbeitet

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.

Verständlichere Anzeige innerhalb von GoobiScript

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. :)

Bessere Dokumentation für das XMP-Header Plugin

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:

Kleinere Überarbeitungen an der Inline-Hilfe

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.

Verbessertes Speichern-Verhalten bei Benutzeradministration und Projektadministration

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.

Überarbeitung der Nutzeroberfläche für Benutzergruppen

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.

Verbessertes Mapping von Metadaten bei der Nutzung von Datacite DOI

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:

Übersichtlicheres Vorgangslog in den Aufgaben

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.

Versionsbezeichnung

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:

August

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • 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

Keine neuen Vorgänge für deaktivierte Projekte

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.

Ausblenden von nicht benötigen Buttons

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.

Verbesserungen an der Nutzeroberfläche für das Archiv-Management

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.

Anpassungen am Menü

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.

Neues Plugin zum Prüfen der Regelsatzkonformität

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:

Neues Plugin zum Zurücksetzen der Paginierung

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:

Darstellungsfehler in den Benutzereinstellungen

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.

Änderung an der Konfiguration

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:

Datenbank-Optimierungen für größere Datenbestände

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:

Versionsbezeichnung

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:

Log4j Sicherheitslücke
Aufruf des neuen GoobiScripts
Korrgierter Export von Excel-Dateien für Statistiken
Nutzereinstellungen für das automatische Speichern
Konfigurationsdatei zum automatischen Löschen
Plugin veröffentlicht bei GitHub
Konfiguration für das Plugin
Plugin veröffentlicht bei GitHub
GoobiScript executeStepAndUpdateStatus
Scripte innerhalb der Vorgangsdetails aufrufen
Pluginübersicht
LogoGitHub - intranda/goobi-plugin-step-exportPackage: This step plugin for Goobi workflow allows you to export the metadata and content of a Goobi process to a configurable pathGitHub
<dependency>
  <groupId>de.intranda.goobi.workflow</groupId>
  <artifactId>goobi-core-jar</artifactId>
  <version>21.09</version>
</dependency>
truststore = /path/to/file
truststore_password = password
<dependency>
  <groupId>de.intranda.goobi.workflow</groupId>
  <artifactId>goobi-core-jar</artifactId>
  <version>21.08</version>
</dependency>
Logo9.2. UpdateschritteGoobi workflow (Deutsch)
Logo9.2. UpdateschritteGoobi workflow (Deutsch)
Logo7.4. GoobiScriptGoobi workflow (Deutsch)
Logo9.2. UpdateschritteGoobi workflow (Deutsch)
https://docs.goobi.io/goobi-workflow-de/admin/9/9.2
Mehrere Hierarchieebenen im Strukturbaum im Metadateneditor
Generierte Druckansicht mit Repräsentant
Tiefe Hierarchien in der Druckansicht zusammen mit den Seitenzuweisungen
Verständlichere Anzeige des Ergebnisses von GoobiScript
Verbesserte Inline-Hilfetexte bei den Dateigruppen
Bessere Kennzeichung der Möglichkeit für zusätzliche Rechte
Eingeblendeter Hinweis, wenn alle Gruppen bereits zugewiesen wurden
Anzeige des Vorgangslogs innerhalb einer angenommenen Aufgabe
Vergrößerte Anzeige des Vorgangslogs innerhalb von Aufgaben
Rote Buttons weisen auf das deaktivierte Projekt hin
Deaktivierte Projekte werden jetzt anders angezeigt
Ausgeblendeter Button bei den Benutzergruppen
Ausgeblendeter Button bei den Projekten
Anzeige einer Warnmeldung, wenn kein Bestand ausgewählt wurde
Detaillierte Hinweise auf fehlende Eingaben
Das Menü sieht auch nach dem Umbau für Nutzer fast unverändert aus
Plugin zur Prüfung der Regelsatzkonformität
Plugin für das Zurücksetzen der Paginierung
Korrekte Darstellung auch sehr umfangreicher Projektauflistungen
LogoCatalogue PollerGoobi workflow - Plugins (Deutsch)
LogoKonfigurationseditorGoobi workflow - Plugins (Deutsch)
LogoKonfigurationseditorGoobi workflow - Plugins (Deutsch)
LogoRegelsatzeditorGoobi workflow - Plugins (Deutsch)
LogoMetadaten bearbeitenGoobi workflow - Plugins (Deutsch)
LogoGitHub - intranda/goobi-plugin-step-deleteContent: This step plugin for Goobi workflow allows an automatic selective deletion of content from a process.GitHub

November

Entwicklungen und Neuigkeiten zu Goobi workflow

November 2021

Bessere Anzeige im Falle nicht importierbarer Metadatan

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.

ALTO-Editor kann aus der Thumbnail-Ansicht aufgerufen werden

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.

ALTO-Editor unterstützt ALTO 4.0

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.

Verschiedene Erweiterungen am Archiv-Management-Plugin

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:

Accessibility als Dauerthema

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.

Feinschliff für die Barrierefreiheit

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:

Massenupload Plugin Anpassungen

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.

Korrektur am Excel-Import

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.

Tabellenlayout in der Benutzerverwaltung verbessert

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.

Gelöschte und anonymisierte Nutzer aus den Aufgaben entfernt

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.

Automatische Veröffentlichung nahezu aller Plugins als kompilierte Dateien

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.

Versionsbezeichnung

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:

<dependency>
  <groupId>de.intranda.goobi.workflow</groupId>
  <artifactId>goobi-core-jar</artifactId>
  <version>21.11</version>
</dependency>

Oktober

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • 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

Erweiterung der Anzeige verfügbarer Nutzerrechte

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:

userRight=RightA
userRight=RightB
userRight=RightC

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:

rights_RightA=Right A for the user group
rights_RightB=Right B for the user group
rights_RightC=Right C for the user group

Neues Plugin, um Batch-Vorgänge auf einen gemeinsamen Stand zu bringen

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:

Catalogue-Request-Plugin und Catalogue-Poller erweitert

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:

Neues Plugin für die Bearbeitung von Konfigurationsdateien

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:

Logging und Login

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:

cat goobi.log | grep "LOGIN PROCESS"

Einrichtungen werden nur noch bedingt angezeigt

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.

Namen von Projekten prominenter in der Bearbeitung

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.

Neues Plugin zum Bearbeiten der Regelsätze

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:

Bessere Rückmeldungen beim Upload von Dateien

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.

Versionsbezeichnung

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:

<dependency>
  <groupId>de.intranda.goobi.workflow</groupId>
  <artifactId>goobi-core-jar</artifactId>
  <version>21.10</version>
</dependency>

Juli

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • 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

Erweiterung des Archiv-Management-Plugins

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:

Anpassungen für das Anlegen von Vorgängen in Masse

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.

Überarbeitung der Bedienlogik bei leerem Datenbestand

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.

Arbeit mit mehreren Tabs jetzt möglich

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. :)

Ankündigung: Java 11 wird ab dem 01.09.2021 zur zwingenden Voraussetzung

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.

Export von Vorgängen nur wenn gewünscht

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

Download der Logdatei für Vorgänge

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.

Neues Plugin für das Übernehmen von Bildern aus dem Dateisystem

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.

Benutzergruppen und Projekte hinzufügen

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.

Erweiterte Suche nach Batches

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:

"batch:42"

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:

"-batch:42"

Die Erweiterung dieser Suchmöglichkeit ist innerhalb des Goobi Handbuches auch bereits dokumentiert:

OAI-PMH Harvester für EAD-Dateien

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.

Institution wird nicht mehr immer angezeigt

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.

Nutzer-Verwaltung jetzt mit besserer Suche und Sortierbarkeit

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.

Anzeige der aktiven Nutzer

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.

Anpassungen am Metadateneditor

Im Bereich des Metadateneditors gab es wieder viele Änderungen, auf die wir hier kurz eingehen möchten:

Integration der Normdatenbank KulturNav

Hier finden sich die technischen Details zu den Entwicklungen zusammen mit der umfangreichen Kommunkation zwischen den beteiligten Entwicklern:

Kleine visuelle Anpassung im Menü

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.

Fokus in der Seitenauswahl

Bei der Thumbnailanzeige während der Paginierung kam es zu unerwünschten Scrolleffekten, wenn man ein Bild angeklickt hat. Dieser Fehler wurde behoben.

Zurücksetzen der Paginierung im Metadateneditor jetzt mit Warnung

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.

Anlegen von Vorgängen

Auch in dem Bereich, der für das Neuanlegen von Vorgängen verantwortlich ist, haben wir einige Änderungen vorgenommen:

Verbesserte Fehlerbehandlung beim Erzeugen von Vorgängen

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.

Anlegen von Vorgängen in deaktivierten Projekten

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.

Bearbeiter für das Neuanlegen von Vorgängen ist nicht mehr bei allen Schritten eingetragen

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.

Anpassungen am erweiterten Dashboard

Das erweiterte Dashboard ist superbeliebt und fast in jeder Goobi-Installation im Einsatz. Hier haben wir in diesem Monat einige Anpassungen vorgenommen:

Vorgänge pro Monat nur für berechtigte Projekte

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.

Widgets ohne Inhalt werden ausgeblendet

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.

Weitere Anpassungen

Es gab wieder zahlreiche kleinere Anpassungen in verschiedenen Bereichen, die nicht unerwähnt bleiben sollen.

Vorgangstitel im Firefox wieder markierbar

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.

Anpassungen bei Umbenennung von Vorgängen

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.

Vorgangslog: Bei allen Icons einheitliche Titel

Innerhalb der Vorgangsdetails wurden nicht für alle Buttons konsistente Mouse-over-Texte angezeigt. Dies haben wir vereinheitlicht.

Versionsbezeichnung

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:

<dependency>
  <groupId>de.intranda.goobi.workflow</groupId>
  <artifactId>goobi-core-jar</artifactId>
  <version>21.07</version>
</dependency>

Juni

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • 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

Konvertierung von Lido zu METS/MODS und METS/MODS zu Lido nun möglich

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.

Weitere Orte für Bilderreferenzierungen in LIDO-Dateien

Bisher wurden Bilder in LIDO als <linkResource> innerhalb des Elements <resourceRepresentation> erwartet:

<lido:administrativeMetadata>
<lido:resourceWrap>
<lido:resourceSet>
    <lido:resourceRepresentation lido:type="local">
    <lido:linkResource>00000001.jpg</lido:linkResource>
    </lido:resourceRepresentation>
</lido:resourceSet>
</lido:resourceWrap>
</lido:administrativeMetadata>

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:

<lido:administrativeMetadata>
<lido:resourceWrap>
<lido:resourceSet>
    <lido:resourceID>00000001.tif</lido:resourceID>
</lido:resourceSet>
</lido:resourceWrap>
</lido:administrativeMetadata>

Zu beachten ist: Wenn ein Bild zu einem Unterelement gehört, so muss die Angabe innerhalb des <lido> Elements erfolgen, das dieses Unterelement beschreibt.

Anpassungen an der Nutzbarkeit von IIIF-URLs in Skriptaufrufen

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.

Aufbau eines Authority Servers für Vokabulare

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.

Beautifier für MARC Datensätze

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:

Manipulationen am Leader

In diesem Beispiel wird der Leader an Position 19 mit einem Leerzeichen (\u0020) ersetzt, sofern im Leader an Position 6 der Wert e steht.

<beautify>
<setvalue tag="leader19" subtag="" value="\u0020">
<condition tag="leader6" subtag="" value="e" />
</setvalue>
</beautify>

Schreiben von Controlfields

Dieses Beispiel zeigt, wie bei einem Datensatz einer OPAC-Anfrage das Feld <controlfield tag="999"> mit dem Wert KXP erzeugt wird.

<beautify>
<setvalue tag="999" subtag="" value="KXP" />
</beautify>

Ersetzen von Feldinhalten:

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.

<beautify>
<setvalue tag="041" subtag="a" value="ger">
<condition tag="041" subtag="a" value="lat" />
</setvalue>
</beautify>

Unter der folgenden URL ist die Konfiguration für Kataloge und auch die Festlegung des Beautifiers dokumentiert:

Weitere Accessibility-Anpassungen

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. :)

Kompilieren mit Java 11 möglich

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:

# install needed packages
sudo apt install git
sudo apt install maven

# checkout Goobi workflow from GitHub
git clone https://github.com/intranda/goobi-workflow.git

# go into the Goobi workflow project
cd goobi-workflow/Goobi/

# compile Goobi workflow
mvn package

Automatische Generierung von JWT Secrets

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.

JWT key Rotation

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.

Anpassungen des Standard-Exports für Benennungsänderungen

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.

Code-Optimierungen

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.

Duplizieren von Metadatengruppen erweitert

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.

Mai

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • Erweiterung des Archiv-Management-Plugins

  • Erweiterter Java 11 Support

  • Anpassungen der Exportmöglichkeiten

  • Erweiterung des Umgangs mit musealen Daten aus LIDO

Neue Funktionalität zur Volltextbearbeitung im Metdateneditor als ALTO-Dateien

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:

  1. 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.

  2. Die ALTO-Datei mit einem separaten Texteditor im Dateisystem editieren. Das ist sehr aufwändig und für Laien kaum machbar.

  3. 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:

Layout-Anpassungen im Metadateneditor und schnellere Ladezeiten

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.

Vermeidung ungewünschten Cachings für Layouts

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.

Besserer Umgang mit Vorgängen ohne Metadaten

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.

Anpassungen an der Funktionalität von GoobiScript

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.

Neue Funktionen und Einstellmöglichkeiten des Dashboards

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:

1 processSearch
1 assignedSteps
1 tasksLastChanges
1 taskHistory
1 htmlBox
2 statisticsProcesses
2 processTemplates
2 queue
3 rss

März

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • 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

GoobiScript Umbau

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.

Abgestufte Rechte für GoobiScript

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:

Verbessertes Handling für Message Queues

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.

Neuer Schrittstatus für automatische Workflowschritte

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.

Accessibility: Links werden zu Buttons

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.

Individuelle Validierungsmeldungen für Metadaten

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:

Lokale Übersetzungs-Dateien werden beim Start angelegt, wenn sie nicht existieren

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.

Automatische Workflows sind nun pausierbar

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.

Pausieren von gruppierten automatischen Workflowschritten (Jobtypen)

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.

JWT Authentifizierung für alle Endpoints in der Goobi API

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:

Unterstützung von Körperschaften innerhalb des Metadateneditors

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:

Einfachere Konfiguration mehrerer Projekte

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

Bisherige Konfiguration von mehreren Projekten, bei der die Konfiguration für das Manuscript-Project und das Archive-Project identisch ist und vom default abweicht:

Neue Konfiguration

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:

Januar

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • 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

Neue Funktion für die Dokumentation von Schäden vor dem Beginn der Digitalisierung

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.

Anzeige der Schadensdokumentation innerhalb des Laufzettels

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:

Komprimierter Repräsentant bei der Generierung der Metadaten-PDF-Datei

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:

Anpassung für den Standard-Laufzettel

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:

Anpassung für den Batch-Laufzettel

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:

Catalogue Poller und Catalogue Request mit erweiterten Funktionen

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:

Neue GoobiScript Syntax (YAML)

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:

Neues GoobiScript "addStepAtOtherStepPosition"

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:

Nutzung von CDI

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.

Februar

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • 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

Neue Suchmöglichkeiten für eine Suche nach Vorgängen anhand eines Datums

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:

Suche nach Arbeitsschritten anhand von Datum

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:

Anpassung für das Change-Workflow-Plugin

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:

Plugin zum automatischen Erzeugen von Metadaten innerhalb der METS-Datei

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:

Websockets zur Benachrichtigung von Nutzern

​ 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.

Goobi überwacht nun Dead Letter Queue für externe Warteschlange

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.

Dashboard erweitert für zurückliegende Aufgaben

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.

Erweiterte Logik für Anpassungen an der Reihenfolge von Arbeitsschritten

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:

https://github.com/intranda/goobi-plugin-administration-ruleset-compatibility
https://docs.goobi.io/goobi-workflow-plugins-de/administration/intranda_administration_ruleset_compatibility
https://github.com/intranda/goobi-plugin-administration-reset-pagination
https://docs.goobi.io/goobi-workflow-plugins-de/administration/intranda_administration_reset_pagination
https://docs.goobi.io/goobi-workflow-de/admin/9
Angezeigte Fehlermeldungen im Falle von Metadaten, die nicht übernommen werden
Volltexte im ALTO Format können auch aus der Thumbnail-Anzeige heraus bearbeitet werden
Anpassung der Nutzeroberfläche bei bestimmten Feldtypen
Manchmal geht auch etwas schief
Kompatiblität mit der Validierung in Lighthouse
Massenupload Plugin
Dashboard mit korrigierter Anzeige
Korrekturen in der Benutzerverwaltung
Plugin Repository auf GitHub
Releases eines Plugins auf GitHub
Plugin mit Hinweis auf fehlende Rechte
Eintragen der benötigten Rechte für das jeweilige Plugin
Anzeige zusätzlicher Rechte von Plugins
Anzeige zusätzlicher Rechte mit übersetzer Bezeichnung
Plugin für die Bearbeitung von Konigurationsdateien
Integrierte Hilfetexte innerhalb des Plugins
Möglichkeit zur Definition von Einrichtungen
Ausgeblendete Informationen zur Einrichtung, wenn nur eine Einrichtung vorhanden ist
Anzeige des Projektnamens im Titel
Plugin für die Bearbeitung von Regelsätzen aus der Nutzeroberfläche von Goobi
Rückfrage bei ungespeicherten Daten
Automatisch erzeugte Backups der bearbeiteten Regelsätze
Auswahl einer übergeordneten Verzeichnungseinheit für die Erzeugung mehrerer Vorgänge
Für jede Verzeichnungseinheit wird ein eigener Vorgang auf Basis der ausgewählten Produktionsvorlage erzeugt
Benutzeroberfläche zum Erzeugen neuer Bestände
Die Bearbeitung von Daten ist in mehreren Fenstern möglich
Java 11 wird ab September auf allen Systemen benötigt
Innerhalb der Workflows muss ein Arbeitsschritt als Export markiert sein, damit ein Export auch aus anderen Bereichen von Goobi workflow möglich ist
Herunterladen der Logdatei eines Vorgangs aus der Vorgangsliste
Plugin für die Übernahme von Bildern
Buttons für Projekte und Benutzergruppen werden nur noch angezeigt, wenn sie verwendet werden können
Plugin für das Harvesten von EAD-Dateien aus einer OAI-PMH Schnittstelle
Anzeige der Spalte Institutionen nicht mehr sichtbar, wenn nur eine Institution vorhanden ist
Suche nach Nutzern und Sortierung in allen Spalten
Die Anzeige der Sessions wurde auf eingeloggte Benutzer beschränkt

Dank der Unterstützung von 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.

KulturNav als wichtige Normdatenbank für Kultureinrichtungen ist nun an Goobi angebunden

Dank Dir für diese großartige Zusammenarbeit und Euren Beitrag zu Goobi workflow!

Neue Warnung beim Zurücksetzen der Paginierung
Deaktivierte Projekte werden auch bei den Produktionsvorlagen farbig hervorgehoben
Das erweiterte Dashboard blendet leere Widgets aus
Konvertierung von METS zu LIDO und zurück

Die Vokabularverwaltung von Goobi findet immer mehr Einsatz

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.

Accessibility ist wichtiger als viele denken!

Auszug aus der Konsole nach dem Kompilieren von Goobi workflow mit Java 11

In der Standard-Installation ist das JWT-Secret noch auskommentiert und kann inidividuell konfiguriert werden

Einstellung des Standard-Exports für METS-Dateien ohne Berücksichtigung des MIME-Types
Einstellung des Standard-Exports für METS-Dateien für die Berücksichtigung des MIME-Types

Generierung von Gettern und Settern durch Lombok

Metadatengruppen lassen sich nun vollständig duplizieren

Oberhalb der Bildanzeige ist ein neuer unscheinbarer Button zum Betreten des Alto-Editors verfügbar
Innerhalb des ALTO-Editors läßt sich durch die Seiten navigieren und der Text editieren
Das derzeit ausgewählte Wort ist auch auf dem Bild mit einem Rahmen hervorgehoben

Die internen Versionsnummern werden im Quellcode der generierten HTML-Seiten nachgenutzt um ungewünschtes Caching zu vermeiden

Bei Workflows wo die Dateien nicht vorhanden sind oder bereits gelöscht wurden funktionieren Skripte nun weiterhin, wenn sie nicht auf die Metadaten angewiesen sind.

Korrekturen an GoobiScript

Das überarbeitete Dashboard erlaubt eine individuelle Festlegung der Positionen für die Widgets
Bearbeitung der Inhalte des Dashboards

@hemed
@hemed
https://gitea.intranda.com/intranda/ugh-extension/commit/e9ce2e551e644f9e20ab6caf69c08f60ec37b48d
https://gitea.intranda.com/intranda/ugh-extension/commit/f3b6864a867c28567c8c76af89436daaa6fc65f4
https://gitea.intranda.com/intranda/ugh-extension/commit/183ef6f4b93a8b0becd0627df8094babce1a32ef
https://github.com/intranda/goobi-workflow/commit/b887afbc47b8871588e0c1f2d7275981e1141eab
https://github.com/intranda/goobi-workflow/commit/1715a8603f476141b1c13d58385f51bc8641dff8
https://gitea.intranda.com/intranda/goobi-authority-server
https://gitea.intranda.com/intranda/goobi-authority-server/src/branch/master/goobi-authority-server/docs/AuthorityServer.md
https://github.com/intranda/goobi-plugin-opac-marc/commit/13de8118b5aff7c3a82127d0d01a31cdf0a5edc1
https://github.com/intranda/goobi-plugin-opac-marc/commit/930386f0838e462ce5d31c1567beb00bc4b637f4
https://github.com/intranda/goobi-plugin-opac-marc/commit/54d86f5246d3cad5b4f437d22a70ef0aee39d67b
https://github.com/intranda/goobi-workflow/commit/bcc76fa67841af7a7fe2a50a1fe3398c12554d1c
https://github.com/intranda/goobi-workflow/commit/70f65c14ab97a2394a7d5b0d7baa98c6bc433af2
https://github.com/intranda/goobi-workflow/commit/b6bd4dad318910aa8d0aa98a8e8ea0d54ba469a3
https://github.com/intranda/goobi-workflow/commit/17b88937cc79b71c1914533aa85b3685c5ca01fc
https://github.com/intranda/goobi-workflow/commit/5806a5e8e5e011d2ac5ac6c68da2dfa950ec4a01
https://github.com/intranda/goobi-workflow/commit/106283895a5604de04c809d2e3a7bcfa99d8fc93
https://github.com/intranda/goobi-workflow/commit/2049aa3ff998b4be5d11a8d792d8287cd65bafa7
https://github.com/intranda/goobi-workflow/commit/7cdde2381c9e0ce2d5bd9eb741b2f82c3f4d7fe3
https://github.com/intranda/goobi-workflow/commit/0138cc4c39a6985094e0f61d1c3adce71d1990c6
https://github.com/intranda/goobi-workflow/commit/35b13272d0f514b156eff0627783a87c258f60be
https://github.com/intranda/goobi-workflow/commit/8441eadb77d075d24ba6c448d2ceb27a3c189589
https://github.com/intranda/goobi-workflow/commit/e58838f80e6bd24fc48e649602eca004ecd1a5ec
https://github.com/intranda/goobi-workflow/commit/17a0d32698c2c941cc7ec47317b08e0904dac756
https://github.com/intranda/goobi-workflow/commit/ef797453faf8c83a5bb6cd5096d04106cbebae18
https://github.com/intranda/goobi-workflow/commit/a3ee13e8559eceb29f059557fdf80bb093bf73fd
https://github.com/intranda/goobi-workflow/commit/5eb5eecb3dfe7e4bc103cd061b64d2b13dc17384
https://github.com/intranda/goobi-workflow/commit/afd5b82169ed063da7586ed9c329c5465785336f
https://github.com/intranda/goobi-workflow/commit/93b8d5cc45897e949322b79a8e3a7634bc1396c2
https://github.com/intranda/goobi-workflow/commit/16e903327281e247d6e3da84c4bf6224d89175f3
https://github.com/intranda/goobi-workflow/commit/665f4bd3e2d9b94d479f0fbdb89a0bea3f66d264
https://github.com/intranda/goobi-workflow/commit/4ae3035f0e6e1582d68235fd71a22fde8079b0b9
https://github.com/intranda/goobi-workflow/commit/50302f4464c417f090593a91151eb3c127643223
https://github.com/intranda/goobi-workflow/commit/4ebd2aa551680117bd8ef6f224f030a31caaef3c
https://github.com/intranda/goobi-workflow/commit/04b4cddefcebb8d8675c116946bff3c1df4a9fda
https://github.com/intranda/goobi-workflow/commit/293e19fc4cdc3289d4f6049868578bc7d4e21d61
https://github.com/intranda/goobi-workflow/commit/c0dcfcb477ef0c3266db1d18c7ff5da495f1835b
https://github.com/intranda/goobi-workflow/commit/ef8609c9de7aeee3e00d66ff62a7545d1f88c00e
https://github.com/intranda/goobi-workflow/commit/c619c43bdbd02763391e253056e44b3fc4953c2f
https://github.com/intranda/goobi-workflow/commit/0a4350efff933aed8a6196074f40329591b19efa
https://github.com/intranda/goobi-workflow/commit/94db988c85e3861fcad3c946917e353a697a1824
https://github.com/intranda/goobi-workflow/commit/e82ee6d1a2d8544a692141affda6fbffce51e31b
https://github.com/intranda/goobi-workflow/commit/c8c4bb7bf26e3127795e5efef016f6c7bd88a36b
https://github.com/intranda/goobi-workflow/commit/8d8fc0ba9de8344d1f8d7fe7ed1a4f6f99e2dba2
https://github.com/intranda/goobi-workflow/commit/e583242c440624e4b6ee8c63691c8ed7bfd7e993
https://github.com/intranda/goobi-workflow/commit/f472088c86c579faffabd33800cda5960d9227c2
https://github.com/intranda/goobi-workflow/commit/5c43b1e89e32ccf9927c2770354d78950213a26b
https://github.com/intranda/goobi-workflow/commit/c390ceb75df8c4219711c9ef1fa9d0d754dd5844
https://github.com/intranda/goobi-workflow/commit/5550ce2393456cc214f1f21787fa49c91f841616
https://github.com/intranda/goobi-workflow/commit/27a0653758593f24d7e82ef645f239ed0805f8d2
https://github.com/intranda/goobi-workflow/commit/5cf7bd6e7b3176ae4692df5a25373f8474db49f6
https://github.com/intranda/goobi-workflow/commit/827aa52ff63663fa1aab7028b32786e4e5206976
https://github.com/intranda/goobi-workflow/commit/7cc545c634bd355d0d5b7ea66e39d5261930376c
https://github.com/intranda/goobi-workflow/commit/020f270d011bb10d81ef23dddec9d095c9c2be57
https://github.com/intranda/goobi-workflow/commit/5ccfbf44e4c57302b834b8a04d7d0638ec229f05
https://github.com/intranda/goobi-workflow/commit/adf93e08dff00cf879fb4c4436cf935e156c6cf2
https://github.com/intranda/goobi-workflow/commit/fc516f07f9170849331be0271ae093b5e38f9cdb
https://github.com/intranda/goobi-workflow/commit/b597c0439d3f5d6004e82811929c6156100ce167
https://github.com/intranda/goobi-workflow/commit/d7d7d2ca5fa60a59c2ef3a996eaa43c5acb2845a
https://github.com/intranda/goobi-workflow/commit/d154874ba63a7e815267db378218c551cf11273c
https://github.com/intranda/goobi-workflow/commit/a8320d942345e6aaa39bc856a1d701184c2ed0ae
https://github.com/intranda/goobi-workflow/commit/d232a0f60d6db4b81c3c14d0ade4ddc1e668c97c
LogoCatalogue PollerGoobi workflow - Plugins (Deutsch)
Logo9.2. UpdateschritteGoobi workflow (Deutsch)
LogoKonfigurationseditorGoobi workflow - Plugins (Deutsch)
LogoRegelsatzeditorGoobi workflow - Plugins (Deutsch)
  <MetadataType>
    <Name>DocLanguage</Name>
    <language name="de">Sprache</language>
    <language name="en">Language</language>
    <language name="es">Idioma</language>
    <validationExpression>[a-z]{3}</validationExpression>
    <validationErrorMessage name="de">Der Wert muss ein dreistelliger ISO 639 Code sein. Vorgefunden wurde jedoch der Wert '{}'.</validationErrorMessage>
    <validationErrorMessage name="en">The value '{}' does not correspond to a three-letter ISO 639 code.</validationErrorMessage>    
  </MetadataType>
jwtSecret = MySecretForJwt
<?xml version="1.0" encoding="UTF-8"?>
<goobiProjects>

    <project name="Manuscript-Project">
        <createNewProcess>

            <itemlist>
                <item from="werk" multiselect="false">
                    Font type
                    <select label="Antiqua">Antiqua </select>
                    <select label="Gothic"> Gothic </select>
                    <select label="Mixed">Mixed </select>
                </item>

                <!-- Title for Monograph and Periodical -->
                <item docstruct="topstruct" from="vorlage" isnotdoctype="multivolume" metadata="TitleDocMain" required="true" ughbinding="true"> Title </item>
            </itemlist>

            <opac use="true">
                <catalogue>Library of Congress</catalogue>
            </opac>

        </createNewProcess>
    </project>    

    <project name="Archive-Project">
        <createNewProcess>

            <itemlist>
                <item from="werk" multiselect="false">
                    Font type
                    <select label="Antiqua">Antiqua </select>
                    <select label="Gothic"> Gothic </select>
                    <select label="Mixed">Mixed </select>
                </item>

                <!-- Title for Monograph and Periodical -->
                <item docstruct="topstruct" from="vorlage" isnotdoctype="multivolume" metadata="TitleDocMain" required="true" ughbinding="true"> Title </item>
            </itemlist>

            <opac use="true">
                <catalogue>Library of Congress</catalogue>
            </opac>

        </createNewProcess>
    </project>    

    <project name="default">
        <createNewProcess>

            <itemlist>
                <!-- Title for Monograph and Periodical -->
                <item docstruct="topstruct" from="vorlage" isnotdoctype="multivolume" metadata="TitleDocMain" required="true" ughbinding="true"> Title </item>
            </itemlist>

            <opac use="true">
                <catalogue>K10Plus</catalogue>
            </opac>

        </createNewProcess>
    </project>    
</goobiProjects>
<?xml version="1.0" encoding="UTF-8"?>
<goobiProjects>

    <project>
        <name>Manuscript-Project</name>
        <name>Archive-Project</name>
        <name>Biology.*</name>
        <createNewProcess>

            <itemlist>
                <item from="werk" multiselect="false">
                    Font type
                    <select label="Antiqua">Antiqua </select>
                    <select label="Gothic"> Gothic </select>
                    <select label="Mixed">Mixed </select>
                </item>

                <!-- Title for Monograph and Periodical -->
                <item docstruct="topstruct" from="vorlage" isnotdoctype="multivolume" metadata="TitleDocMain" required="true" ughbinding="true"> Title </item>
            </itemlist>

            <opac use="true">
                <catalogue>Library of Congress</catalogue>
            </opac>

        </createNewProcess>
    </project>    

    <project name="default">
        <createNewProcess>

            <itemlist>
                <!-- Title for Monograph and Periodical -->
                <item docstruct="topstruct" from="vorlage" isnotdoctype="multivolume" metadata="TitleDocMain" required="true" ughbinding="true"> Title </item>
            </itemlist>

            <opac use="true">
                <catalogue>K10Plus</catalogue>
            </opac>

        </createNewProcess>
    </project>    
</goobiProjects>
<fileupload use="true">
    <folder regex="/^.*$/" messageKey="uploadFileErrorIntern">intern</folder>
</fileupload>
<fileupload use="true">            
    <folder regex="/^.*$/" messageKey="uploadFileErrorIntern">intern</folder>
    <folder regex="/^.*\\.(jpg\|jpeg\|png\|tif\|jp2)$/" messageKey="uploadFileErrorMaster">master</folder>
    <folder regex="/^.*\\.jpg$/" messageKey="uploadFileErrorMedia">media</folder>
    <folder regex="/^.*\\.pdf$/" messageKey="uploadFileErrorExport">export</folder>
</fileupload>
<xsl:if test="goobi:log/goobi:file">
  <fo:page-sequence master-reference="A5">
    <fo:flow flow-name="xsl-region-body" font-family="opensans, unicode">

      <!-- title of process -->
      <fo:block text-align="center" font-weight="bold" font-size="11pt" margin-top="0pt">
          <xsl:text disable-output-escaping="yes">Schadensdokumentation für: </xsl:text>
          <xsl:value-of select="goobi:title"/>
      </fo:block>
      <!-- // title of process -->
      <fo:block border-top-width="1pt" border-top-style="solid" border-top-color="#cccccc" margin-top="10pt"/>

      <!-- show all images uploaded into the process log -->
      <xsl:for-each select="goobi:log/goobi:file">
        <xsl:if test="not(position() > 20)">
          <fo:block text-align="center" font-size="12pt" margin-top="10pt">
            <fo:external-graphic src="url('{@url}')" content-height="80mm"/>
          </fo:block>
          <fo:block text-align="center" font-size="9pt" margin-top="5pt">
            <xsl:value-of select="@comment" />
          </fo:block>
        </xsl:if>
      </xsl:for-each>
      <!-- // show all images uploaded into the process log -->

    </fo:flow>
  </fo:page-sequence>
</xsl:if>
<!-- thumbnail on right side -->
<fo:block-container position="fixed" left="11.5cm" top="1cm">
  <fo:block>
      <fo:external-graphic src="url('{goobi:thumbnail}')" content-height="100mm"/>
  </fo:block>
</fo:block-container>
<!-- // thumbnail on right side -->
<!-- thumbnail on right side -->
<fo:block-container position="fixed" left="11.5cm" top="1cm">
  <fo:block>
      <fo:external-graphic src="url('{goobi:representative/@url}')" content-height="100mm"/>
  </fo:block>
</fo:block-container>
<!-- // thumbnail on right side -->
<?xml version="1.0" encoding="utf-8"?>
<xsl:value-of select="goobi:time"/>
<xsl:value-of select="goobi:creationDate"/>
<?xml version="1.0" encoding="utf-8"?>
<xsl:value-of select="goobi:process/goobi:time" />
<xsl:value-of select="goobi:process/goobi:creationDate" />
<?xml version="1.0" encoding="utf-8"?>
---
# This GoobiScript allows to assign a user group to an existing workflow step.
action: addUserGroup

# Title of the workflow step to be edited
steptitle: Upload images

# Use the name of the user group to be assigned to the selected workflow step.
group: Photographers
---
# This GoobiScript allows to add a new workflow step into the workflow.
action: addStep

# Title of the workflow step to add
steptitle: Upload images

# This number defines where in the workflow this new step is ordered into.
number: 3

---
# This GoobiScript allows to assign a user group to an existing workflow step.
action: addUserGroup

# Title of the workflow step to be edited
steptitle: Upload images

# Use the name of the user group to be assigned to the selected workflow step.
group: Photographers

---

[...]
---
# This GoobiScript allows to add a new workflow step into the workflow before or after another step (defined by name).
action: addStepAtOtherStepPosition

# The new step can be executed "before" or "after" the existing step.
insertionstrategy: after

# Title of the existing workflow step
existingsteptitle: Scanning

# Title of the new workflow step
newsteptitle: Analyzing
LogoPlugin zur Registrierung von DOIs via DataCite APIGoobi workflow - Plugins (Deutsch)
LogoGitHub - intranda/goobi-plugin-step-datacite-doi: This is a Goobi step plugin to allow the registration of digital objects at the DataCite DOI service.GitHub
LogoGitHub - intranda/goobi-plugin-administration-ruleset-compatibility: This is an administration plugin which allows to easily let all metadata files to be checked for ruleset compatibility. By providing the possibility to use a filter this plugin can run through all processes or just some of these as defined.GitHub
LogoKompatibilität mit RegelsatzGoobi workflow - Plugins (Deutsch)
LogoGitHub - intranda/goobi-plugin-administration-reset-pagination: This is the Reset Pagination administration plugin for Goobi workflow. It allows to completely reset the pagination for all or just some Goobi processes, so that updated images get assigned correctly inside of the metadata files.GitHub
LogoPaginierung zurücksetzenGoobi workflow - Plugins (Deutsch)
processdate=2021
"processdate<2020-01-01 12:00:00"
processdate>2020-01-01 processdate<2020-12-31
stepdone:Export stepfinishdate:2019
stepdone:Scanning stepdone:Export stepfinishdate:2021
<config>
    <!-- which projects to use for (can be more then one, otherwise use *) -->
    <project>*</project>
    <step>*</step>

    <!-- multiple changes can be done within one configuration rule; simply add another 'change' element with other properties here -->
    <change>
      <!-- name of the property to check -->
      <propertyName>{meta.ISBN}</propertyName>
      <!-- expected value (can be blank too) -->
      <propertyValue></propertyValue>
      <!-- condition for value comparing, can be 'is' or 'not' or 'missing' or 'available' -->
      <propertyCondition>missing</propertyCondition>

      <!-- list of steps to deactivate -->
      <steps type="deactivate">
          <title>Metadata enrichment</title>
      </steps>

      <!-- user groups to assign -->
      <usergroups step="Metadata enrichment">
          <usergroup>Administration</usergroup>
      </usergroups>
    </change>
</config>
<propertyName>Template</propertyName>
<propertyName>{process.Template}</propertyName>
<config_plugin>
    <config>
        <!-- which projects to use for (can be more then one, otherwise use *) -->
        <project>*</project>
        <step>*</step>

        <!-- multiple updates can happen within one call. 
            Repeat the update blocks for each additional change -->
        <update>
            <!-- define for which field inside of the METS file the content shall be generated -->
            <field>TitleDocMain</field>

            <!-- for which structure elements shall the content be updated? 
                Multiple 'element' can be listed here. 
                Use '*' to match all structure element types. -->
            <element>Monograph</element>

            <!-- define if the content shall be overwritten if the field is not empty -->
            <forceUpdate>true</forceUpdate>

            <!-- define a list of content here to be used for the field as metadata value
                variable: this content gets analyzed and replaced by the variable replacer 
                metadata: value of the metadata field with the given name inside of the same docstruct element
                static: a static string
                random: a random number with a defined length 
                uuid: a UUID with 36 characters
                timestamp: a numeric timestamp 
                groupcounter: a separate counter for each value of 'groupField' -->
            <content type="variable">{meta.CatalogIDDigital}</content>
            <content type="metadata">DocLanguage</content>
            <content type="static">_</content>
            <content type="random">9</content>
            <content type="uuid" />
            <content type="timestamp" />
            <content type="counter">%03d</content>
            <content groupField="{meta.PublicationYear}" type="groupcounter">%03d</content>
        </update>

        <update>
            <field>DocLanguage</field>
            <element>Chapter</element>
            <forceUpdate>false</forceUpdate>
            <content type="variable">{meta.DocLanguage}</content>
        </update>

    </config>

</config_plugin>
Logo9. UpdateanleitungGoobi workflow (Deutsch)
Logo7.4. GoobiScriptGoobi workflow (Deutsch)
https://docs.goobi.io/goobi-workflow-de/manager/7/7.4
Logo7.4. GoobiScriptGoobi workflow (Deutsch)
https://docs.goobi.io/goobi-workflow-de/manager/7/7.4
LogoCatalogue PollerGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/administration/intranda_administration_catalogue_poller
Zahlreiche GoobiScripte in der Warteschlange
Zugriff auf einige ausgewählte GoobiScripte für den Nutzer
Zuweisung einzelner Rechte zur Ausführung ausgewählter GoobiScripte
Die zahlreichen Navigationselemente wurden für eine bessere Accessibility auf Buttons umgestellt
Bessere Validierungsmeldungen im Metadateneditor
Pausierbare Automatik innerhalb eines Vorgangs
Pausierbare Aufgaben innerhalb von Gruppen
Körperschaften als eigener Bereich innerhalb des Metadateneditors
Suche von Körperschaften innerhalb von Normdatenbanken
Oberfäche der Anlegemaske mit Button, um zur nächsten Seite zu gelangen
Globaler Kommentar für alle hochzulandenden Bilder
Individuelle Kommentare pro Bild für erkennbare Schäden
Anzeige der Schadensdokumentation auf dem Laufzettel
Eine Schadensdokumentation kann aus vielen Bildern bestehen, die alle auf dem Laufzettel angezeigt werden
Konfigurierbare Updates der Metadaten mit dem Catalogue Poller
Überarbeitete Syntax für GoobiScript
Mehrere Kommandos ohne Dokumentation übersichtlich zusammen absenden
Neues GoobiScript zum Einfügen von Arbeitsschritten zwischen existierenden Schritten
Beispiel für die Suche nach Fertigstellungsdatum
Anzeige von administrativen Warnmeldungen bei den Nutzern
Anzeige von Aufgaben, die bereits abgeschlossen wurden auf dem Dashboard
Erweiterte Möglichkeiten für die Anpassung der Reihenfolge von Arbeitsschritten
Einfügen von neuen Aufgaben mit erweiterter Logik für die Reihenfolgenposition
Neues GoobiScript für das Einfügen von neuen Aufgaben für viele Vorgänge
LogoArchive ManagementGoobi workflow - Plugins (Deutsch)
https://github.com/intranda/goobi-workflow/commit/7d9306f9b644508d5a2dd292b079e4c34ee43120
https://github.com/intranda/goobi-workflow/commit/8d7abaef78b43fd0eef26dabe67675c4fed88b1e
https://github.com/intranda/goobi-workflow/commit/47a1b3e50a122b5d5b0a1f126f98aeca9d50aead
https://github.com/intranda/goobi-workflow/commit/b4170331f68491f3747dab8ff648dd793f59e608
https://github.com/intranda/goobi-workflow/commit/a279925b4aef785fcb4f0b32351823c989ace165
https://github.com/intranda/goobi-workflow/commit/8fbabedd71540ffad860d3f19b53f038908db5b7
https://github.com/intranda/goobi-workflow/commit/7f7fea7b5ec0dfbc5f2c327561c0750bc810386e
https://github.com/intranda/goobi-workflow/commit/d3d27cc2d20da0ea6b04278f5d6514cc1e80ef0b
https://github.com/intranda/goobi-workflow/commit/72014e78697d7fb57c778970f44b4817de99b7c4
https://github.com/intranda/goobi-workflow/commit/35fd0008b36df6648b125f5052bae7c744972965
https://github.com/intranda/goobi-workflow/commit/d36c63bdb7802922c53b3e9531a3f09f5f593a78

Dezember

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • 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

Neues Plugin für die Erfassung von Archivgut

Ü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:

Optische Überarbeitung des Vokabularmanagers und Ermöglichung einer Suche

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.

Schnellerer Import von Vokabularen aus Excel-Dateien

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.

Paginierung überarbeitet

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.

Neuer REST-API endpoint für Statusabfrage von eingeloggten Nutzern

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:

[
  {
    "user": "Engel, Detlev",
    "address": "127.0.0.1",
    "browser": "Firefox",
    "created": "14:59:02",
    "last": "14:59:11"
  },
  {
    "user": " - ",
    "address": "0:0:0:0:0:0:0:1",
    "browser": "Chrome",
    "created": "14:59:25",
    "last": "15:01:25"
  }
]

Goobiscript: Excel-Export enthält nun auch Zeitstempel und Nutzernamen

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.

Neues Workflow Plugin für das Erzeugen von Vorgängen auf Basis hochgeladener Dateien

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:

Step Plugin zum Import von exif Daten als Metadaten

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:

<config_plugin>

    <config>
        <project>*</project>
        <step>*</step>

        <command>/usr/bin/exiftool</command>
        <field line="Object Name" metadata="TitleDocMain" />
        <field line="Keywords" metadata="SubjectTopic" />
        <field line="Special Instructions" metadata="Footnote" />
        <field line="City" metadata="PlaceOfPublication" />
        <field line="Source" metadata="singleDigCollection" />
        <field line="Copyright Notice" metadata="AccessCondition" />
        <field line="Caption-Abstract" metadata="Abstract" />
    </config>

</config_plugin>
`

Mehr Informationen über die Funktionalität des neuen Plugins finden sich in der Dokumentation hier:

Der Quellcode des Plugins wurde hier veröffentlicht:

Bugfixes

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.

November

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • Abschlussarbeiten am Archiv-Management-Plugin

  • Erweiterung des Flex-Editors für Provenienzen

  • Erweiterung des Vokabular-Managements

Neue Single-Sign-On Authentifizierung für Nutzer auf Basis von HTTP-Headern

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.

Metadaten-Editor: Thumbnail Navigation überarbeitet

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.

Einbindung von Swagger UI als Schnittstellenbeschreibung

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:

Abschlussarbeiten an der Barrierefreiheit für die Nutzeroberfläche

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.

Neues Plugin für Registrierung von eindeutigen Identifiern: OID

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:

Erweiterung des Package-Export-Plugins für die Nutzung der OID-Identifier

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.

Erweiterung des Excel Plugins für Nutzung mehrerer Identifier

Neues Plugin für die Transkription von Bildinhalten

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.

Eine ausführliche Dokumentation des neuen Plugins findet sich unter dieser URL:

Der Quellcode für das Plugin wurde auf GitHub hier veröffentlicht:

Bugfix: Anführungszeichen in Projektnamen

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.

Oktober

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • Erweiterung der Single-Sign-On Unterstützung

  • Implementierung von Checksummen-Vergleichen für Exporte

  • Abschluss der Accessibility-Arbeiten gemäß WCAG

  • Swagger-Support

Workflow Plugin zum Export eines kompletten Projektes

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:

Step Plugin für das Editieren ausgewählter Metadaten

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:

Neues Statistik-Plugin für die Auswertung von Übersetzungen

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:

Besseres Zurücksetzen von Passwörtern

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.

Erweiterung des LayoutWizzards für eine Hintergrundaufbereitung

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:

Erweiterung für den Betrieb unter Docker: Nutzung von Konfigurationsdateien aus gemountetem Verzeichnis

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:

August

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

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 :)

Massenupload-Plugin mit Barcode-Erkennung

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:

Neues Step-Plugin für Scaling und Watermarking

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:

Opac Plugins mit mehr Abfragemöglichkeiten

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:

Accessibility im METS-Editor

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.

Verarbeitung von Jobs in Warteschlangen: Unterstützung für Amazon SQS

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.

April

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • Implementierung eines ALTO-Editors zur Bearbeitung von Volltexten

  • Erweiterungen des Dashboards

  • Anpassungen am Caching

Großumbau bei den Metadatengruppen

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.

Weitere Accessibility-Anpassungen

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:

Neuer Paginierungstyp für Doppelseiten

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.

Erweiterung der Suchmöglichkeiten für Metadatengruppen

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:

IIIF URLs für Skripte und an weiteren Stellen

Ü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:

Überarbeitung der Anzeige der aktiven Nutzer

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.

Massenimport von Daten mit Anreicherung von Archiv-Tektonik

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.

Neues Plugin für DOI Registrierung

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:

Verschiedene interne Anpassungen

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.

September

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • Abschluss des Tektonik-Editors

  • Erweiterung des Handschriften-Editors um Provenienz-Informationen

  • Implementierung einer Multi-Process-Editors

Implementierung eines Tektonik-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.

Erweiterung der Metadatenbibliothek UGH für bessere Unterstützung von Körperschaften

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.

GoobiScripts metadataChange und metdataTypeChange umbenannt zu metadataChangeValue und metadataChangeType

Die noch recht neuen GoobiScripts metadataChange und metdataTypeChange wurden zugunsten einer intuitiveren Bedienung noch einmal umbenannt. Die neuen Namen hierfür lauten nun:

Bei der Gelegenheit haben wir die Dokumentation von GoobiScript innerhalb des Goobi Handbuches ebenfalls gleich mit aktualisiert. Sie findet sich unter den folgenden Adressen:

Step Plugin für generischen Export und XSLT-Verarbeitung

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:

Step Plugin für das selektive Löschen von Inhalten

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:

Step Plugin für Identifier Generierung

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:

Reorder Step Plugin erweitert

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:

Accessibility für den METS-Editor sowie erste Plugins

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:

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:

Automatisch kompilierte Releases auf GitHub

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:

Und unter dieser URL steht übrigens auch immer die jeweils aktuellste stabile Version von Goobi workflow zum Download bereit:

Vorbereitungen für das Goobi Anwendertreffen 2020

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.

April

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

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

Erweiterungen des LayoutWizzards zum automatischen Croppen von Bildern

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:

3D-Anzeige unterstützt jetzt die DRACO Kompression

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.

Verbesserung von Dateioperationen im METS-Editor

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.

Bugfix für das GoobiScript addStep

Innerhalb des GoobiScripts addStep lag ein Fehler vor, der dessen Ausführung verhinderte. Das GoobiScript wurde nun überarbeitet und funktioniert ab sofort wieder.

Darstellung von Audio und Video innerhalb des METS-Editors

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:

Überarbeitung und Dokumentation des Plugins für Anpassungen an Anchor-Datensätzen

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:

Datenverarbeitung des digitalen Stadtarchiv Duderstadt

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.

Neue Dokumentation der Konfiguration für die REST-Schnittstelle

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:

Mai

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

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

Darstellung von Audio- und Video-Materialien innerhalb des Image-QA-Plugins

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:

Optimierung der Bildanzeige im Zusammenspiel mit den neuen thumbs-Ordnern

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.

ImageQA: Neue Vollbildansicht für schnelles durchblättern

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:

METS-Editor: Letzte Seite für neues Strukturelement verwenden ist jetzt optional

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.

Neues Opac Plugin für generischen JSON import

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:

Mehrere Abhängigkeiten wurden aktualisiert

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

Juli

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

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

Umfangreiche Vokabulare mit blätterbarer Auflistung der Datensätze

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.

Flexible Ordner-Namen innerhalb des FileUpload-Plugins

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:

Flexible Ordner-Namen innerhalb des ImageQA-Plugins

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:

Flexible Ordner-Namen innerhalb des JHove-Validation-Plugins

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:

Barrierefreiheit gemaß WCAG 2.1

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.

LayoutWizzard Workflow Plugin

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:

Weitere Anpassungen

Neben den größeren Entwicklungen gab es auch wieder einige weitere Anpassungen:

Update sehr vieler Dependencies in Goobi workflow

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.

Goobi workflow auf S3: Fix für die Übertragung von Dateien größer als 5GB

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.

Behebung kleiner JavaScript-Fehler

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.

Interne Infrastrukturanpassungen

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.

https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_catalogue_request
https://docs.goobi.io/goobi-workflow-de/manager/7/7.4#goobiscript-addstepatotherstepposition
https://docs.goobi.io/goobi-workflow-de/manager/7/7.4#goobiscript-addstepatotherstepposition
Einstieg in das Archive Management Plugin
Nutzeroberfläche des Archive Management Plugins
https://docs.goobi.io/goobi-workflow-plugins-de/administration/intranda_administration_archive_management
Performante Anzeige und Suche in umfangreichen Vokabularen
Definition eines Vokabulars und der Spaltenanzeige

Überarbeiteter Upload-Bereich für das Vokabular

Verwendung von Kleinbuchstaben in römischer Paginierung möglich
Anzeige des Dateinamens als Tooltip
Bessere Lesbarkeit der Paginierung

Excel-Export von ausgeführten GoobiScripts
Massenupload von Dateien mit automatischer Erzeugung von Vorgängen

Dokumentation der verschiedenen Authentifizierungsmöglichkeiten

Dauerhafte Anzeige der Navigation für die Thumbnaildarstellung

Anzeige von Details über die REST-API mittels der Swagger-Oberfläche
Anzeige von Details über die REST-API mittels der Swagger-Oberfläche

Prüfung der Nutzeroberfläche mit dem Plugin axe
Prüfung der Nutzeroberfläche mit dem Plugin Lighthouse

Im Kontext der Entwicklung des 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:

Aktualisierte Dokumentation für die Nutzung mehrerer Identifier-Felder pro Datensatz

Neues Plugin für die einfache Transkription von Volltexten

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 können bei Bedarf auch recht einfach weitere Formatierungen erlaubt werden.

Metadatum
Wert
Variable
Erläuterung

Name
Beschreibung

Plugin
Erläuterung

Browser
MP4
WebM
Ogg
Browser
MP3
WAV
OGG

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.

Browser
MP4
WebM
Ogg
Browser
MP3
WAV
OGG

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.

https://github.com/intranda/goobi-workflow/commit/531bb9828f210770b42571b79c215768c156d816
https://github.com/intranda/goobi-workflow/commit/59820a1832caf5149489c26443764f12830f90e9
https://github.com/intranda/goobi-workflow/commit/c4fab02d29deec6b68de76d858b26b2a429d9e50
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
https://github.com/intranda/goobi-workflow/commit/a30441e78bf7e7f2e6aebc08f94d8d4aac43f87f
https://github.com/intranda/goobi-workflow/commit/d5d020e1d1ddac3642f570c5534743298a0968fa
https://github.com/intranda/goobi-workflow/commit/ec286ee1268a9316199b4f3097c20fc255cafedc
https://github.com/intranda/goobi-workflow/commit/31e0496783d0b24870861aca3ddc8b535f60b0b4
https://github.com/intranda/goobi-workflow/commit/edb97cdd94ee298894452926ad2240273f1d9a48
JSON-Opac-Plugins
https://github.com/intranda/goobi-plugin-import-excel/commit/5cc58b6b9e52ae9fb4e0b7941bbc811037335ff9
TinyMCE
https://github.com/intranda/goobi-workflow/commit/56d26b9752571dc34d2a0633768a9c0f2e4bd388
https://github.com/intranda/goobi-workflow/commit/eb8a238b6af0088c64c73ffc72918c8d199f2cef
LogoArchive ManagementGoobi workflow - Plugins (Deutsch)
LogoBatch ProgressGoobi workflow - Plugins (Deutsch)
LogoGitHub - intranda/goobi-plugin-step-batch-progress: This Step Plugin for Goobi workflow allows to let all processes of one batch come to the same progress to trigger some REST call and let all processes move on their work again in parallel.GitHub
LogoKatalogabfrageGoobi workflow - Plugins (Deutsch)
LogoKatalogabfrageGoobi workflow - Plugins (Deutsch)
<config_plugin>
    <gmPath>/usr/local/bin/gm</gmPath>
    <convertPath>/usr/local/bin/convert</convertPath>

    <config>
        <!-- which projects to use for (can be more than one, otherwise use *) -->
        <project>*</project>
        <step>*</step>
        <sourceDir>master</sourceDir>
        <destDir>media</destDir>

        <imageConfig collection="*" mediaType="*">
            <resizeTo>1500</resizeTo>
            <watermark>
                <image>/opt/digiverso/goobi/watermark.png</image>
                <location>south</location>
                <xDistance>0</xDistance>
                <yDistance>150</yDistance>
            </watermark>
        </imageConfig>
    </config>
</config_plugin>
LogoGitHub - intranda/goobi-plugin-administration-config-file-editor: This is an Administration Plugin for Goobi workflow which allow to get reading and writing access to all important configuration files of Goobi workflow which are usually located inside of the folder `/opt/digiverso/goobi/config/`.GitHub
<Group>
      <Name>Title</Name>
      <language name="de">Titel</language>
      <language name="en">Title</language>
      <metadata num="1o">NonSort</metadata>
      <metadata num="1m">SortingTitle</metadata>
      <metadata num="*">Subtitle</metadata>      
</Group>

NonSort

The

SortingTitle

Art of War

Subtitle

The Ancient Classic

"meta:SortingTitle:Art of War"

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

"http://example.com/goobi/api/process/image/12345/schudiss_618299084_master/00000001.tif/full/max/0/default.jpg?jwt=1234567890", "http://example.com/goobi/api/process/image/12345/schudiss_618299084_master/00000002.tif/full/max/0/default.jpg?jwt=0987654321","http://example.com/goobi/api/process/image/12345/schudiss_618299084_master/00000003.tif/full/max/0/default.jpg?jwt=0987654321","http://example.com/goobi/api/process/image/12345/schudiss_618299084_master/00000004.tif/full/max/0/default.jpg?jwt=0987654321","http://example.com/goobi/api/process/image/12345/schudiss_618299084_master/00000005.tif/full/max/0/default.jpg?jwt=0987654321", ...
LogoGitHub - intranda/goobi-plugin-administration-ruleset-editor: This is an Administration Plugin for Goobi workflow. It allows to edit ruleset xml files directly from the user interface of Goobi workflow and does some basic validation.GitHub

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)

<config_plugin>
    <config>
        <!-- which projects to use for (can be more then one, otherwise use *) -->
        <project>*</project>
        <step>*</step>

        <!-- export path -->
        <target>/opt/digiverso/export/</target>

        <!-- which image folders to use (master|media|jpeg|source|...) -->
        <imagefolder>master</imagefolder>
        <imagefolder>media</imagefolder>

        <!-- which additional folders to use -->
        <ocr>false</ocr>
        <source>false</source>
        <import>false</import>
        <export>false</export>
        <itm>false</itm>
        <validation>false</validation>

        <!-- if the internal METS file shall get transformed into another file define the path of the xsl file here -->
        <transformMetaFile>true</transformMetaFile>
        <transformMetaFileXsl>/opt/digiverso/goobi/xslt/export_meta.xsl</transformMetaFileXsl>
        <transformMetaFileResultFileName>xslt_result_meta.xml</transformMetaFileResultFileName>

        <!-- if the METS file shall get transformed into another file define the path of the xsl file here -->
        <transformMetsFile>true</transformMetsFile>
        <transformMetsFileXsl>/opt/digiverso/goobi/xslt/export_mets.xsl</transformMetsFileXsl>
        <transformMetsFileResultFileName>xslt_result_mets.xml</transformMetsFileResultFileName>
    </config>
</config_plugin>

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

Logo7.4. GoobiScriptGoobi workflow (Deutsch)
Logo7.4. GoobiScriptGoobi workflow (Deutsch)
<DocStrctType>
  <Name>page</Name>
  <language name="de">Seite</language>
  <language name="en">Page</language>
  <language name="rusdml">page</language>
  <language name="es">Página</language>
  <allowedchildtype>area</allowedchildtype>
  <metadata num="1m">logicalPageNumber</metadata>
  <metadata num="*">_ucc_id</metadata>
  <metadata num="1m">physPageNumber</metadata>
  <metadata num="1o">_urn</metadata>
</DocStrctType>
  <DocStrctType>
  <Name>audio</Name>
  <language name="de">Audio</language>
  <language name="en">Audio</language>
  <metadata num="1o">_urn</metadata>
  <metadata num="1m">logicalPageNumber</metadata>
  <metadata num="1m">physPageNumber</metadata>
</DocStrctType>
<DocStrctType>
  <Name>video</Name>
  <language name="de">Video</language>
  <language name="en">Video</language>
  <metadata num="1o">_urn</metadata>
  <metadata num="1m">logicalPageNumber</metadata>
  <metadata num="1m">physPageNumber</metadata>
</DocStrctType>
<DocStrctType>
  <Name>object</Name>
  <language name="de">3D Objekt</language>
  <language name="en">3D Object</language>
  <metadata num="1o">_urn</metadata>
  <metadata num="1m">logicalPageNumber</metadata>
  <metadata num="1m">physPageNumber</metadata>
</DocStrctType>
<DocStrctType>
  <Name>area</Name>
  <language name="de">Bildbereich</language>
  <language name="en">Area</language>
  <metadata num="*">_ucc_id</metadata>
  <metadata num="1o">_urn</metadata>
  <metadata num="1o">_COORDS</metadata>
  <metadata num="1o">_SHAPE</metadata>
  <metadata num="1m">physPageNumber</metadata>
  <metadata num="1m">logicalPageNumber</metadata>
</DocStrctType>  
<DocStrctType>
  <Name>BoundBook</Name>
  <language name="de">Gebundenes Buch</language>
  <language name="en">Bound Book</language>
  <allowedchildtype>page</allowedchildtype>
  <allowedchildtype>audio</allowedchildtype>
  <allowedchildtype>video</allowedchildtype>
  <allowedchildtype>object</allowedchildtype>
  <metadata num="1o">PhysicalLocation</metadata>
  <metadata num="1o">datedigit</metadata>
  <metadata num="1o">shelfmarksource</metadata>
  <metadata num="1o">mediumsource</metadata>
  <metadata num="1o">FormatSourcePrint</metadata>
  <metadata num="*">_ucc_id</metadata>
  <metadata num="1o">shelfmarkarchiveimageset</metadata>
  <metadata num="1o">pathimagefiles</metadata>
  <metadata num="1o">imagedescr</metadata>
  <metadata num="1o">copyrightimageset</metadata>
  <metadata num="1o">_urn</metadata>
  <metadata num="1o">_representative</metadata>
</DocStrctType>

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

<useJSFullscreen>true</useJSFullscreen>
<config_plugin>

    <config>
        <!-- which projects to use for (can be more than one, otherwise use *) -->
    <project>*</project>
        <step>*</step>
        <!-- which file types to allow -->
        <regex>/(\.|\/)(gif|jpe?g|png|tiff?|jp2|pdf)$/</regex>
        <!-- which folder to use (master or media) -->
    <folder>master</folder>
        <folder>media</folder>
    </config>

</config_plugin>
    ...
    <config>
        <project>*</project>
        <step>ImageQA</step>
        <foldername>master</foldername>
        <foldername>media</foldername>
        <!-- how to display the thumbnails -->
        <numberOfImagesPerPage>12</numberOfImagesPerPage>
        <thumbnailsize>200</thumbnailsize>
        <!-- which image sizes to use for the big image -->
        <imagesize>800</imagesize>
        <imagesize>3000</imagesize>
        <!-- show OCR text beside image -->
        <displayocr>true</displayocr>
    </config>
    ...
<config_plugin>
  <config>
      <project>*</project>
      <step>Validate Scans</step>
      <!-- folders to validate, can be multiple one (e.g. master, main etc. -->
      <folder>scans</folder>
      <openStepOnError>Scanning</openStepOnError>
      <lockAllStepsBetween>true</lockAllStepsBetween>
      <jhoveConfiguration>/opt/digiverso/goobi/config/jhove/jhove.conf</jhoveConfiguration>
      <namespace uri="http://www.loc.gov/mix/v20" name="mix" />
      <namespace uri="http://hul.harvard.edu/ois/xml/ns/jhove" name="jhove" />
      <!--Check color depth -->
      <check>
          <xpath>string(//mix:bitsPerSampleValue[1])</xpath>
          <wanted>8</wanted>
          <error_message> Check color depth for "${image}": Expected value "${wanted}", but found value "${found}".</error_message>
      </check>
  </config>
  <config>
        <project>*</project>
        <step>Validate Photographs</step>
        <!-- folders to validate, can be multiple one (e.g. master, main etc. -->
        <folder>photographs</folder>
        <openStepOnError>Scanning</openStepOnError>
        <lockAllStepsBetween>true</lockAllStepsBetween>
        <jhoveConfiguration>/opt/digiverso/goobi/config/jhove/jhove.conf</jhoveConfiguration>
        <namespace uri="http://www.loc.gov/mix/v20" name="mix" />
        <namespace uri="http://hul.harvard.edu/ois/xml/ns/jhove" name="jhove" />
        <!--Check color depth -->
        <check>
            <xpath>string(//mix:bitsPerSampleValue[1])</xpath>
            <wanted>16</wanted>
            <error_message> Check color depth for "${image}": Expected value "${wanted}", but found value "${found}".</error_message>
        </check>
    </config>
</config_plugin>
LogoMetadaten bearbeitenGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_metadata_edition
LogoGitHub - intranda/goobi-plugin-step-metadata-edition: This is a step plugin for Goobi workflow to allow the edition of individual metadata fields right inside of an accepted task. It is highly configurable and contains a user interface.GitHub
https://github.com/intranda/goobi-plugin-step-metadata-edition
LogoGitHub - intranda/goobi-plugin-step-datacite-doi: This is a Goobi step plugin to allow the registration of digital objects at the DataCite DOI service.GitHub
https://github.com/intranda/goobi-plugin-step-datacite-doi
LogoPlugin zur Registrierung von DOIs via DataCite APIGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_datacite_doi
Logo7.4. GoobiScriptGoobi workflow (Deutsch)
https://docs.goobi.io/goobi-workflow-de/manager/7/7.4#goobiscript-metadatachangevalue
LogoGitHub - intranda/goobi-plugin-step-exportPackage: This step plugin for Goobi workflow allows you to export the metadata and content of a Goobi process to a configurable pathGitHub
https://github.com/intranda/goobi-plugin-step-exportPackage
LogoGitHub - intranda/goobi-plugin-step-deleteContent: This step plugin for Goobi workflow allows an automatic selective deletion of content from a process.GitHub
https://github.com/intranda/goobi-plugin-step-deleteContent
Nutzeroberfläche des Plugins für den Export eines gesamten Projektes als Download
Exportierte zip-Datei mit der generierten Excel-Datei und allen zugehörigen Bildern
Nutzeroberfläche des Plugins die Bearbeitung von Metadaten
Datenübernahme aus anderen Goobi-Vorgängen
Neues Statistik-Plugin für Analyse der Übersetzer-Aktivitäten
Neuer Button zum Zurücksetzen eines Passworts für einen anderen Nutzer
Das Zurücksetzen fremder Passwörter erfordert eine besondere Rolle
Überarbeitete Maske zum Ändern des eigenen Passworts
Vergrößerte Aufnahme des gleichen Bereichs für den Vergleich Masterbild vorher (vorn) und Derivat nachher (hinten)
Beispielbildern mit Barcodes auf Trennblättern
Das Plugin für den Massenupload erkennt die Barcodes in den hochgeladenen Bildern und weist die Vorgänge den richtigen Vorgängen zu.
Skaliertes Bild mit automatisch ergänztem Watermark
Das JSON-Opac-Plugin stellt einen komplexeren Eingabebereich für die kombinierbaren Identifier zur Katalogabfrage zur Verfügung.
Die Accessiblity im METS-Editor ist noch nicht soweit, wie sie sein soll. Die Arbeiten gehen hier noch weiter.
Hierarchische Metadatengruppen
Doppelseiten lassen sich im Metadateneditor festlegen und auch mit entsprechender Paginierung versehen
Generierte METS-Datei mit Doppelseiten
Bisherige Suche nach Metadaten
IIIF URLs für alle Bilder eines Vorgangs als Parameter eines Skriptaufrufs
Keine Geisternutzer mehr in der Liste der aktiven Benutzer
Das Plugin für das Archiv-Management zeigt den Bestand an
Registrierung von DOIs innerhalb des Goobi workflows
Der Umfang eines Tektonik-Baums kann mit seinen Knoten und Unterknoten enorme Ausmaße annehmen.
Die Erfassung eines jeden Knotens folgt dem ISAD(G) Standard.
Die GoobiScripte wurden umbenannt zugunsten einer einfacheren Bedienung.
Das generische Export-Plugin kann wiederholt in mehreren Arbeitsschritten des Workflows verwendet werden
Das Plugin zur Generierung von Identifiern kann an beliebiger Stelle im Workflow eingesetzt werden
Umsortierung von linken und rechten Seiten eines Buches mittels Plugin
WCAG Vorgaben für Barrierefreiheit
Downloadmöglichkeit eines Releases für jede monatliche veröffentlichte Version
Das Plugin LayoutWizzard zum Croppen von Bildern am Beispiel von Doppelseiten
3D-Objekte visualisiert innerhalb des METS-Editors von Goobi workflow
Manipulationen am Bildstapel im METS-Editor wirken sich sofort auf alle Ordner und die METS-Datei aus
Das GoobiScript createStep mit seinen zugehörigen Parametern
Wiedergabe von Audio-Materialien innerhalb des METS-Editors von Goobi workflow
Anzeige von Video-Materialien innerhalb des METS-Editors von Goobi workflow
Oberfläche des Administration-Plugins zur Übernahme der Daten des Anchor-Datensatzes als Master für alle zugehörigen Goobi-Vorgänge
Findbuch aus dem Stadtarchiv Duderstadt innerhalb des METS-Editors
Anzeige von Video-Materialien innerhalb des Image-QA-Plugins
Anzeige von Audio-Materialien innerhalb des Image-QA-Plugins
Überarbeitete Vollbildansicht der Bilder
Die Übernahme der Endseite ist nun abschaltbar
Opac Plugin für JSON-Daten für das Anlegen von Vorgängen
Vokabularmanager mit blätterbaren Datensätzen
Ein Upload von Dateien kann für einen Nutzer auch in verschiedene Verzeichnisse erlaubt werden
Auch die Qualitätskontrolle erlaubt nun die Nutzung verschiedener Verzeichnisse
Einhaltung der Barrierefreiheit gemäß WCAG 2.1 AA
Croppen von Bildern über mehrere Vorgänge hinweg mit dem LayoutWizzard
LogoProjektexport als Ordner mit Bildern und Excel-DateiGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/workflow/intranda_workflow_projectexport
LogoGitHub - intranda/goobi-plugin-workflow-projectexport: This is a Goobi workflow plugin to export an entire project. A defined workflow step has to be finished to allow the usage. After execution another workflow step will be finished. The export creates an Excel file with metadata images for all processes.GitHub
https://github.com/intranda/goobi-plugin-workflow-projectexport
LogoSudan Memory ÜbersetzungenGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/statistics/intranda_statistics_sudan_memory
LogoGitHub - intranda/goobi-plugin-statistics-sudan-memory: This statistics plugin determines the activity of edits to translations within specific metadata fields.GitHub
https://github.com/intranda/intranda_statistics_sudan_memory_activity_by_user
LogoLayoutWizzardGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_crop
LogoDocker Hub
https://hub.docker.com/r/intranda/goobi-workflow
https://docs.goobi.io/goobi-workflow-plugins-de/workflow/plugin-workflow-massuploaddocs.goobi.io
https://docs.goobi.io/goobi-workflow-plugins-de/workflow/plugin-workflow-massupload
LogoGitHub - intranda/goobi-plugin-workflow-massupload: This workflow plugin allows a mass upload of files with automatic allocation to the correct Goobi processes either on the basis of the file names or by means of the analysed barcodes.GitHub
https://github.com/intranda/goobi-plugin-workflow-massupload
LogoBildskalierung und Wasserzeichen rendernGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_image_resize_and_watermark
LogoGitHub - intranda/goobi-plugin-step-image-resize-and-watermark: This step plugin allows to scale images down to a specific size of the longest side and adds a configurable watermark. The input and output folder can be configured as well.GitHub
https://github.com/intranda/goobi-plugin-step-image-resize-and-watermark
https://docs.goobi.io/goobi-workflow-plugins-de/opac/goobi-plugin-opac-jsondocs.goobi.io
https://docs.goobi.io/goobi-workflow-plugins-de/opac/goobi-plugin-opac-json
https://docs.goobi.io/goobi-workflow-plugins-de/opac/goobi-plugin-opac-jsondocs.goobi.io
https://docs.goobi.io/goobi-workflow-plugins-de/opac/goobi-plugin-opac-json
LogoGitHub - intranda/goobi-plugin-opac-json: This is an OPAC Plugin for Goobi workflow to allow a data transfer from a source that provides JSON records.GitHub
https://github.com/intranda/goobi-plugin-opac-json
LogoGitHub - intranda/goobi-plugin-opac-json: This is an OPAC Plugin for Goobi workflow to allow a data transfer from a source that provides JSON records.GitHub
https://github.com/intranda/goobi-plugin-opac-json
Logo7.4. GoobiScriptGoobi workflow (Deutsch)
https://docs.goobi.io/goobi-workflow-de/manager/7/7.4#goobiscript-metadatachangetype
LogoPackage ExportGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_exportPackage
LogoInhalte löschenGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_deletecontent
LogoIdentifier generierenGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_generateidentifier
LogoGitHub - intranda/goobi-plugin-step-generateIdentifier: This step plugin allows you to generate configurable identifiers and save them within a metadata in the METS file.GitHub
https://github.com/intranda/goobi-plugin-step-generateIdentifier
LogoBilder sortierenGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_reorder_images
LogoGitHub - intranda/goobi-plugin-step-reorder-images: This step plugin enables an automatic correction of the sorting of digitised material that was created separately for right and left book pages.GitHub
https://github.com/intranda/goobi-plugin-step-reorder-images
LogoWeb Content Accessibility Guidelines (WCAG) 2.1
https://www.w3.org/TR/WCAG21/
LogoWeb Content Accessibility GuidelinesWikipedia
https://de.wikipedia.org/wiki/Web_Content_Accessibility_Guidelines
LogoWeb Content Accessibility GuidelinesWikipedia
https://en.wikipedia.org/wiki/Web_Content_Accessibility_Guidelines
Logo01. Accessibility overview - WEBGUIDE - EC Public Wiki
https://wikis.ec.europa.eu/display/WEBGUIDE/01.+Accessibility+overview
LogoRelease Release v21.12 · intranda/goobi-workflowGitHub
https://github.com/intranda/goobi-workflow/releases/latest
LogoJSONPath Syntax | AlertSite Documentation
https://support.smartbear.com/alertsite/docs/monitors/api/endpoint/jsonpath.html
https://github.com/intranda/goobi-workflow/commit/52225055feac93b713c815bc4c02f8ac49bf4b79
https://github.com/intranda/goobi-workflow/commit/d62135f801ddb12e741b4335d9157d6f2f5e44a1
https://github.com/intranda/goobi-workflow/commit/6dc1fe71c727c8a941eb26f12aeac0a974da33af
https://github.com/intranda/goobi-workflow/commit/2f399e7374322b577e1cdbc3ee8e4af3565d72e5
https://github.com/intranda/goobi-workflow/commit/a357beb2d4d1c4f9dc47d40d1649fe03ec3259d3
https://a11y-101.com/design/button-vs-link
https://naga.co.za/2020/03/13/links-vs-buttons/
https://www.w3.org/WAI/fundamentals/accessibility-intro/
https://github.com/intranda/goobi-workflow/commit/d7242e22d03db5339fd74fcc1a3345ad8e9cd26d
https://github.com/intranda/goobi-workflow/commit/656955f364f78b3a992641688551bf9a20b07688
https://github.com/intranda/goobi-workflow/commit/d6c3ccd093a1a21cf5e1d97bd86f0f4560f5b0a8
https://github.com/intranda/goobi-workflow/commit/9c2530fd47a25d847237e9ea48f0fd6bfaf47228
https://github.com/intranda/goobi-workflow/commit/1531b91f61b5e5c18c32108b2f76be456717c72d
https://github.com/intranda/goobi-workflow/commit/18f445d1ae737488fac4dac66230c630e284326e
https://github.com/intranda/goobi-workflow/commit/6f60ac60ebf9147f420098b59fc42e3da0b96bae
https://github.com/intranda/goobi-workflow/commit/dd70cadea20ca37d9dbdb5f3414b1f759b1a53a8
https://github.com/intranda/goobi-workflow/commit/b5ca950168a7388f5a39e62ab1072804f8e7f940
https://github.com/intranda/goobi-workflow/commit/2e12a163f4e2c08b504e2702ac0b69b6cf612d95
https://github.com/intranda/goobi-workflow/commit/4a0045ba1003a6567e1669bf1cb30cc0fe6dc2fd
https://github.com/intranda/goobi-workflow/commit/b747d0e1507cdb0df52ddc8e08c233c231637004
https://github.com/intranda/goobi-workflow/commit/ba50c49627f3954589160eb15441afcf16f3f6e8
https://github.com/intranda/goobi-workflow/commit/c48e1a8b3022074c65fa3868289196a8f24806f6
https://github.com/intranda/goobi-workflow/commit/8cae3268d8ad90b9a0452b183f2746045c966600
https://github.com/intranda/goobi-workflow/commit/0b0fb555cf35d95ea80f8020dc9c30e22b72f69a
https://github.com/intranda/goobi-plugin-step-fileupload/commit/397702fef2225c46bc01a4ab4ec953f8542d7967
https://github.com/intranda/goobi-workflow/releases
https://github.com/intranda/goobi/commit/273a53e36a0ac2614c4d95a96d41865218fe7b81
https://github.com/intranda/goobi/commit/f5425981918c37ad3e77336569119777c8d68b1d
https://github.com/intranda/goobi/commit/8f0fc997e6c6bfa9247f76ecf337e89081177c54
https://github.com/intranda/goobi/commit/a17dcc5d666d49c9c5cb5d9451bc6a9f8894503b
https://github.com/intranda/goobi/commit/368c3c102df57806ba6cf7f652730cc4ce495577
https://github.com/intranda/goobi/commit/f9953fe0e91a2e3494bf23e1338b7daca63b6aa2
https://github.com/intranda/goobi/commit/da4cb26bd48ba93b837ba062e0592f99535d6142
Datenbestand samt Metadaten und Transkriptionen
https://github.com/intranda/goobi/commit/32cad013767d747f308d1e0168e111232f44ee27
https://github.com/intranda/goobi/commit/0afa8ac5b58b801a07699ac982239965e2a257e8
https://github.com/intranda/goobi/commit/a61d3e0735e2b53bac5192adfa4b07e42d3395cd
https://github.com/intranda/goobi/commit/f43f2dbfd0eb737c8a75a00db987ee6e5c328411
https://github.com/intranda/goobi/commit/0042b21959930d2dc80c92d1864125e92bc40f8f
https://github.com/intranda/goobi/commit/1843faf29f7985a5f6fc4a45d6f04e708b636b7e
https://github.com/intranda/goobi/commit/fcf566fe0d0d4194585793c272f13c5603918001
https://github.com/intranda/goobi/commit5f22c48421e29e0d4cce3a48e8c3e89a348a02a0
https://archivesspace.org/
https://github.com/intranda/goobi/commit/fa5ecfd989a96b2540dfae4d0c61e75e2d583797
https://github.com/intranda/goobi/commit/8a050eaf689f0cd4f0ceabaa69a493d9ebbc74cd
https://github.com/intranda/goobi/commit/fa4ef8689ddd14726214b7a4c0f9ecce3c092330
https://github.com/intranda/goobi/commit/b40b6ab79fae816c3ec78d72a10687d6b9fb1915
https://github.com/intranda/goobi/commit/5b90c799f9955a1cf666ecdf679661e7d820c934
https://github.com/intranda/goobi-workflow/commit/241ef334ac0237dfc1195d3bfc64fdf4acc9b576
https://github.com/intranda/goobi-workflow/commit/904df6556feea3eb1a0fb9780e09e15af9911d19
https://github.com/intranda/goobi-workflow/commit/c31869eb31cd22a79630c4d429a59408eefbecf6
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
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
https://github.com/intranda/goobi-workflow/commit/ed0e76c20334ff318d8e856927c6f3359a322c77
https://github.com/intranda/goobi-workflow/commit/e7c49f18cd4bba9bb299ec5f3f70034a92d5918f
https://github.com/intranda/goobi-workflow/commit/e7c49f18cd4bba9bb299ec5f3f70034a92d5918f
https://github.com/intranda/goobi-workflow/commit/ad712cdd5509fd478c8753ef6c112a389cb41e9e
https://github.com/intranda/goobi-workflow/commit/2a384950ce45cd23fd1f082ef4f460d65995f091
https://github.com/intranda/goobi-workflow/commit/4fd6f8a69755fa9568e5c0eac458d62bb28a63f8

Juni

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

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

Neues Plugin für den Datenaustausch: Goobi-to-Goobi

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:

a) Erzeugung der Export-Verzeichnisse durch das Ausgangssystem

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:

b) Transfer der Export-Verzeichnisse vom Ausgangssystem zum Zielsystem

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:

c) Einspielen der Export-Verzeichnisse im Zielsystem

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:

Neue Dokumentationen für zahlreiche Plugins

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:

Zahlreiche Plugins auf GitHub veröffentlicht

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:

Neues GoobiScript um Metadatentyp zu ändern

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:

action:metadataTypeChange oldType:TYPE_TO_CHANGE newType:NEW_TYPE position:top_OR_child_OR_work

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.

METS-Editor: Vermeidung unnötiger Ladezeiten durch den Einsatz von mehr Ajax

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.

Ordnernamen sind nun komplett konfigurierbar

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:

process.folder.images.main={processtitle}_media
process.folder.images.master={processtitle}_master
process.folder.images.scans={processtitle}_scans
process.folder.images.photos={processtitle}_photographs

Weitere Anpassungen

Neben diesen größeren Entwicklungen gab es auch wieder einige kleinere Anpassungen, die hier kurz genannt werden sollen:

Anlegen von Vorgängen

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.

Scrollen im Vorgangslog

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.

Andere Behandlung von Kommata innerhalb von Konfigurationsdateien

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 \\.

Ladezeiten im LayoutWizzard

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.

Februar

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

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

METS-Editor: Pre-Caching von Bildern für performantere Bildanzeige

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.

METS-Editor: Zoomstufe beibehalten

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.

Ausbau der Mehrsprachigkeit - Work in progress

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.

Erweiterte Funktionalität für PDF-Generierung - auch im METS-Editor

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.

Nicht-lateinische Zeichen in Laufzetteln werden unterstützt

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.

Java 11 Support

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.

Neues Plugin für TIF-Validierung und Fehlermeldung

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:

Plugin für eine automatische Umbenennung von Dateien

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:

Barcode-Generierungs-Plugin

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:

November

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • Mandantenfähigkeit von Goobi workflow

  • Message queue für externe Prozesse

  • Metadateneditor und ImageQA-Plugin: rechts-nach-links blättern und Thumbnails

Zwei neue GoobiScripte

Es wuren zwei neue GoobiScripte hinzugefügt:

  • deleteUserGroup entfernt eine Nutzergruppe aus Schritten

  • renameStep __benennt einen Schritt um

Single sign on mit openID Connect

Goobi workflow unterstützt nun openID Connect als externen Authentifizierungs-Anbieter. Die Implementierung ist konfigurierbar gehalten und kann mit vielen openID Connect Anbietern zusammenarbeiten.

Neuer METS-Editor

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:

Message queue: Anzeige der dead letter queue

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.

Thumbnail-Ordner: Performance-Verbesserungen

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.

EasyDB-Integration im METS-Editor

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.

Dezember

Entwicklungen und Neuigkeiten zu Goobi workflow

Mandantenfähigkeit in 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:

  update benutzer set superadmin = true where benutzerid = xyz

Anschließend kann der somit erzeugte Super-Administrator innerhalb der Nutzeroberfläche von Goobi workflow auch weitere Super-Administratoren erzeugen.

Zwei neue Plugins für eine völlig andere Arbeitsweise

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.

EWIG LZA Anpassungen

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:

Fix für Single Sign On

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.

März

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

In den kommenden Wochen werden wir uns voraussichtlich auf folgende Punkte konzentrieren:

  • LayoutWizzard-Erweiterungen

  • Audio- und Video-Integrationen

  • Dokumentationen

  • Erweiterung der Vokabularfunktionalitäten

Projekte jetzt mit eigenen editierbaren Identifiern

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.

Neues Plugin: Flexibler Editor für die Handschriftenerschließung

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.

Vokabularmanager als Teil von Goobi workflow

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.

Auswahlfelder für den Mets-Editor mit Inhalten aus Vokabularmanager

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:

<vocabularyList ref="singleDigCollection">
  <source>Digital collections</source>
</vocabularyList>

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:

<vocabularySearch ref="SubjectTopic">
  <source>Languages</source>
  <field>Name; Full Name; Description</field>
</vocabularySearch>

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:

<endpoint path="/vocabulary.*">
  <method name="get">
    <allow />
  </method>
  <method name="post">
    <allow />
  </method>
</endpoint>

Neues Plugin zum automatischen Suchen und Ersetzen von Metadaten aus einem Vokabular

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:

<config_plugin>
  <config>
    <project>*</project>
    <step>*</step>
    <entry>
      <fieldFrom>originalPlaceOfPublication</fieldFrom>
      <fieldTo>PlaceOfPublication</fieldTo>
      <vocabulary>Place vocabulary</vocabulary>
      <contentSearch>original value</contentSearch>
      <contentReplace>corrected value</contentReplace>
      <contentAuthority>authority</contentAuthority>
      <contentAuthorityUri>authorityURI</contentAuthorityUri>
      <contentAuthorityValueUri>valueURI</contentAuthorityValueUri>
    </entry>
  </config>
</config_plugin>

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:

Neuer Plugin-Typ für Part-GUI und Full-GUI gleichzeitig

In der Vergangenheit gab für die Step-Plugins von Goobi bisher drei Varianten:

Typ
Beschreibung

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)

Neu hinzugekommen ist eine neue Variante, die nun erlaubt, dass ein Plugin sowohl eine teilweise als auch eine vollständige Nutzeroberfläche unterstützt.

Typ
Beschreibung

PART_AND_FULL

Plugins mit teilweiser und vollständiger Nutzeroberfläche zugleich (Beispiel: überarbeitetes Image-QA-Plugin)

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.

Überarbeitung und Dokumentation des Image-QA-Plugins

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

Plugin für Anzeige von speziellen Validierungsergebnissen innerhalb von Aufgaben

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.

Zahlreiche optische Anpassungen an mehreren Stellen

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.

September

Entwicklungen und Neuigkeiten zu Goobi workflow

Neuer Login-Screen

Es gibt einen neuen Login-Screen, der das "workflow" im Namen besser widerspiegelt.

Session-Nachfrage ist weg

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.

Neue Versionierung

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.

Automatische Schritte in die Message Queue

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.

Persönliche Informationen werden beim Benutzer-Löschen mitgelöscht

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

Process Search: Neuer Filter nach TemplateID

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:

Januar

Entwicklungen und Neuigkeiten zu Goobi workflow

Coming soon

  • Umstellung von Goobi workflow für den Support von Java 11

  • Erweiterung des Vokabularmanagers

  • Implementierung eines flexiblen Editors für Handschriftenerschließung

Erfassen von Bildausschnitten für Struktur- und Metadaten

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:

Verteilung von Rechenlast über externe Maschinen

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.

Rechts-nach-links-Leserichtung beim Blättern in der Bildanzeige und in den Thumbnails

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.

Audio/Video Medien im METS-Editor

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.

4K Display-Unterstützung im METS-Editor

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.

Aktivierung von über 200 JUnit-Tests

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.

Erste Live-Instanz von Goobi workflow innerhalb der Amazon Cloud

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.

Umstellung des Loggings auf Log4j2

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.

Konfigurierbarer Export von Dateigruppen innerhalb von METS-Dateien

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.

Dokumentation von UGH ist nun online verfügbar und mehrsprachig

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.

August

Entwicklungen und Neuigkeiten zu Goobi workflow

ActiveMQ Warteschlangen werden nun angezeigt

Stabilität von GoobiScript verbessert

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.

Schnellere Abfrage von Schritten

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.

Anzeige aller installierter Plugins

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.

Neues GoobiScript zum Umbenennen von Vorgängen

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.

Dateien im Vorgangslog verlinken

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.

Auflistung aller Bilder eines Vorgangs in der Vorgangs-Ansicht

Zusammen mit dem Dateiupload ins Vorgangslog wurde auch eine Auflistung aller sich momentan im Vorgang befindlichen Bild-Dateien hinzugefügt.

Emails versenden, wenn ein Schritt geöffnet oder geschlossen wird

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.

Link zur Anzeige eines Vorgangs nach dem Anlegen wird nur berechtigten Nutzern gezeigt

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.

Neue Sicherheitsabfrage für GoobiScripte

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.

Docker images

Installationsanleitung

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.

Juli

Entwicklungen und Neuigkeiten zu Goobi workflow

Optimierung der Bildanzeige

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.

Verbesserung der OCR-Anzeige im Metadateneditor

Wenn im OCR-Ergebnis mehrere Leerzeilen aufeinander folgen, kann es schnell unübersichtlich werden:

Ab sofort werden mehrere aufeinanderfolgende Leerzeilen zu einer zusammengefasst:

Neues GoobiScript zum setzen von Schritte-Prioritäten

Es wurde ein neues GoobiScript hinzugefügt, welches die massenhafte Manipulation von Schritte-Prioritäten erlaubt.

Entfernen des gesamten Prozess-Ordners wenn ein Prozess gelöscht wird

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.

Oktober

Entwicklungen und Neuigkeiten zu Goobi workflow

Neuer REST-Endpoint für den Dateiupload in einen Vorgang.

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.

Weitere SQL-Performance-Verbesserungen

Es wurden weitere Queries optimiert.

Release-binaries

Support für GLB-Objekte in der 3D-Ansicht

Für bessere Performance werden jetzt GLB-Objekte in der 3D-Ansicht des METS-Editors unterstützt.

Performance-Verbesserungen des erweiterten Dashboards

Das erweiterte Dashboard wurde komplett überarbeitet und bietet jetzt bessere Performance und weniger Bugs.

Eine weiterer GoobiScript fix

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.

Juni

Entwicklungen und Neuigkeiten zu Goobi workflow

Integration von VIAF zur Normdatenerfassung

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:

Zwei neue GoobiScripts "moveWorkflowForward" und "action:moveWorkflowBackward"

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.

Fix für Goobiscripte: serielle Abarbeitung sicherstellen

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.

Metadateneditor: Schreibrichtung wird nun automatisch erkannt

Alle input-Felder im Metadateneditor erkennen nun automatisch je nach Inhalt die Textflussrichtung.

S3 storage backend: Verbindungen werden nun korrekt geschlossen

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.

Thumbnail-Ordner im Vorgangsordner: fix für Windows

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.

Januar

Entwicklungen und Neuigkeiten zu Goobi workflow

Usability-Anpassungen für die Boxen innerhalb des METS-Editors

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.

Überarbeitung der Bildanzeige bei Manipulationen am Bildstapel

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.

Rotation von 3D-Objekten im METS-Editor

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.

Korrektur für die Eigenschaften von Batches

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.

Anpassung von Pfadangaben für Goobi-to-go

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.

Aktualisierung der englischen Nutzeroberfläche von Goobi workflow

Alle bisher nicht in englische übersetzten Texte der Nutzeroberfläche sind vom englischen Übersetzer überprüft, übersetzt und eingespielt worden.

Buttons und Links
Gegenüberstellung des unveränderten Masterbildes links mit dem gecroppten Derivat rechts
Ablauf des Datenaustauschs
Nutzeroberfläche für das Einspielen der Daten
Übersicht über die dokumentierten Plugins
GitHub-Seite von intranda mit über 70 Repositories
48 Plugins bereits mit dem Quellcode öffentlich
Neues GoobiScript zum Ändern des Typs

METS-Editor mit kürzeren Ladezeiten

Typische Verzeichnisbenennungen bisher
Mögliche Verzeichnisbenennungen von nun an

Zoom beibehalten

Italienische Oberfläche

Der bisherige Button zum Drucken erzeugt nun die PDF-Datei
Herunterladen der PDF-Datei aus der Vorgangsliste
Beispiel für eine PDF-Datei mit Strukturinformationen und Metadaten

Beispiel eines Laufzettels mit hebräischen Zeichen

Intgration des Plugins in den Workflow
Dokumentation des Variablensystems von Goobi workflow
Bedienung des Barcode-Generators in Goobi workflow
Ergebnis einer beispielhaften Barcode-Generierung

Neuer single sign on

Der neue METS-Editor

Screenshot Projekte mit Identifiern

Handschrifteneditor mit aktiven und inaktiven Feldern
Mehrfachauswahl aus kontrolliertem Vokabular
Ausschnitt der Konfigurationsdatei mit verschiedenen Konfigurationsmöglichkeiten
Der Vokabularmanager zur Verwaltung von Vokabularen
Die neuen Berechtigungsstufen müssen den jeweiligen Nutzern zugewiesen werden, damit die Vokabulare administriert und inhaltlich bearbeitet werden können
Die Administration eines Vokabulars erlaubt die Definition beliebiger Felder pro Datensatz
Import eines existierenden Vokabulars als Excel-Datei
Bearbeitung von Datensätzen innerhalb eines Vokabulars mit verschiedenen Feldern unterschiedlicher Typen

Verwendung eines Vokabulars in einem Drop-Down-Feld am Beispiel einer Sammlung
Verwendung eines Vokabulars über eine Suchmaske am Beispiel von Sprachen
Vokabular mit verschiedenen konfigurierten Schreibweisen eines Ortes
Metadaten nach dem Automatischen Durchlauf des Plugins mit dem Ursprungswert und dem gewünschten Wert samt Normdaten am Beispiel des Erscheinungsortes
Image-QA-Plugin mit einer Part-GUI und Full-GUI gleichzeitig

Das Image-QA-Plugin für die Anzeige von Bildern im Vollbildmodus
Das Image-QA-Plugin mit zahlreichen aktivierten Funktionen, die jeweils unterhalb der Thumbnails aktiviert werden können

Die Validierung kann jederzeit innerhalb von Arbeitsschritten neu durchgeführt werden und zeigt die Ergebnisse unmittelbar mit einer sprechenden Validierungsmeldung an.
Nutzeroberfläche mit neuen und vereinheitlichten Icons
Der Paginator über der Bildanzeige erlaubt für das Blättern zwischen Seiten wieder ein Überspringen von Seiten.

Bereits 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.

Es gibt jetzt öffentliche Docker images für Goobi workflow. Sie sind auf 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:

Travis baut jetzt Goobi-Releases, die dann veröffentlicht werden.

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.

https://github.com/intranda/goobi-workflow/commit/4306740b00a75d0a7874fb7cd10f8a19074f7754
https://github.com/intranda/goobi-workflow/commit/c5fe9d3cd76fe93adbbb258b869a08724ba2a6e7
https://github.com/intranda/goobi-workflow/commit/b433851dd74017a985be26cdd38b2f1f27055bf6
https://github.com/intranda/goobi-workflow/commit/a0395f332aaba1ddc7b75792e2113bbbbb16e4bd
https://github.com/intranda/goobi-workflow/commit/18efa1677b98ac76828c6f40ac4fb7d22cb05da2
https://github.com/intranda/goobi-workflow/commit/8a9b821eb620685bc340e332c38f468806dc16ea
https://github.com/intranda/goobi-workflow/commit/f58d6a47a066e9a9c26e30d3eea4c579b27d831d
https://github.com/intranda/goobi/commit/cc5bf154e267a186aa12d9bbf9e8563d5b9d8e8e
https://github.com/intranda/goobi/commit/2bcb3fff2e2f09f5178cf33431c0b1ddf3cfaa82
https://github.com/intranda/goobi/commit/2736b5982065579dbf95224611a2a29b081e9857
https://github.com/intranda/goobi/commit/2736b5982065579dbf95224611a2a29b081e9857
https://github.com/intranda/goobi/commit/b5e229ad09be7c867b3b5238724d9ae9fe04f2a6
https://github.com/intranda/goobi/commit/ef9dfc54794cb4fa662d7a299e246ea01f1a8efc
https://github.com/intranda/goobi/commit/2736b5982065579dbf95224611a2a29b081e9857
https://github.com/intranda/goobi/commit/dbc93d187122de2b64cc6f3490a630fcd92b9d26
https://github.com/intranda/goobi/commit/b81d652c29d784a08c236fe72fc4de21770bf9c6
https://github.com/intranda/goobi/commit/96c6add77248342fa66ff4d242f29d847aa7bdd3
https://github.com/intranda/goobi/commit/36d9e5c75b2523d5c13e6def32b07c926edb1611
https://github.com/intranda/goobi/commit/843e9d4d8ee2731803832736a98e3fcf43ec1df4
https://github.com/intranda/goobi/commit/29d78831087b5a42d484c32ffeb5a6cf0600b4e1
https://github.com/intranda/goobi/commit/1d98eeaa59b393f6e5485db64c5f6470cdf1dc73
https://github.com/intranda/goobi/commit/cc72ab41a793d1c8986b6b4fc880bcd44cd75433
https://github.com/intranda/goobi/commit/b8f294ceddfeb7e563efb27365c2a4709de45ab5
https://github.com/intranda/goobi/commit/de4659e3dde243a646a184c7e1621747969f6bc5
https://github.com/intranda/goobi/commit/06bea9d7a87475416c03ce4ee0819ab1c9d1dc1e
https://github.com/intranda/goobi/commit/d9d9fcd2e0fec2dcc95fa6e9baee30fe09f331e4
https://github.com/intranda/goobi/commit/6c41dd7969
https://github.com/intranda/goobi/commit/fac1506e8a
https://github.com/intranda/goobi/commit/3472e38eb4
https://github.com/intranda/goobi/commit/684f7638bd91ec5a788ac419b592fc20341e1cea
https://github.com/intranda/goobi/commit/30d41e7969e26c5268602dcd47bad3651c313116
https://github.com/intranda/goobi/commit/38c2cbd58d52c260b29c2645bf88f4968ca0d897
https://github.com/intranda/goobi/commit/7e14445cd902540f74a42653b7c6db9dfee095a9
https://github.com/intranda/goobi/commit/e515dac2ed6835a0a6a5d81fc0ea50b1a4b22f83
https://github.com/intranda/goobi/commit/4d2bd8c118272f0b7d01ff25ad56bb32bbc99e7b
https://github.com/intranda/goobi/commit/17c1d9072bcf9c13cd8036330149ba591c1f4103
https://github.com/intranda/goobi/commit/7479bb8220307fed4c92a8b23e1c537984b652e1
https://github.com/intranda/goobi/commit/c7b6c86d6a0f91f7dc588c763c07e342f1b940e9
https://github.com/intranda/goobi/commit/05d755e8d738a6d4248307c55861c7f6ca75a7cc
https://github.com/intranda/goobi/commit/80ea9855ba60ce1ad54322668798562211086e12
https://github.com/intranda/goobi/commit/a824f97aa7044d6e302eb7a67dd77af2e6300ebc
https://github.com/intranda/goobi/commit/6bba5b0d27c4e2ff8420a9a1fb8ae382c4cc8fa1
https://github.com/intranda/goobi/tree/a322a94342beedd4a2c730ad4e8671814ff793fc
https://github.com/intranda/goobi/commit/dc6adab07ef74a10dd1d0f570a3297141c11efc0
https://github.com/intranda/goobi/commit/940dc8d68f2b21f4e8a4f0566fba8ba7585b1990
https://github.com/intranda/goobi/commit/92a8ae02f79da6dde326f27ed60c45d80262599c
https://github.com/intranda/goobi/commit/6484491167c12f1a0ab29a6f5b7f1cbea5145fcf
https://github.com/intranda/goobi/commit/531986e7430213c739a5312300137868777378e3
{
  "templateIDs: [
    2,
    51,
    8
  ]
}
action:renameProcess search:OLDNAME replace:NEWNAME type:contains|full
<viaf ref="PlaceOfPublication">                
   <!-- # Format: 'mmmiis' -->                
   <!-- # mmm - MARC main field -->                
   <!-- # ii - indicator 1 + 2 (_ if empty) -->                
   <!-- # s - MARC subfield -->                
   <source>210__a; 111__a; 100__a; 110__a; 150__a; 151__a;</source>                

   <!-- # Format: 'mmmiis=label' -->                
   <!-- # mmm - MARC main field -->                
   <!-- # ii - indicator 1 + 2 (_ if empty) -->                
   <!-- # s - MARC subfield -->                
   <!-- # label - label of the field, can be used as message key -->                
   <field>001=NORM_IDENTIFIER; 0247_a=URI;</field>                
</viaf>
Neuer Login-screen
Jetzt nicht mehr da: Session-Zwischenseite
Schritte-Details mit aktivierter Message-Queue Checkbox
Warteschlangen-Verwaltung
Anzeige installierter Plugins
Neues GoobiScript
Dateien im Vorgangslog
Auflistung der Dateien im Derivate-Ordner
Neue Sicherheitsabfrage für GoobiScripte
OCR Anzeige im Metseditor - vorher
OCR Anzeige im Metseditor - nachher
Neues GoobiScript
VIAF Suche im Metadateneditor
Zwei neue GoobiScripte
Mehrere GoobiScript-Befehle in einem Aufruf
Von rechts nach links fließender Text im Metadateneditor
Auffahren und Zufahren der Boxen mittels Klick auf eine beliebige Stelle der Titelleiste einer Box
Position des Buttons zum Hinzufügen an die anderen Bereiche von Goobi workflow angeglichen
Korrektur der Navigation zwischen den Thumbnailseiten
Anpassung der Rotation von 3D-Objekten
Korrektur der Eigenschaften von Batches
https://github.com/intranda/goobi/commit/5a9ed3e75e03cb04ef63ac20b74dda90b9bd8eb6
https://github.com/intranda/goobi/commit/596353f747155ddcde9a8eca854798e30598108a
https://github.com/intranda/goobi/commit/5a9ed3e75e03cb04ef63ac20b74dda90b9bd8eb6
https://github.com/intranda/goobi/commit/ee7484fb88313203a9ca699414a2add3f53e149f
https://github.com/intranda/goobi/commit/72a6d16bfe33aded4c0434cf68fa7f13584c8a9c
https://github.com/intranda/goobi/commit/0d94330938577a9a5897855d536342f629e88fe0
https://github.com/intranda/goobi/commit/38d4f2f56d39015ff40bfc6b39e02c7193ded5d8
https://github.com/intranda/goobi/commit/d42389620c1bc93f50b0b3a889645b73f5edd519
https://github.com/intranda/goobi/commit/bf60d7a8c6
https://github.com/intranda/goobi/commit/30670c2d15
https://github.com/intranda/goobi/commit/22b366738e
https://github.com/intranda/goobi/commit/0e85656827
https://github.com/intranda/goobi/commit/deb7d1c177
https://github.com/intranda/goobi/commit/0dbfd01c24
https://github.com/intranda/goobi/commit/7d61ccb265
https://github.com/intranda/goobi/commit/f2b7615cae
https://github.com/intranda/goobi/commit/e82e911e48
https://github.com/intranda/goobi/commit/29c5c0275a
https://github.com/intranda/goobi/commit/99babcc433
https://github.com/intranda/goobi/commit/854d683f83b4ba0733b6a552da09726a7d0fcb97
https://github.com/intranda/goobi/commit/4947bcb3a14e6549cf091821e1a017e3a29008f1
https://github.com/intranda/goobi/commit/b05febe2f1a53bd3cb3880a9e8374dcf8f1744bf
https://github.com/intranda/goobi/commit/e97e95ff4e1acf65ec1a7c924176b9468dbc0eaf
https://github.com/intranda/goobi/commit/c8c84253ba
https://github.com/intranda/goobi/commit/2d79176efd
https://github.com/intranda/goobi/commit/0e68fc70f4
https://github.com/intranda/goobi/commit/472bd7e0da
https://github.com/intranda/goobi/commit/6890576fea
https://github.com/intranda/goobi/commit/1927409014
https://github.com/intranda/goobi/commit/783bb301fc
https://github.com/intranda/goobi/commit/cd94e77c2c
https://docs.intranda.com/ugh-de/
https://docs.intranda.com/ugh-en/
vor einiger Zeit
https://github.com/intranda/goobi/commit/38a43c078f403b24cc1fb2910e619ad189e3c4a2
https://github.com/intranda/goobi/commit/e3331d76932a20f1aa750f4be227264c123e7a10
https://github.com/intranda/goobi/commit/e3331d76932a20f1aa750f4be227264c123e7a10
https://github.com/intranda/goobi/commit/349a75d98492779075db61e134783dc34862c9a7
https://github.com/intranda/goobi/commit/5906bcecc0855bc9286c310193e87049131820f6
https://github.com/intranda/goobi/commit/ec5fb70fa8af702f813d58f256ef5808c3cebf77
https://github.com/intranda/goobi/commit/5373c1887509cd34cfdf17060fe7463d4568cb1d
https://github.com/intranda/goobi/commit/953b733d652c99682b3221e1cea67ea4d67ed21e
https://github.com/intranda/goobi/commit/019f9ac744d4690de6427ea57f5cae13a92b4b17
https://github.com/intranda/goobi/commit/aa88a32a873ed1a04e0b79a9a9a7b78d432af2a5
https://github.com/intranda/goobi/commit/c1387648d3606304f0fe5f5bdf5532512d2b691f
https://github.com/intranda/goobi/commit/cbbcbdb54c99fee8349296d5f2893cdab7533855
https://github.com/intranda/goobi/commit/1f299436c67fbcf26421bacd3b5bc6e331854c09
https://github.com/intranda/goobi/commit/2032e423fddd3642e3a8876e863ef23ed8914fb5
https://github.com/intranda/goobi/commit/16cd4c52679c658b6151e34a9b0b8e37c98a632d
https://github.com/intranda/goobi/commit/dfbc61977cb856bc1b7e870d9d42f61f82079dcb
https://github.com/intranda/goobi/commit/f3964314b7d44d763f7fe9fa6b8dcd4151e5603f
Docker Hub
https://github.com/intranda/goobi/blob/master/DOCKER.md
Installationsanleitung
https://github.com/intranda/goobi/commit/6ea16c3115cbef1fac0428353f59cf7f2def94bd
https://github.com/intranda/goobi/commit/eaa0f1c0ee5d5b170d041cfc559259ca2680a9a7
https://github.com/intranda/goobi/commit/a2f27549976cf3fc9af8bdf96c94e118828dec1a
https://github.com/intranda/goobi/commit/2ee43e3a6cb890416f90f2ff50a44faf707d242f
https://github.com/intranda/goobi/commit/403d970d4ba95ecf87a710ec9357ed9bc2c27a13
https://github.com/intranda/goobi/commit/7fddc8b303eca3a057dd070bf668293e2571f52a
auf Github
https://github.com/intranda/goobi/commit/0250f80d3685a2698c15e1ff6ed3a2aad7579050
https://github.com/intranda/goobi/commit/fd739050f8b89d04b7d02d9453f16e47f4f09fdb
https://github.com/intranda/goobi/commit/83c5abdb4c7d342b50c7454dd0d55a9e64806334
https://github.com/intranda/goobi/commit/e9c4ffd3027eb37a30d5f20089ae59c3d7916cc2
https://github.com/intranda/goobi/commit/826b47d403cd830e2624e11eb7ffcc2a7da3bfee
VIAF
https://github.com/intranda/goobi/commit/d56e244bde8cc5ba844f94f1bf2bb2846215bbb1
https://github.com/intranda/goobi/commit/96fa0656984d6b049e29a8853cf26a7fb94e927a
https://github.com/intranda/goobi/commit/6f72039ef2393def29e8750ccb48558f6ec2c0a5
https://github.com/intranda/goobi/commit/bd967dfb8b8ea02a1af2af846a770cb09ab595e5
https://github.com/intranda/goobi/commit/74b8ecb7f62875a9e1be8cd47d9705cec7738da3
https://github.com/intranda/goobi/commit/73a22c71b2165d6ba76241824d792aa7b453cf8c
https://github.com/intranda/goobi/commit/d89ed3eff3fbfae453ce67d5c822c2284ddcd618
https://github.com/intranda/goobi/commit/c4f9487877d92d6526e6b36e07ae18761e4d7b4f
https://github.com/intranda/goobi/commit/a84fe0e5e2f1a2bd28d56cb04ec25f88eb5bb792
https://github.com/intranda/goobi/commit/6aa0ff7145390eb26a724219d65cdee3601d1961
https://github.com/intranda/goobi/commit/10e2d95d5aaca0926260827c7ef48f7961cb4b3b
https://github.com/intranda/goobi/commit/f7c192c28f12f1c2621de96f2f66a867a68adaaf
https://github.com/intranda/goobi/commit/314aea5646bad8452de2a6c16ab6a707640e622c
https://github.com/intranda/goobi/commit/c0f24fa18e45a3c7c0a0a3da2ebf80c2fdf0fa63
https://github.com/intranda/goobi/commit/bf2e47d48af47686134fa03d0b4969bea7ed55a8
https://github.com/intranda/goobi/commit/1f7f95846e9535bcddc50462b4e81b78e752d079
https://github.com/intranda/goobi/commit/1d55539c2c3ccd114ce65c48eb6e91897424420b
https://github.com/intranda/goobi/commit/5c614ed06f7cbca2959f1285c282867a187e80ee

April

Entwicklungen und Neuigkeiten zu Goobi workflow

Thumbnails-Ordner pro Vorgang

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:

/opt/digiverso/goobi/metadata/456/
├── meta.xml
├── images/
│   ├── master_testitem_goobi_123_media/
│   │   ├── 000000001.tif
│   │   ├── 000000002.tif
│   │   ├── 000000003.tif
│   │   └── 000000004.tif
│   └── testitem_goobi_123_media/
│       ├── 000000001.tif
│       ├── 000000002.tif
│       ├── 000000003.tif
│       └── 000000004.tif
└── thumbs/
    ├── master_testitem_goobi_123_media_400/
    │   ├── 000000001.jpg
    │   ├── 000000002.jpg
    │   ├── 000000003.jpg
    │   └── 000000004.jpg
    └── master_testitem_goobi_123_media_800/
    │   ├── 000000001.jpg
    │   ├── 000000002.jpg
    │   ├── 000000003.jpg
    │   └── 000000004.jpg
    ├── testitem_goobi_123_media_400/
    │   ├── 000000001.jpg
    │   ├── 000000002.jpg
    │   ├── 000000003.jpg
    │   └── 000000004.jpg
    └── testitem_goobi_123_media_800/
        ├── 000000001.jpg
        ├── 000000002.jpg
        ├── 000000003.jpg
        └── 000000004.jpg

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:

Neue Warteschlangenverarbeitung in Goobi workflow

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.

Goobiscript mit Enter auslösen

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.

GoobiScript zum Export des erweiterten Vorgangslogs für Goobi-to-Goobi Export

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:

<?xml version="1.0" encoding="UTF-8"?>
<process xmlns="http://www.goobi.io/logfile" id="10" template="false" displayInProcessCreation="false">
  <id>10</id>
  <title>alphrudeh_591416573</title>
  <creationDate>2017-06-21T14:36:13.019+0200</creationDate>
  <ruleset id="1" name="Sample ruleset" filename="ruleset.xml" />
  <sorting status="062012025" images="26" articles="0" docstructs="7" metadata="22" mediaFolderExists="false" />
  <docket id="1" name="Sample docket" file="docket.xsl" />
  <project archived="false">
    <id>2</id>
    <title>Manuscript_Project</title>
    <fileFormatInternal>Mets</fileFormatInternal>
    <fileFormatDmsExport>Mets</fileFormatDmsExport>
    <startDate>2017-01-02T00:00:00.000+0100</startDate>
    <endDate>2018-03-31T00:00:00.000+0200</endDate>
    <pages>200000</pages>
    <volumes>150</volumes>
    <exportConfiguration useDmsImport="true" dmsImportCreateProcessFolder="false">
      <dmsImportTimeOut>0</dmsImportTimeOut>
      <dmsImportRootPath>{goobiFolder}../viewer/hotfolder/</dmsImportRootPath>
      <dmsImportImagesPath>{goobiFolder}../viewer/hotfolder/</dmsImportImagesPath>
      <dmsImportSuccessPath />
      <dmsImportErrorPath />
    </exportConfiguration>
    <metsConfiguration>
      <metsRightsOwner>intranda GmbH</metsRightsOwner>
      <metsRightsOwnerLogo />
      <metsRightsOwnerSite>http://goobi.intanda.com</metsRightsOwnerSite>
      <metsRightsOwnerMail />
      <metsDigiprovReference>http://viewer-demo01.intranda.com/Portal/Default/en-GB/RecordView/Index/$(meta.CatalogIDDigital)</metsDigiprovReference>
      <metsDigiprovPresentation>http://viewer-demo01.intranda.com/viewer/ppnresolver?id=$(meta.CatalogIDDigital)</metsDigiprovPresentation>
      <metsDigiprovReferenceAnchor>http://viewer-demo01.intranda.com/Portal/Default/en-GB/RecordView/Index/$(meta.CatalogIDDigital)</metsDigiprovReferenceAnchor>
      <metsDigiprovPresentationAnchor>http://viewer-demo01.intranda.com/viewer/ppnresolver?id=$(meta.topstruct.CatalogIDDigital)</metsDigiprovPresentationAnchor>
      <metsPointerPath>http://viewer-demo01.intranda.com/viewer/metsresolver?id=$(meta.CatalogIDDigital)</metsPointerPath>
      <metsPointerPathAnchor>http://viewer-demo01.intranda.com/viewer/metsresolver?id=$(meta.topstruct.CatalogIDDigital)</metsPointerPathAnchor>
      <metsPurl />
      <metsContentIDs />
      <metsRightsSponsor />
      <metsRightsSponsorLogo />
      <metsRightsSponsorSiteURL>info@intranda.com</metsRightsSponsorSiteURL>
      <metsRightsLicense />
    </metsConfiguration>
    <fileGroups>
      <projectFileGroup id="2" folder="" mimetype="image/jpg" name="PRESENTATION" path="file://{goobiFolder}../viewer/media/$(meta.CatalogIDDigital)/" suffix="jpg" />
    </fileGroups>
  </project>
  <log>
    <entry id="72">
      <content>Step 'Get manuscript from book depot' closed.</content>
      <creationDate>2017-06-21T14:40:59.451+0200</creationDate>
      <type>debug</type>
      <user>Fuller, Cedric</user>
    </entry>
    <entry id="73">
      <content>Step 'Scanning' opened.</content>
      <creationDate>2017-06-21T14:40:59.452+0200</creationDate>
      <type>debug</type>
      <user>Fuller, Cedric</user>
    </entry>
    <entry id="90">
      <content>Script '/opt/digiverso/goobi/scripts/script_createSymLink.sh /opt/digiverso/goobi/metadata/10/images /opt/digiverso/goobi/users/testscanning/alphrudeh_591416573__[10] testscanning' was executed with result: /opt/digiverso/goobi/metadata/10/images
/opt/digiverso/goobi/users/testscanning/alphrudeh_591416573__[10]</content>
      <creationDate>2017-06-21T14:44:25.163+0200</creationDate>
      <type>debug</type>
      <user>Hawking, Delbert</user>
    </entry>
    <entry id="92">
      <content>Step 'Scanning' closed.</content>
      <creationDate>2017-06-21T14:44:40.101+0200</creationDate>
      <type>debug</type>
      <user>Hawking, Delbert</user>
    </entry>
    <entry id="93">
      <content>Step 'Quality control' opened.</content>
      <creationDate>2017-06-21T14:44:40.102+0200</creationDate>
      <type>debug</type>
      <user>Hawking, Delbert</user>
    </entry>
    <entry id="130">
      <content>Script '/opt/digiverso/goobi/scripts/script_createSymLink.sh /opt/digiverso/goobi/metadata/10/images /opt/digiverso/goobi/users/testqc/alphrudeh_591416573__[10] root' was executed with result: /opt/digiverso/goobi/metadata/10/images
/opt/digiverso/goobi/users/testqc/alphrudeh_591416573__[10]</content>
      <creationDate>2017-06-21T14:48:16.539+0200</creationDate>
      <type>debug</type>
      <user>Readdie, Moss</user>
    </entry>
    <entry id="132">
      <content>Step 'Quality control' closed.</content>
      <creationDate>2017-06-21T14:48:22.830+0200</creationDate>
      <type>debug</type>
      <user>Readdie, Moss</user>
    </entry>
    <entry id="133">
      <content>Step 'Image processing' opened.</content>
      <creationDate>2017-06-21T14:48:22.831+0200</creationDate>
      <type>debug</type>
      <user>Readdie, Moss</user>
    </entry>
    <entry id="134">
      <content>Step 'Image processing' started to work automatically.</content>
      <creationDate>2017-06-21T14:48:22.833+0200</creationDate>
      <type>debug</type>
      <user>Readdie, Moss</user>
    </entry>
    <entry id="136">
      <content>Step 'Image processing' closed.</content>
      <creationDate>2017-06-21T14:48:23.412+0200</creationDate>
      <type>debug</type>
      <user>- automatic -</user>
    </entry>
    <entry id="137">
      <content>Step 'Metadata enrichment' opened.</content>
      <creationDate>2017-06-21T14:48:23.413+0200</creationDate>
      <type>debug</type>
      <user>- automatic -</user>
    </entry>
  </log>
  <properties>
    <property id="77" container="0">
      <creationDate>2017-06-21T14:36:34.091+0200</creationDate>
      <name>Creator of digital edition</name>
      <value>Goobi</value>
    </property>
    <property id="79" container="0">
      <creationDate>2017-06-21T14:36:34.091+0200</creationDate>
      <name>Digital origin</name>
      <value>reformatted digital</value>
    </property>
    <property id="75" container="0">
      <creationDate>2017-06-21T14:36:34.091+0200</creationDate>
      <name>Digitisation date</name>
      <value>2017</value>
    </property>
    <property id="76" container="0">
      <creationDate>2017-06-21T14:36:34.091+0200</creationDate>
      <name>Electronic ed.</name>
      <value>[Electronic ed.]</value>
    </property>
    <property id="80" container="0">
      <creationDate>2017-06-21T14:36:34.091+0200</creationDate>
      <name>OCR-Language</name>
      <value>template_without_language.xml</value>
    </property>
    <property id="78" container="0">
      <creationDate>2017-06-21T14:36:34.091+0200</creationDate>
      <name>Place of digital edition</name>
      <value>Göttingen</value>
    </property>
    <property id="82" container="0">
      <creationDate>2017-06-21T14:36:34.091+0200</creationDate>
      <name>Template</name>
      <value>Manuscript_Workflow</value>
    </property>
    <property id="83" container="0">
      <creationDate>2017-06-21T14:36:34.091+0200</creationDate>
      <name>TemplateID</name>
      <value>1</value>
    </property>
    <property id="81" container="0">
      <creationDate>2017-06-21T14:36:34.091+0200</creationDate>
      <name>digitalCollection</name>
      <value>General</value>
    </property>
    <property id="118" container="1">
      <creationDate>2017-06-21T14:40:50.837+0200</creationDate>
      <name>Comment for depot status</name>
      <value />
    </property>
    <property id="117" container="1">
      <creationDate>2017-06-21T14:40:50.837+0200</creationDate>
      <name>Linking to external source</name>
      <value>http://goobi.intranda.com</value>
    </property>
    <property id="128" container="1">
      <creationDate>2017-06-21T14:44:25.089+0200</creationDate>
      <name>Opening angle</name>
      <value>180 degrees</value>
    </property>
    <property id="119" container="1">
      <creationDate>2017-06-21T14:40:50.837+0200</creationDate>
      <name>Placeholder card stored in depot</name>
      <value>true</value>
    </property>
    <property id="129" container="1">
      <creationDate>2017-06-21T14:44:25.089+0200</creationDate>
      <name>Reading direction is RTL</name>
      <value>false</value>
    </property>
  </properties>
  <templates />
  <workpiece />
  <tasks>
    <task id="61">
      <name>Data import</name>
      <priority>0</priority>
      <order>1</order>
      <status>3</status>
      <processingTime>2017-06-21T14:36:34.091+0200</processingTime>
      <processingStartTime>2017-06-21T14:36:13.019+0200</processingStartTime>
      <processingEndTime>2017-06-21T14:36:34.091+0200</processingEndTime>
      <user id="1" login="goobi">Administrator, Goobi</user>
      <editionType>4</editionType>
      <configuration useHomeDirectory="0" useMetsEditor="false" isAutomatic="false" readImages="false" writeImages="false" export="false" finalizeOnAccept="false" verifyOnFinalize="false" delayStep="false" updateMetadataIndex="false" generateDocket="false" batchStep="false" stepPlugin="" validationPlugin="" />
      <scriptStep scriptStep="false" />
      <httpStep httpStep="false" />
      <assignedUserGroups>
        <usergroup id="6" name="Project management" accessLevel="4">
          <role>Statistics_CurrentUsers</role>
          <role>Statistics_CurrentUsers_Details</role>
          <role>Statistics_General</role>
          <role>Statistics_Menu</role>
          <role>Statistics_Plugins</role>
          <role>Task_List</role>
          <role>Task_Menu</role>
          <role>Task_Mets_Files</role>
          <role>Task_Mets_Metadata</role>
          <role>Task_Mets_Pagination</role>
          <role>Task_Mets_Structure</role>
          <role>Workflow_General_Batches</role>
          <role>Workflow_General_Details</role>
          <role>Workflow_General_Details_Edit</role>
          <role>Workflow_General_Menu</role>
          <role>Workflow_General_Plugins</role>
          <role>Workflow_General_Search</role>
          <role>Workflow_ProcessTemplates</role>
          <role>Workflow_ProcessTemplates_Clone</role>
          <role>Workflow_ProcessTemplates_Create</role>
          <role>Workflow_ProcessTemplates_Import_Single</role>
          <role>Workflow_Processes</role>
          <role>Workflow_Processes_Allow_Download</role>
          <role>Workflow_Processes_Allow_Export</role>
          <role>Workflow_Processes_Allow_Linking</role>
          <role>Workflow_Processes_Show_Deactivated_Projects</role>
          <role>Workflow_Processes_Show_Finished</role>
        </usergroup>
      </assignedUserGroups>
    </task>
    <task id="62">
      <name>Get manuscript from book depot</name>
      <priority>0</priority>
      <order>2</order>
      <status>3</status>
      <processingTime>2017-06-21T14:40:59.451+0200</processingTime>
      <processingStartTime>2017-06-21T14:40:50.837+0200</processingStartTime>
      <processingEndTime>2017-06-21T14:40:59.451+0200</processingEndTime>
      <user id="6" login="testbookmanager">Fuller, Cedric</user>
      <editionType>1</editionType>
      <configuration useHomeDirectory="0" useMetsEditor="false" isAutomatic="false" readImages="false" writeImages="false" export="false" finalizeOnAccept="false" verifyOnFinalize="false" delayStep="false" updateMetadataIndex="false" generateDocket="false" batchStep="false" stepPlugin="" validationPlugin="" />
      <scriptStep scriptStep="false" />
      <httpStep httpStep="false" />
      <assignedUserGroups>
        <usergroup id="4" name="Book managing officers" accessLevel="4">
          <role>Statistics_CurrentUsers</role>
          <role>Task_List</role>
          <role>Task_Menu</role>
        </usergroup>
      </assignedUserGroups>
    </task>
    <task id="63">
      <name>Scanning</name>
      <priority>0</priority>
      <order>3</order>
      <status>3</status>
      <processingTime>2018-03-09T18:08:02.036+0100</processingTime>
      <processingStartTime>2017-06-21T14:44:25.106+0200</processingStartTime>
      <processingEndTime>2017-06-21T14:44:40.101+0200</processingEndTime>
      <user id="1" login="goobi">Administrator, Goobi</user>
      <editionType>3</editionType>
      <configuration useHomeDirectory="0" useMetsEditor="false" isAutomatic="false" readImages="false" writeImages="false" export="false" finalizeOnAccept="false" verifyOnFinalize="false" delayStep="false" updateMetadataIndex="false" generateDocket="false" batchStep="false" stepPlugin="intranda_step_fileUpload" validationPlugin="intranda_validation_filename" />
      <scriptStep scriptStep="false" />
      <httpStep httpStep="false" />
      <assignedUserGroups>
        <usergroup id="2" name="Scanning officers" accessLevel="4">
          <role>Statistics_CurrentUsers</role>
          <role>Task_List</role>
          <role>Task_Menu</role>
        </usergroup>
      </assignedUserGroups>
    </task>
    <task id="64">
      <name>Quality control</name>
      <priority>0</priority>
      <order>4</order>
      <status>3</status>
      <processingTime>2017-06-21T14:48:22.830+0200</processingTime>
      <processingStartTime>2017-06-21T14:48:16.487+0200</processingStartTime>
      <processingEndTime>2017-06-21T14:48:22.830+0200</processingEndTime>
      <user id="4" login="testqc">Readdie, Moss</user>
      <editionType>1</editionType>
      <configuration useHomeDirectory="0" useMetsEditor="false" isAutomatic="false" readImages="false" writeImages="false" export="false" finalizeOnAccept="false" verifyOnFinalize="false" delayStep="false" updateMetadataIndex="false" generateDocket="false" batchStep="false" stepPlugin="intranda_step_imageQA" validationPlugin="" />
      <scriptStep scriptStep="false" />
      <httpStep httpStep="false" />
      <assignedUserGroups>
        <usergroup id="3" name="Quality control officers" accessLevel="4">
          <role>Statistics_CurrentUsers</role>
          <role>Task_List</role>
          <role>Task_Menu</role>
        </usergroup>
      </assignedUserGroups>
    </task>
    <task id="65">
      <name>Image processing</name>
      <priority>0</priority>
      <order>5</order>
      <status>3</status>
      <processingTime>2017-06-21T14:48:23.411+0200</processingTime>
      <processingStartTime>2017-06-21T14:48:22.833+0200</processingStartTime>
      <processingEndTime>2017-06-21T14:48:23.411+0200</processingEndTime>
      <editionType>4</editionType>
      <configuration useHomeDirectory="0" useMetsEditor="false" isAutomatic="true" readImages="false" writeImages="false" export="false" finalizeOnAccept="false" verifyOnFinalize="false" delayStep="false" updateMetadataIndex="false" generateDocket="false" batchStep="false" stepPlugin="intranda_step_imageConverter" validationPlugin="" />
      <scriptStep scriptStep="false" />
      <httpStep httpStep="false" />
      <assignedUserGroups>
        <usergroup id="1" name="Administration" accessLevel="4">
          <role>Admin_Administrative_Tasks</role>
          <role>Admin_Dockets</role>
          <role>Admin_Ldap</role>
          <role>Admin_Menu</role>
          <role>Admin_Plugins</role>
          <role>Admin_Projects</role>
          <role>Admin_Rulesets</role>
          <role>Admin_Usergroups</role>
          <role>Admin_Users</role>
          <role>Admin_Users_Allow_Switch</role>
          <role>Plugin_Goobi_Exchange</role>
          <role>Statistics_CurrentUsers</role>
          <role>Statistics_CurrentUsers_Details</role>
          <role>Statistics_General</role>
          <role>Statistics_Menu</role>
          <role>Statistics_Plugins</role>
          <role>Task_List</role>
          <role>Task_Menu</role>
          <role>Task_Mets_Files</role>
          <role>Task_Mets_Metadata</role>
          <role>Task_Mets_Pagination</role>
          <role>Task_Mets_Structure</role>
          <role>Workflow_General_Batches</role>
          <role>Workflow_General_Details</role>
          <role>Workflow_General_Details_Edit</role>
          <role>Workflow_General_Menu</role>
          <role>Workflow_General_Plugins</role>
          <role>Workflow_General_Search</role>
          <role>Workflow_General_Show_All_Projects</role>
          <role>Workflow_ProcessTemplates</role>
          <role>Workflow_ProcessTemplates_Clone</role>
          <role>Workflow_ProcessTemplates_Create</role>
          <role>Workflow_ProcessTemplates_Import_Multi</role>
          <role>Workflow_ProcessTemplates_Import_Single</role>
          <role>Workflow_Processes</role>
          <role>Workflow_Processes_Allow_Download</role>
          <role>Workflow_Processes_Allow_Export</role>
          <role>Workflow_Processes_Allow_GoobiScript</role>
          <role>Workflow_Processes_Allow_Linking</role>
          <role>Workflow_Processes_Show_Deactivated_Projects</role>
          <role>Workflow_Processes_Show_Finished</role>
        </usergroup>
      </assignedUserGroups>
    </task>
    <task id="66">
      <name>Metadata enrichment</name>
      <priority>0</priority>
      <order>6</order>
      <status>2</status>
      <processingTime>2017-06-21T14:49:19.991+0200</processingTime>
      <processingStartTime>2017-06-21T14:49:19.991+0200</processingStartTime>
      <processingEndTime />
      <user id="5" login="testmetadata">Anson, Wilburn</user>
      <editionType>1</editionType>
      <configuration useHomeDirectory="0" useMetsEditor="true" isAutomatic="false" readImages="false" writeImages="false" export="false" finalizeOnAccept="false" verifyOnFinalize="true" delayStep="false" updateMetadataIndex="false" generateDocket="false" batchStep="false" stepPlugin="" validationPlugin="" />
      <scriptStep scriptStep="false" />
      <httpStep httpStep="false" />
      <assignedUserGroups>
        <usergroup id="5" name="Metadata officers" accessLevel="4">
          <role>Statistics_CurrentUsers</role>
          <role>Task_List</role>
          <role>Task_Menu</role>
          <role>Task_Mets_Metadata</role>
          <role>Task_Mets_Pagination</role>
          <role>Task_Mets_Structure</role>
        </usergroup>
      </assignedUserGroups>
    </task>
    <task id="67">
      <name>Export to viewer</name>
      <priority>0</priority>
      <order>7</order>
      <status>0</status>
      <processingTime>2017-06-21T14:36:13.019+0200</processingTime>
      <processingStartTime />
      <processingEndTime />
      <user id="1" login="goobi">Administrator, Goobi</user>
      <editionType>4</editionType>
      <configuration useHomeDirectory="0" useMetsEditor="false" isAutomatic="true" readImages="false" writeImages="false" export="true" finalizeOnAccept="false" verifyOnFinalize="false" delayStep="false" updateMetadataIndex="false" generateDocket="false" batchStep="false" stepPlugin="" validationPlugin="" />
      <scriptStep scriptStep="false" />
      <httpStep httpStep="false" />
      <assignedUserGroups>
        <usergroup id="1" name="Administration" accessLevel="4">
          <role>Admin_Administrative_Tasks</role>
          <role>Admin_Dockets</role>
          <role>Admin_Ldap</role>
          <role>Admin_Menu</role>
          <role>Admin_Plugins</role>
          <role>Admin_Projects</role>
          <role>Admin_Rulesets</role>
          <role>Admin_Usergroups</role>
          <role>Admin_Users</role>
          <role>Admin_Users_Allow_Switch</role>
          <role>Plugin_Goobi_Exchange</role>
          <role>Statistics_CurrentUsers</role>
          <role>Statistics_CurrentUsers_Details</role>
          <role>Statistics_General</role>
          <role>Statistics_Menu</role>
          <role>Statistics_Plugins</role>
          <role>Task_List</role>
          <role>Task_Menu</role>
          <role>Task_Mets_Files</role>
          <role>Task_Mets_Metadata</role>
          <role>Task_Mets_Pagination</role>
          <role>Task_Mets_Structure</role>
          <role>Workflow_General_Batches</role>
          <role>Workflow_General_Details</role>
          <role>Workflow_General_Details_Edit</role>
          <role>Workflow_General_Menu</role>
          <role>Workflow_General_Plugins</role>
          <role>Workflow_General_Search</role>
          <role>Workflow_General_Show_All_Projects</role>
          <role>Workflow_ProcessTemplates</role>
          <role>Workflow_ProcessTemplates_Clone</role>
          <role>Workflow_ProcessTemplates_Create</role>
          <role>Workflow_ProcessTemplates_Import_Multi</role>
          <role>Workflow_ProcessTemplates_Import_Single</role>
          <role>Workflow_Processes</role>
          <role>Workflow_Processes_Allow_Download</role>
          <role>Workflow_Processes_Allow_Export</role>
          <role>Workflow_Processes_Allow_GoobiScript</role>
          <role>Workflow_Processes_Allow_Linking</role>
          <role>Workflow_Processes_Show_Deactivated_Projects</role>
          <role>Workflow_Processes_Show_Finished</role>
        </usergroup>
      </assignedUserGroups>
    </task>
    <task id="68">
      <name>Bring manuscript back to book depot</name>
      <priority>0</priority>
      <order>8</order>
      <status>0</status>
      <processingTime>2017-06-21T14:36:13.019+0200</processingTime>
      <processingStartTime />
      <processingEndTime />
      <user id="1" login="goobi">Administrator, Goobi</user>
      <editionType>4</editionType>
      <configuration useHomeDirectory="0" useMetsEditor="false" isAutomatic="false" readImages="false" writeImages="false" export="false" finalizeOnAccept="false" verifyOnFinalize="false" delayStep="false" updateMetadataIndex="false" generateDocket="false" batchStep="false" stepPlugin="" validationPlugin="" />
      <scriptStep scriptStep="false" />
      <httpStep httpStep="false" />
      <assignedUserGroups>
        <usergroup id="4" name="Book managing officers" accessLevel="4">
          <role>Statistics_CurrentUsers</role>
          <role>Task_List</role>
          <role>Task_Menu</role>
        </usergroup>
      </assignedUserGroups>
    </task>
  </tasks>
</process>

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.

Vorbereitung Import des erweiterten Vorgangslogs für Goobi-to-Goobi Import

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.

Bugfix für "broken pipe" Logmeldungen

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.

März

Entwicklungen und Neuigkeiten zu Goobi workflow

Bessere Anzeige von Ergebnissen bei Scriptausführungen

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:

Erweitertes Excel Import Plugin

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:

<metadata ugh="CatalogIDDigital" headerName="PPN-Digital" />

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:

<person ugh="Author">
  <firstnameFieldHeader>Vorname</firstnameFieldHeader>
  <lastnameFieldHeader>Nachname</lastnameFieldHeader>
</person>

Wenn der vollständige Name in einer Spalte geliefert wird, ist hingegen folgende Konfiguration zu wählen:

<person ugh="Author">
  <nameFieldHeader>Person</nameFieldHeader>
  <splitName>true</splitName>
  <splitChar firstNameIsFirstPart="false">\, </splitChar>
</person>

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:

<person ugh="Author" headerName="Person" normdataHeaderName="GND-Person">
[...]
</person>
<metadata ugh="PlaceOfPublication" headerName="Ort" normdataHeaderName="GND-Ort" />

Aktualisiertes Catalogue Poller Plugin

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:

Neues XMP Plugin

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:

Neue Plugins für die auf Einzelseiten konfigurierbare OCR-Durchführung

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:

K10Plus Umstellung

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:

<!-- replacement for old swb/gbv pica interface -->
<catalogue title="K10Plus">
  <config address="kxp.k10plus.de" database="1.1" description="K10plus-Datenbank" iktlist="IKTLIST-GBV.xml" port="80" ucnf="UCNF=NFC&amp;XPNOFF=1"/>
</catalogue>

<!-- replacement for old swb/gbs marc interface-->
<catalogue title="K10plus SRU">
  <config description="K10plus-SRU-Datenbank" address="http://sru.k10plus.de/k10cat" port="80" database="2.1" iktlist="IKTLIST-GBV.xml" ucnf="XPNOFF=1"  opacType="GBV-MARC"/>
</catalogue>

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.

Spezifische Statistiken für Durchsatz und Produktivität

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.

Detaillierte Informationen über den Status im Forschrittsbalken

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:

Anlegen von Vorgängen direkt aus dem Dashboard

Februar

Entwicklungen und Neuigkeiten zu Goobi workflow

Darstellung längerer OCR-Ergebnisse innerhalb des METS-Editors nun scrollbar

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.

GoobiScript Ergebnisanzeige für besondere Rückgabewerte erweitert

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 98und 99als erfolgreich gewertet werden und somit innerhalb von GoobiScript nicht mehr als Fehler angezeigt werden.

Hebräische Nutzeroberfläche

Vereinheitlichungen innerhalb der JavaScript-Dateien für 3D-Objekte

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.

Korrektur des GoobiScripts für den Export zum Goobi viewer

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.

Korrektur für Export von Goobi-Vorgängen bei Suche nach Batch-Titeln

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.

Mai

Entwicklungen und Neuigkeiten zu Goobi workflow

Anpassungen am Massenimport Screen

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.

Konvertierung aller Tabellen nach UTF8

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.

Steigerung der Performance bei der Auflistung von Schritten

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.

Platzhalter innerhalb des Metadateneditors bei fehlenden Bildern

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.

File-Upload-Plugin jetzt mit Downloadmöglichkeit

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.

Anpassung des Plugins Catalogue Poller für automatischen Export

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.

Anbindung an das LZA der GWDG (CDStar)

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.

Importplugin zum Import von Zeitungsartikeln aus einem Endnote Export

November

Entwicklungen und Neuigkeiten zu Goobi workflow

Endgültige Umstellung auf maven als build-tool

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.warkann anschließend im Applikationsserver installiert werden.

Neuer Schritt-Typ für HTTP-Aufrufe

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 POSTund sendet diese and die Adresse http://localhost:8080/itm/service:

Unterstützung von JSON Web Tokens für den Zugriff auf die REST-API

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.

Dezember

Entwicklungen und Neuigkeiten zu Goobi workflow

Erweiterte Unterstützung von Normdaten über DANTE

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.

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

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

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.

Import von EAD Datensätzen direkt in Goobi

Die Besonderheit gegenüber einem normalen XML-basierten Import ist hier, dass die Tektonik des Findbuches erhalten bleibt, da diese ebenfalls innerhalb der XML-Datenbank hinterlegt ist. Wird die Tektonik geändert und der bereits zuvor importierte Datensatz zu einer anderen Gliederung verschoben, so muss lediglich die EAD-Datei in aktualisierter Form in die XML-Datenbank eingelesen werden. Da hierbei die Identifier der Datensätze erhalten bleiben, kann eine Präsentationssoftware wie der Goobi viewer, die ebenfalls einen Zugriff auf diesen EAD-Speicher hat, den jeweils aktuellen Stand der Tektonik live abfragen.

Weitere detaillierte Informationen über die Implementierung samt einer Installationsanleitung finden sich hier:

Anzeige von Metadaten innerhalb von Aufgaben und in den Vorgangsdetails

Goobi workflow wurde dahingehend erweitert, dass nun innerhalb einzelner angenommener Aufgaben ebenso wie die Eigenschaften auch gezielt bestimmte Metadaten angezeigt werden können, die aus der METS-Datei stammen.

Die Anzeige dieser Metadaten integriert sich in den Bereich der bereits ebenfalls anzeig- und editierbaren Eigenschaften und kann für jede Aufgabe einzelner Workflows individuell konfiguriert werden. Eine solche Konfiguration sieht innerhalb der Datei goobi_processProperties.xml beispielhaft wie folgt aus:

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.

Juli

Entwicklungen und Neuigkeiten zu Goobi workflow

Unterstützung von 3D Objekten im gesamten 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.

Workflow mit automatischem Löschen der speicherintensiven Daten

Sicherheitsdialog von GoobiScript

Neues GoobiScript für Datenexport

Ein Test-Fehler wird in der GoobiScript-Ansicht angezeigt

Administrative Oberfläche des Catalogue Poller
Administrative Oberfläche des Catalogue Poller
Integration des Plugins in den Workflow
Die grafische Oberfläche des Einzelseiten-OCR-Plugins
Individuelle Statistiken für die wartenden Aufgaben
Individuelle Statistiken für die Produktivität der einzelnen Scanstudios (anonymisiert)
Aufgaben, die gerade offen oder in Bearbeitung sind
Aufgaben, die noch gesperrt sind

, 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.

Neue Vorgänge direkt von der Startseite aus anlegen

Dank der Zusammenarbeit mit der ist Goobi workflow von nun an vollständig in hebräisch verfügbar.

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.\

Nach der Durchführung umfangreicher Tests wurde die interne Verwaltung von Programmbibliotheken sowie das Zusammenspiel mit den derzeit 170 Plugins auf 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 zu Maven auch weiterhin, dass die in einem Applikationsserver wie installierbare *.war Datei sowie auch eine *.jar Datei kompiliert werden können.

Mit den innerhalb von Maven-Projekten vorliegenden 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:

Neben den bereits seit längerem nutzbaren Metadatenfeldern für Textareas, Selectmenüs, schreibgeschützten Feldern oder der Anbindung von und der wurde der angebunden. Dante stellt derzeit bereits zur Verfügung, die alle mit dieser überarbeiteten Implementierung verwendet werden können.

Die Anbindung von 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.

Wenn im 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.

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 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.

https://github.com/intranda/goobi/commit/af99eebcc7cb0231a528e0434fda66a3da2797b0
https://github.com/intranda/goobi/commit/bf77ef0656eeec4a4a261aa29a5b8ac98455d3b9
https://github.com/intranda/goobi/commit/c051dd18b22163ec7a9b336bd98d5a059519d064
https://github.com/intranda/goobi/commit/27c2764aa5c904cdfae7b16fecde7c5ec5e1f318
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
https://github.com/intranda/goobi/commit/755412a889fdd583ec7318272c2f2dcb593dcf9a
https://github.com/intranda/goobi/commit/329487de6fa1e68e4da204a19c70516b2c73288b
https://github.com/intranda/goobi/commit/af6930ab091653658003908458c05ced4215b84c
https://github.com/intranda/goobi/commit/3344487fa53943a6cf7424e475493e3805fd5841
https://github.com/intranda/goobi/commit/68b1c9ad05a63cdef2e7dfd75a473e03a062a53f
In der Community wurde der Wunsch geäußert
git clone https://github.com/intranda/goobi.git
mvn install
{
  "jobType":"OCR",
  "source":"{tifpath}",
  "target":"{processpath}/ocr/"
}
goobi_metadataDisplayRules.xml
<!-- dante configuration for the metadata field DocLanguage-->
<dante ref="DocLanguage">
    <!-- name of the vocabulary, a list of all vocabularies can be found here:  http://api.dante.gbv.de/voc, the vocabulary name can be found inside of the element notation -->
    <source>languages_gnd</source>
    <!-- the list of fields to import the value from. The list is ordered and the first value that was found will be used for the display. Can be overwritten inside of the UI -->
    <field>NORM_LABEL_de, NORM_LABEL_en, NORM_LABEL_fr, NORM_LABEL_es</field>
</dante>
ruleset.xml
<MetadataType>
    <Name>ProvenienceCode</Name>
    <language name="de">Code</language>
    <language name="en">ProvenienceCode</language>
  </MetadataType>
  <MetadataType normdata="true">
    <Name>ProveniencePrevOwner</Name>
    <language name="de">Besitzer</language>
    <language name="en">ProveniencePrevOwner</language>
  </MetadataType>
  <MetadataType>
    <Name>ProvenienceCharacteristic</Name>
    <language name="de">Characteristik</language>
    <language name="en">ProvenienceCharacteristic</language>
  </MetadataType>
  <MetadataType>
    <Name>ProvenienceDate</Name>
    <language name="de">Datum</language>
    <language name="en">ProvenienceDate</language>
  </MetadataType>
  <MetadataType>
    <Name>ProvenienceExplanation</Name>
    <language name="de">Erläuterung</language>
    <language name="en">ProvenienceExplanation</language>
  </MetadataType>
  <MetadataType>
    <Name>ProvenienceGND</Name>
    <language name="de">GND</language>
    <language name="en">ProvenienceGND</language>
  </MetadataType>
  <Group>
    <Name>Provenience</Name>
    <language name="de">Provenienz</language>
    <language name="en">Provenience</language>
    <metadata>ProvenienceCode</metadata>
    <metadata>ProveniencePrevOwner</metadata>
    <metadata>ProvenienceCharacteristic</metadata>
    <metadata>ProvenienceDate</metadata>
    <metadata>ProvenienceExplanation</metadata>
    <metadata>ProvenienceGND</metadata>
  </Group>
goobi_processProperties.xml
<metadata name="CatalogIDDigital">
    <project>*</project>
    <showStep name="Print docket" />
</metadata>
<metadata name="DocLanguage">
    <project>*</project>
    <showStep name="Print docket" />
</metadata>
<metadata name="TitleDocMain">
    <project>*</project>
    <showStep name="Print docket" />
</metadata>
https://docs.intranda.com/goobi-workflow-plugins-de/step-plugins/ewig-langzeitarchivierungdocs.intranda.com
Scrollbarer OCR Container
Rückgabewerte für GoobiScript
Hebräische Benutzergruppen
Hebräische Statistiken
Korrekter Export von OCR-Ergebnissen abhängig von Parameter
Überarbeiteter Dialog für den Massenimport
Anzeige eines Platzhaltes bei fehlenden Bildern
Download einzelner oder aller Dateien aus dem File-Upload-Plugin
Konfiguration eines HTTP Schritts
Überarbietung der Dante-Suche innerhalb des METS-Editors
Anzeige ausgewählter Metadaten innerhalb der Vorgangsdetails
Konfiguration für die Aktualisierung des Caches für Informationen aus der METS-Datei
Aktualisierung des Datenbank-Caches für mehrere Vorgänge mittels GoobiScript
Upload von 3D-Objekt-Dateien
3D-Objekt im Image-QA-Plugin
3D-Objekt in Vollbildanzeige
3D-Objekt im METS-Editor
https://github.com/intranda/goobi/commit/888509510484574b10264ce7929260744515a944
https://github.com/intranda/goobi/commit/5e713f5d04f936506f351bec51de92e707d19604
https://github.com/intranda/goobi/commit/9ce09f6c6410b820661e1d556364c8dc345101a1
https://github.com/intranda/goobi/commit/a0f1f211566e3e737e4db694395f65b65d1f2b89
Nationalbibliothek Israel
https://github.com/intranda/goobi/commit/b41194ad3ee350177a4ce95f0ec0e27a89f9f608
https://github.com/intranda/goobi/commit/eaaac77efd856e05a88f7ac39de9b9c8ffe01ab2
https://github.com/intranda/goobi/commit/32b2e99172a6e31d03b0b3279b01dd02965722de
https://github.com/intranda/goobi/commit/76629353b0773e7425203114c65200ac96787e13
https://github.com/intranda/goobi/commit/d7864a6d06a648c20f4f1ec769ec00ffb7b541f8
https://github.com/intranda/goobi/commit/9a94b8f63720951316934704dfbbf24eb6944914
https://github.com/intranda/goobi/commit/41d622981b7ea2ced3cc009a703c78a23c1967c1
https://github.com/intranda/goobi/commit/93d0042cad7f99e480d1fbeb5b961af74702ae92
https://github.com/intranda/goobi/commit/4f23eb2ca69ae7e5d35ae5658e017cae69c1c973
https://github.com/intranda/goobi/commit/b2a8bf88cd9a352ad00ff1571d4465b96a900ba7
https://github.com/intranda/goobi/commit/51ebf28f6deb99d6590c48906500f2d379c28a15
https://github.com/intranda/goobi/commit/d48a075ab4a1db543a38ccce4c486acfe6187bce
https://github.com/intranda/goobi/commit/b2fbd68681082e3ccbfc6a24064f8ea55537a270
https://github.com/intranda/goobi/commit/21fdbc7b0479f41dac8c2a922fadfb5d254a7f96
https://github.com/intranda/goobi/commit/80435577b4b0bac5b5c226c17a83907789256ae7
finden sich in dessen Dokumentation
in diesem Portal
Maven
Ant
Apache Tomcat
pom.xml
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
https://github.com/intranda/goobi/commit/0a16484b60b3939ba4a79d66b630db5b40537cf6
https://github.com/intranda/goobi/commit/b5be4c238e7ff1da81ac78ecd52fc45e6d0669db
https://github.com/intranda/goobi/commit/d17380c341ebb4dbe1112f3e5834aa7232290a51
GeoNames
GND
DANTE Normdatenservice des GBV
ca. 90 verschiedene Vokabulare
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
Amazon S3
https://github.com/intranda/goobi/commit/152e3787d5dd9651b5e9f65a0be8cb454e0b0c54
https://github.com/intranda/goobi/commit/8c8d6e48660e78058751fa3da688453024c08ba5
GBV Katalog
BaseX
https://docs.intranda.com/goobi-workflow-plugins-de/opac-plugins/opac-ead
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
https://github.com/intranda/goobi/commit/bfe18323b67fc7fb9fea159b38d661eb32fce518
https://github.com/intranda/goobi/commit/df51c1d6cba86160937cbaad3c55daa4eb53a1d9
https://github.com/intranda/goobi/commit/1a1d0ae7fca052835cf58dfc53dd6afbbf9d6652

August

Entwicklungen und Neuigkeiten zu Goobi workflow

Unterstützung von S3 als Speichersystem für 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.

Neuer Typ für Bearbeitungsfelder im METS-Editor

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:

  <htmlInput ref="TitleDocMain">
      <label></label>
  </htmlInput>

Begrenzung von Anfragen zur GND

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.

Neues GoobiScript zum Hinzufügen und Ändern von Eigenschaften

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.

action:propertySet name:PROPERTY_TITLE value:MY_VALUE
action:propertyDelete name:PROPERTY_TITLE

Begrenzung der Anzeige von Vorschlägen innerhalb des METS-Editors

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.

Oktober

Entwicklungen und Neuigkeiten zu Goobi workflow

Optimierte Bildanzeige innerhalb des METS-Editors

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.

Neue Authentifizierungs-Konfiguration für die REST-API

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.

<config>
<endpoint path="/processes/\d*?/properties/.*?">
    <method name="put">
        <allow netmask="127.0.0.1/32" token="geheim" />
        <allow netmask="192.168.178.0/24" token="geheim" />
        <allow netmask="0:0:0:0:0:0:0:1/128" token="geheim" />
    </method>
</endpoint>
</config>

Einfache CORS-Konfiguration für die REST-API

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.

<endpoint path="/processes/search">
    <cors>
        <method>GET</method>
        <method>POST</method>
        <origin>https://intranda.com</origin>               
    </cors>
    <method name="get">
        <allow />
    </method>
    <method name="post">
        <allow />
    </method>
</endpoint>

Anzeige von Volltexten innerhalb des Image-QA-Plugins

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.

Mai

Entwicklungen und Neuigkeiten zu Goobi workflow

Speicherung von Dateigrößen innerhalb der Goobi-Datenbank

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.

Batches können nun Titel und eine Laufzeit haben

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.

"batch:Vierte Lieferung"

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.

Produktionsvorlagen können nun für mehrere Projekte verwendet werden

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.

September

Entwicklungen und Neuigkeiten zu Goobi workflow

Individuelles Styling von Goobi

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.

  body {
    font-family: Consolas;
    font-size: 12px !important;
  }
  h1, h2, h3, h4, h5 {
    font-family: 'Consolas', sans-serif;
  }
  #navigation {
    background: #ee1edf;
  }

Die hier gezeigte Beispielkonfiguration wird innerhalb der Benutzereinstellungen innerhalb des Hilfetextes angezeigt und resultiert in einer optischen Erscheinung wie folgt:

Frei konfigurierbare Anzeige von Tabellenspalten

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.

{origpath},{product.ATS},{meta.DocLanguage},{process.Opening angle},{template.Publishing house}

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.

Gesteigerte Performance für Prozessliste

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.

Gesteigerte Performance beim Öffnen des Metadateneditors

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.

Laufzettel können innerhalb von Aufgaben heruntergeladen werden

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.

Überarbeitung der Usability für den METS-Editor

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.

Juni

Entwicklungen und Neuigkeiten zu Goobi workflow

Neues GoobiScript für die Bearbeitung von Metadaten

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:

Neue Funktionalität zum Ändern eine Workflows für einen bereits laufenden Vorgang

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.

Neues GoobiScript zur Änderung des Workflows für mehrere laufende Vorgänge

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:

Zoom innerhalb des METS-Editors mit prozentualer Anzeige

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.

Anzeige des Titels als RichTextBox

Neues GoobiScript für Eigenschaften

Begrenzte Anzeige von Vorschlägen

Optimierte Bildanzeige innerhalb des METS-Editors

Anzeige von Volltexten innerhalb des QA-Plugins möglich

Batches mit zusätzlichen Eigenschaften
Anzeige der Batch-Titel innerhalb der Vorgangsliste
Anzeige der Batches im Dashboard

Produktionsvorlage für andere Projekte nutzen

Individuell angepasstes Styling

Individuell konfigurierte Tabellenspalten innerhalb der Benutzereinstellungen
Individuelle Tabellenspalten innerhalb der Vorgangsliste
Individuelle Tabellenspalten innerhalb der eigenen Aufgaben

Aktivierung der richtigen Eigenschaft für einen Arbeitsschritt
Arbeitsschritt mit der Möglichkeit, den Laufzettel auszudrucken

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
https://github.com/intranda/goobi/commit/365f575e3ffd2f4fb6657f51a067be01ff5d7802
https://github.com/intranda/goobi/commit/5928186a80f72f632d48000d00ea9ff3b9817b36
https://github.com/intranda/goobi/commit/e75188caac225af59470f2943e8dfd67b84a6f56
https://github.com/intranda/goobi/commit/73bd0950899f177ca0ebd9ddb25e64b8f52426b0
https://github.com/intranda/goobi/commit/6cbc17a50807a2f363f2da9dca3ae6c11f16a912
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
https://github.com/intranda/goobi/commit/b85f2af5ab550220ebadea1cda0563bba57a3398
https://github.com/intranda/goobi/commit/eb53974280cfd2d5c1d6ae42c0944e0d44a0a1a8
https://github.com/intranda/goobi/commit/85413db9a024f55cbec47f704257297b51eab413
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
https://github.com/intranda/goobi/commit/90f694e5e41ee7c3eb4c86e7c7027c3461c3f43d
https://github.com/intranda/goobi/commit/1854d76fbfb8c6b268a8697c87e6fd1bb82c9bf4
https://github.com/intranda/goobi/commit/fb00653ddf3474a5a09ee7a282965d0bdf6efbc0
https://github.com/intranda/goobi/commit/35c181677742380a4f195088379a0503d91b4d6e
https://github.com/intranda/goobi/commit/4437ceab503cee708b7a4e40497bd364b86d3242
https://github.com/intranda/goobi/commit/c9edc5db6ba0ef810c4f49e0394577e527e8abd8
https://github.com/intranda/goobi/commit/5f99d3810c940ad1f38b568eaecdcc4514b197dd
https://github.com/intranda/goobi/commit/fb3bf47b208ebd8a57e4cb4599ec93f2b3f1a32c
https://github.com/intranda/goobi/commit/48354ee6ea009aff7c35fd6317a97e7e17626cfa
https://github.com/intranda/goobi/commit/5a62de41c745c17d060161b8ef4201a32946593d
https://github.com/intranda/goobi/commit/718a116f0989a204ba011cd8ba52dac59663908f
https://github.com/intranda/goobi/commit/b730873e5e6dbacb50a3173c278f12932eec1d94
https://github.com/intranda/goobi/commit/9da399a0c5eeb3ab5540a585022579ff8fb94175
https://github.com/intranda/goobi/commit/82626f5900894c35d7e6ac4b36afff13734c4b9c
https://github.com/intranda/goobi/commit/edd49559719ff7c335c131e1952f306746b74a08
https://github.com/intranda/goobi/commit/03e38a7fa23025e2d0727b703588a7799e34bc06
https://github.com/intranda/goobi/commit/7547ef2c301740497e72cb94c8b9807caf7e3231
https://github.com/intranda/goobi/commit/138e25e56ceed14c89cee494d98032afe28e954a
https://github.com/intranda/goobi/commit/71ff70b42029d7058d9b55109ba9bef9a820c1a6
https://github.com/intranda/goobi/commit/625a7d7984333880271484e999f2273263d7dacd
action:metadataAdd field:MY_METADATA_FIELD value:MY_VALUE position:top_OR_child
action:metadataReplace field:MY_METADATA_FIELD search:OLD_VALUE replace:NEW_VALUE position:top_OR_child
action:metadataChange field:MY_METADATA_FIELD "prefix:MY_PREFIX" "suffix:MY_SUFFIX" position:top_OR_child "condition:MY_OPTIONAL_VALUE_THAT_SHOULD_BE_PRESENT"
action:metadataDelete field:MY_METADATA_FIELD value:MY_VALUE position:top_OR_child ignoreValue:true_OR_false_USE_IF_CURRENT_VALUE_SHALL_BE_IGNORED
action:changeProcessTemplate templateName:MyOtherProcessTemplate
GoobiScript für Metadaten
Auswahl des neu zuzuweisenden Workflows für den jeweiligen Vorgang
Benötigte Rechte für Änderung des Workflows
GoobiScript zum Ändern des Workflows
Zoom mit Zoom-Slider und Prozentanzeige
https://github.com/intranda/goobi/commit/315c0cf6d0169ead27db6358865434c8ab2dcd68
https://github.com/intranda/goobi/commit/9a67111071953a77b33cb983f856f13fc5a74b8c
https://github.com/intranda/goobi/commit/1981b70282afbc05ca233a41f3f56b182d70e826
https://github.com/intranda/goobi/commit/f200bf9f8357d270f2c6698ec08fafe077a1d587
https://github.com/intranda/goobi/commit/9ac738a64d1605d4606b462410751689d7c7e8ec
https://github.com/intranda/goobi/commit/40297d1b05c8b31197c4830a5d03522c0e008609
https://github.com/intranda/goobi/commit/ad136df09f33b59adf92b82caba8d4523666052f
https://github.com/intranda/goobi/commit/e669135fc50282099def7e9d11b8106b7853229d

Start open automatic steps of a process

put

start open automatic steps of this process

Autorisierungen
Pfadparameter
processidstringErforderlich
Antworten
200
OK
400
Bad request
403
Forbidden - some requirements are not fulfilled.
404
Process not found
406
New process title contains invalid character.
409
New process title already exists.
500
Internal error
put
PUT /goobi/api/process/{processid}/startsteps HTTP/1.1
Host: 
Accept: */*

Kein Inhalt

Get the journal for a process resource

get

Get a list of all journal entries for a given process

Autorisierungen
Pfadparameter
processidstringErforderlich
Antworten
200
OK
400
Bad request
404
Process not found
500
Internal error
get
GET /goobi/api/process/{processid}/journal HTTP/1.1
Host: 
Accept: */*

Kein Inhalt

Retrieve ids of processes satisfying the input condition.

put

retrieve ids of processes satisfying the input condition

Autorisierungen
Rumpf
filterstringOptional
conditionsstring[]Optional
Antworten
200
OK
400
Bad request
403
Forbidden - some requirements are not fulfilled.
500
Internal error
put
PUT /goobi/api/process/query HTTP/1.1
Host: 
Content-Type: */*
Accept: */*
Content-Length: 39

{
  "filter": "text",
  "conditions": [
    "text"
  ]
}

Kein Inhalt

Close the first step matching the given name

put

Close the first step matching the given name

Autorisierungen
Pfadparameter
processidstringErforderlich
Rumpf
stepnamestringOptional
Antworten
200
OK
404
Process not found
500
Internal error
put
PUT /goobi/api/process/{processid}/step/close HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 19

{
  "stepname": "text"
}

Kein Inhalt

Create a new process

post

Create a new process

Autorisierungen
Rumpf
idinteger · int32Optional
titlestringOptional
projectNamestringOptional
creationDatestring · date-timeOptional
statusstringOptional
numberOfImagesinteger · int32Optional
numberOfMetadatainteger · int32Optional
numberOfDocstructsinteger · int32Optional
rulesetNamestringOptional
batchNumberinteger · int32Optional
docketNamestringOptional
processTemplateNamestringOptional
documentTypestringOptional
metadataLevelstringOptional
Antworten
200
OK
400
Bad request - required data is missing
403
Forbidden - some requirements are not fulfilled.
404
Data not found
406
New process title contains invalid character.
409
New process title already exists.
500
Internal error
post
POST /goobi/api/process HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 402

{
  "id": 1,
  "title": "text",
  "projectName": "text",
  "creationDate": "2025-05-09T21:54:45.954Z",
  "status": "text",
  "numberOfImages": 1,
  "numberOfMetadata": 1,
  "numberOfDocstructs": 1,
  "rulesetName": "text",
  "batchNumber": 1,
  "docketName": "text",
  "processTemplateName": "text",
  "documentType": "text",
  "propertiesList": [
    {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  ],
  "metadataList": [
    {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  ],
  "metadataLevel": "text"
}

Kein Inhalt

Update a journal entry

put

Update an existing journal entry for a given process

Autorisierungen
Pfadparameter
processidstringErforderlich
Rumpf
idinteger · int32Optional
processIdinteger · int32Optional
creationDatestring · date-timeOptional
userNamestringOptional
typestringOptional
messagestringOptional
filenamestringOptional
Antworten
200
OK
400
Bad request
404
Process not found
500
Internal error
put
PUT /goobi/api/process/{processid}/journal HTTP/1.1
Host: 
Content-Type: */*
Accept: */*
Content-Length: 131

{
  "id": 1,
  "processId": 1,
  "creationDate": "2025-05-09T21:54:45.954Z",
  "userName": "text",
  "type": "text",
  "message": "text",
  "filename": "text"
}

Kein Inhalt

Create a new journal entry

post

Create a new journal entry for a given process

Autorisierungen
Pfadparameter
processidstringErforderlich
Rumpf
idinteger · int32Optional
processIdinteger · int32Optional
creationDatestring · date-timeOptional
userNamestringOptional
typestringOptional
messagestringOptional
filenamestringOptional
Antworten
200
OK
400
Bad request
404
Process not found
500
Internal error
post
POST /goobi/api/process/{processid}/journal HTTP/1.1
Host: 
Content-Type: */*
Accept: */*
Content-Length: 131

{
  "id": 1,
  "processId": 1,
  "creationDate": "2025-05-09T21:54:45.954Z",
  "userName": "text",
  "type": "text",
  "message": "text",
  "filename": "text"
}

Kein Inhalt

Delete an existing journal entry

delete

Delete an existing journal entry

Autorisierungen
Pfadparameter
processidstringErforderlich
Rumpf
idinteger · int32Optional
processIdinteger · int32Optional
creationDatestring · date-timeOptional
userNamestringOptional
typestringOptional
messagestringOptional
filenamestringOptional
Antworten
200
OK
400
Bad request
404
Journal entry not found
409
Journal entry belongs to a different process.
500
Internal error
delete
DELETE /goobi/api/process/{processid}/journal HTTP/1.1
Host: 
Content-Type: */*
Accept: */*
Content-Length: 131

{
  "id": 1,
  "processId": 1,
  "creationDate": "2025-05-09T21:54:45.954Z",
  "userName": "text",
  "type": "text",
  "message": "text",
  "filename": "text"
}

Kein Inhalt

LogoGitHub - intranda/goobi-plugin-opac-kalliope: This is an Opac plugin for Goobi workflow which allows to import metadata from the Kalliope catalogue in MAB format to create Goobi processes.GitHub
LogoGitHub - intranda/goobi-plugin-step-download-and-verify-assets: This Step plugin for Goobi workflow allows to download assets and to verify the downloaded content from external paths.GitHub
LogoGitHub - intranda/goobi-plugin-import-excel: This is the generic plugin for importing Excel files.GitHub
LogoKalliope ImportGoobi workflow - Plugins (Deutsch)
LogoGitHub - intranda/goobi-plugin-step-createfullpdf: This Step plugin for Goobi workflow creates a PDF file of all pages of a process and includes the METS structure.GitHub
LogoGitHub - intranda/goobi-plugin-step-doi: This is a Goobi step plugin to allow the registration of digital objects at the DataCite DOI service. This is the newer version of the plugin using XSLT for the metadata generation.GitHub
LogoGitHub - intranda/goobi-plugin-export-configurable: This is an Export plugin for Goobi workflow which allows to configure how an export should exactly happen, which content to contain and where to export it to.GitHub
LogoAriadne ImportGoobi workflow - Plugins (Deutsch)
LogoConfigurable ExportGoobi workflow Plugins (English)
LogoGitHub - intranda/goobi-plugin-opac-ariadne: This is an Opac plugin for Goobi workflow which allows to import metadata from the online archive management tool ARIADNE. It uses the OAI interface to receive EAD metadata and converts it into METS/MODS.GitHub
LogoDOI-RegistrierungGoobi workflow - Plugins (Deutsch)
Logo7.5 goobi_rest.xmlGoobi workflow (Deutsch)
Logo7.2 goobi_opac.xmlGoobi workflow (Deutsch)
Logo7.2 goobi_opac.xmlGoobi workflow (Deutsch)
https://docs.goobi.io/goobi-workflow-de/admin/7/7.2
Logo7.8 goobi_opacUmlaut.txtGoobi workflow (Deutsch)
Logo7.6 goobi_projects.xmlGoobi workflow (Deutsch)
Logo7.6 goobi_projects.xmlGoobi workflow (Deutsch)
https://docs.goobi.io/goobi-workflow-de/admin/7/7.6
LogoValidierung von DateienGoobi workflow - Plugins (Deutsch)
LogoGitHub - intranda/goobi-plugin-step-file-validation: This is a Step Plugin for Goobi workflow which allows to validate content of different files using external validators e.g. for PDF files (used for epflicht).GitHub
LogoGitHub - intranda/goobi-plugin-dashboard-entity: This is a dashboard plugin for Goobi workflow to allow indexing of interconnected entities like persons, corporates, awards etc. (aka Artist Dictionary)GitHub
LogoGitHub - intranda/goobi-plugin-workflow-entity-editor: This is a workflow Plugin for Goobi workflow to allow the edition of entities for persons, corporates, awards etc. (aka Artist Dictionary)GitHub
LogoQualitätskontrolle von BildernGoobi workflow - Plugins (Deutsch)
LogoQualitätskontrolle von BildernGoobi workflow - Plugins (Deutsch)
LogoEntitäten Editor - Artist DictionaryGoobi workflow - Plugins (Deutsch)
https://github.com/intranda/goobi-plugin-step-imageqagithub.com
LogoMassenimport aus Excel-Dateien mit EAD-AnreicherungGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_exportpackage
LogoPackage ExportGoobi workflow - Plugins (Deutsch)
LogoPackage ExportGoobi workflow - Plugins (Deutsch)
LogoGitHub - intranda/goobi-plugin-step-rename-process: This is Step Plugin for Goobi workflow which allows to rename a process automatically based on configuration.GitHub
LogoGitHub - intranda/goobi-plugin-workflow-hu-importer: This is a workflow plugin for Goobi workflow which allows a mass import of Goobi processes from Excel files. Each file creates its own process with lots of structure elements and images.GitHub
LogoGitHub - intranda/goobi-plugin-export-newspaper: This is an Export Plugin for Goobi workflow which creates an export package for the national German newspaper portal (DDB Zeitungsportal).GitHub
LogoGitHub - intranda/goobi-plugin-export-newspaper: This is an Export Plugin for Goobi workflow which creates an export package for the national German newspaper portal (DDB Zeitungsportal).GitHub
LogoPDFs aufsplitten, Volltext extrahieren und Inhaltsverzeichnis auslesenGoobi workflow - Plugins (Deutsch)
LogoGitHub - intranda/goobi-plugin-step-pdf-extraction: This is a Goobi workflow plugin to automatically read information from PDF files.GitHub
Logo7.12 goobi_processProperties.xmlGoobi workflow (Deutsch)
Logo7.13 goobi_activemq.xmlGoobi workflow (Deutsch)
Logo7.14 goobi_exportXml.xmlGoobi workflow (Deutsch)
Logo7.11 messages_xx.propertiesGoobi workflow (Deutsch)
Logo7.10 goobi_webapi.xmlGoobi workflow (Deutsch)
Logo7.9 goobi_normdata.xmlGoobi workflow (Deutsch)
LogoDokumentation UGH BibliothekUGH (Deutsch)
LogoGitHub - intranda/goobi-plugin-step-marcexport: This is a Step Plugin for Goobi workflow that delivers MARC data to an external system like an ADIS catalogue (used for epflicht).GitHub
LogoGitHub - intranda/goobi-plugin-administration-catalogue-poller: This is a Goobi Administration Plugin for the periodic update of existing METS files with contents from a catalog query.GitHub
LogoGitHub - intranda/goobi-plugin-rest-marcdelivery: This is a REST plugin for Goobi workflow which manages to share marc records with the catalogue (aka epflicht).GitHub
Logo8. VariablensystemGoobi workflow (Deutsch)
Logo8. VariablensystemGoobi workflow (Deutsch)
https://docs.goobi.io/goobi-workflow-de/manager/8
Logo8. VariablensystemGoobi workflow (Deutsch)
https://docs.goobi.io/goobi-workflow-de/manager/8
Logo7.4. GoobiScriptGoobi workflow (Deutsch)
Logo7.1 goobi_digitalCollections.xmlGoobi workflow (Deutsch)
Logo9.2. UpdateschritteGoobi workflow (Deutsch)
LogoARK AllianceARK Alliance
LogoARKs generierenGoobi workflow - Plugins (Deutsch)
LogoGitHub - intranda/goobi-plugin-step-ark: This is a Goobi Step plugin to register ARK identifiers for Goobi processes.GitHub
LogoMails versendenGoobi workflow - Plugins (Deutsch)
LogoGitHub - intranda/goobi-plugin-step-sendMail: This Step Plugin for Goobi workflow allows to send automatically emails from workflow steps.GitHub
LogoGitHub - intranda/goobi-plugin-step-save-docket-file: This is a Step Plugin for Goobi workflow which allows to save a docket file into the users folder.GitHub
LogoLaufzettel generierenGoobi workflow - Plugins (Deutsch)
LogoZeitungsexportGoobi workflow - Plugins (Deutsch)
Logo9.2. UpdateschritteGoobi workflow (Deutsch)
Logo7.7 goobi_config.propertiesGoobi workflow (Deutsch)
LogoMetadatenanreicherung via Excel-DateiGoobi workflow - Plugins (Deutsch)
LogoGitHub - intranda/goobi-plugin-step-excel-metadataenrichment: This is a Step plugin for Goobi workflow which allows to automatically create structure data into existing Goobi processes based on Excel files.GitHub
LogoGitHub - intranda/goobi-plugin-step-import-from-folder: This is a Step plugin for Goobi workflow which allows to import metadata, images and pagination information from a folder into an existing Goobi process.GitHub
LogoMetatatenübernahme aus einem VerzeichnisGoobi workflow - Plugins (Deutsch)
LogoBereinigung von MetadatenGoobi workflow - Plugins (Deutsch)
LogoGitHub - intranda/goobi-plugin-step-kiel-archive-cleanup: This is a Goobi workflow Step plugin that was developed for the local archive of Kiel (Germany) to cleanup metadata in the METS-Files and to pull in existing images into the master folder.GitHub
LogoGitHub - intranda/goobi-plugin-delay: This is a set of multiple Step delay plugins for Goobi workflow. The delay step is only completed when the configurable condition has been met. For example, it can be configured that the step may only be completed after a defined period of time.GitHub
LogoSchreiben von XMP Metadaten in BilddateienGoobi workflow - Plugins (Deutsch)
Logo7.1. Vorgänge filternGoobi workflow (Deutsch)
https://docs.goobi.io/goobi-workflow-de/manager/7/7.1
Logo7.1. Vorgänge filternGoobi workflow (Deutsch)
https://docs.goobi.io/goobi-workflow-de/manager/7/7.1
LogoAdd support for importing authority data from KulturNav by hemed · Pull Request #23 · intranda/goobi-workflowGitHub
https://github.com/intranda/goobi-workflow/pull/23
Logo4.4. OCR Ergebnisse bearbeitenGoobi workflow (Deutsch)
https://docs.goobi.io/goobi-workflow-de/user/4/4.4
Logo6. BenutzergruppenGoobi workflow (Deutsch)
https://docs.goobi.io/goobi-workflow-de/manager/6#individuelle-goobiscripte
LogoÄndern des Workflows auf Grundlage von VorgangseigenschaftenGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_changeworkflow
Logo3.1. Definition von MetadatentypenUGH (Deutsch)
https://docs.goobi.io/ugh-de/3/3.1#3-1-3-koerperschaften
LogoGitHub - intranda/goobi-plugin-step-metadata-update-field: This plugin allows to automatically create or update specific metadata fields inside of METS files. To do so it can use the Variable Replacer or neighbor metadata fields to write metadata to logical elements on all hiearchical levels.GitHub
https://github.com/intranda/goobi-plugin-step-metadata-update-field
LogoGitHub - intranda/goobi-plugin-administration-archive-management: This administration plugin for Goobi workflow allows the management of records groups for archives in standardized EAD files.GitHub
https://github.com/intranda/goobi-plugin-administration-archive-management
LogoVorgangserstellung durch DateiuploadGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/workflow/intranda_workflow_fileupload_processcreation
LogoExtraktion von BildmetadatenGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_imagemetadataextraction
LogoGitHub - intranda/goobi-plugin-step-image-metadata-extraction: This Step Plugin allows the extraction of metadata from image files in order to store them within the METS files.GitHub
https://github.com/intranda/goobi-plugin-step-image-metadata-extraction
Logo10. Möglichkeiten der AuthentifizierungGoobi workflow (Deutsch)
https://docs.goobi.io/goobi-workflow-de/admin/10
https://swagger.io/swagger.io
https://swagger.io/
Logo1. Aufsetzen einer EntwicklungsumgebungGoobi workflow (Deutsch)
LogoGitHub - intranda/goobi-plugin-workflow-fileupload-processcreation: This is a Goobi workflow plugin for the upload of multiple files to allow an automatic process creation based on the the uploaded files. Files with similar names are used to create basic Goobi processes and assign these files to it.GitHub
https://github.com/intranda/goobi-plugin-workflow-fileupload-processcreation
LogoObject Identifier GenerierungGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_oid_creation
LogoGitHub - intranda/goobi-plugin-step-oid-creation: Step plugin for Goobi workflow to generate a set of OID identifiers for each single image, generate Hashes and to change the image names and references inside of the METS file.GitHub
https://github.com/intranda/goobi-plugin-step-oid-creation
LogoGitHub - intranda/goobi-plugin-step-transcription: This is a step Plugin for Goobi workflow to allow the simple transcription of fulltexts per page without word coordinates.GitHub
https://github.com/intranda/goobi-plugin-step-transcription
LogoTranskription von BildinhaltenGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_transcription
LogoImport von Datensätzen aus einer Excel-DateiGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/import/intranda_import_excel
https://docs.goobi.io/goobi-workflow-plugins-de/step-plugins/layoutwizzarddocs.goobi.io
https://docs.goobi.io/goobi-workflow-plugins-de/step-plugins/layoutwizzard
https://docs.goobi.io/goobi-workflow-plugins-de/administration/plugin_intranda_administration_copyanchordocs.goobi.io
https://docs.goobi.io/goobi-workflow-plugins-de/administration/plugin_intranda_administration_copyanchor
LogoGitHub - google/draco: Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.GitHub
https://github.com/google/draco
https://docs.goobi.io/goobi-workflow-de/admin/7/7.5-goobi_rest.xmldocs.goobi.io
https://docs.goobi.io/goobi-workflow-de/admin/7/7.5-goobi_rest.xml
https://docs.goobi.io/goobi-workflow-plugins-de/workflow/plugin-workflow-cropdocs.goobi.io
https://docs.goobi.io/goobi-workflow-plugins-de/workflow/plugin-workflow-crop
LogoErzeugung der Export-VerzeichnisseGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/administration/plugin_intranda_adminstration_goobi2goobi/step_1_export
https://docs.goobi.io/goobi-workflow-plugins-en/administration/plugin_intranda_adminstration_goobi2goobidocs.goobi.io
https://docs.goobi.io/goobi-workflow-plugins-en/administration/plugin_intranda_adminstration_goobi2goobi
LogoTransfer der Export-VerzeichnisseGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/administration/plugin_intranda_adminstration_goobi2goobi/step_2_transfer
LogoGitHub - intranda/goobi-plugin-administration-goobi2goobi-import: This Goobi Plugin is needed to export infrastructure information about Goobi workflow internals to a zip file and information about the process details into the process folders.GitHub
https://github.com/intranda/goobi-plugin-administration-goobi2goobi-import
LogoGitHub - intranda/goobi-plugin-administration-goobi2goobi-export: This Goobi Plugin is needed to export infrastructure information about Goobi workflow internals (ldap, user, groups, projects, rulesets, dockets) to a zip file and information about the process details into the process folders.GitHub
https://github.com/intranda/goobi-plugin-administration-goobi2goobi-export
https://docs.goobi.io/goobi-workflow-plugins-de/administration/plugin_intranda_adminstration_goobi2goobi/step_3_importdocs.goobi.io
https://docs.goobi.io/goobi-workflow-plugins-de/administration/plugin_intranda_adminstration_goobi2goobi/step_3_import
LogoÜbersichtGoobi workflow - Plugins (Deutsch)
https://docs.goobi.io/goobi-workflow-plugins-de/
https://docs.intranda.com/goobi-workflow-plugins-de/step-plugins/intranda_step_jhove-validationdocs.intranda.com
https://docs.intranda.com/goobi-workflow-plugins-de/step-plugins/intranda_step_jhove-validation
Logointranda GmbHGitHub
https://github.com/intranda
https://youtu.be/Eh8H4k1sKvE
Logo8. VariablensystemGoobi workflow (Deutsch)
https://docs.intranda.com/goobi-workflow-de/manager/8
https://docs.intranda.com/goobi-workflow-plugins-de/step-plugins/intranda_step-rename-filesdocs.intranda.com
https://docs.intranda.com/goobi-workflow-plugins-de/step-plugins/intranda_step-rename-files
https://docs.intranda.com/goobi-workflow-plugins-de/workflow-plugins/plugin-workflow-barcode-generatordocs.intranda.com
https://docs.intranda.com/goobi-workflow-plugins-de/workflow-plugins/plugin-workflow-barcode-generator
https://docs.goobi.io/goobi-workflow-plugins-de/step-plugins/intranda_step_metadata_replacementdocs.goobi.io
https://docs.goobi.io/goobi-workflow-plugins-de/step-plugins/intranda_step_imageqadocs.goobi.io
https://docs.goobi.io/goobi-workflow-plugins-de/workflow-plugins/goobi-plugin-workflow-excelimportdocs.goobi.io
https://docs.intranda.com/goobi-workflow-plugins-de/administration-plugins/catalogue-pollerdocs.intranda.com
https://docs.goobi.io/goobi-workflow-plugins-de/step-plugins/intranda_step_metadata_yerusha_validationdocs.goobi.io
LogoOCR SeitenauswahlGoobi workflow - Plugins (Deutsch)
LogoSchreiben von XMP Metadaten in BilddateienGoobi workflow - Plugins (Deutsch)
LogoOCR-Durchführung mit gemischten SchrifttypenGoobi workflow - Plugins (Deutsch)