Goobi workflow Digests
DokumentationenGoobi workflow HandbuchGoobi workflow Plugins
Deutsch
Deutsch
  • Goobi workflow Digests
  • 2025
    • März
    • Februar
    • Januar
  • 2024
    • Dezember
    • November
    • Oktober
    • September
    • August
    • Juli
    • Juni
    • Mai
    • April
    • März
    • Februar
    • Januar
  • 2023
    • Dezember
    • November
    • Oktober
    • September
    • August
    • Juli
    • Juni
    • Mai
    • April
    • März
    • Februar
    • Januar
  • 2022
    • Dezember
    • November
    • Oktober
    • September
    • August
    • Juli
    • Juni
    • Mai
    • April
    • März
    • Februar
    • Januar
  • 2021
    • Dezember
    • November
    • Oktober
    • September
    • August
    • Juli
    • Juni
    • Mai
    • April
    • März
    • Februar
    • Januar
  • 2020
    • Dezember
    • November
    • Oktober
    • September
    • August
    • Juli
    • Juni
    • Mai
    • April
    • März
    • Februar
    • Januar
  • 2019
    • Dezember
    • November
    • Oktober
    • September
    • August
    • Juli
    • Juni
    • Mai
    • April
    • März
    • Februar
    • Januar
  • 2018
    • Dezember
    • November
    • Oktober
    • September
    • August
    • Juli
    • Juni
    • Mai
Bereitgestellt von GitBook
Auf dieser Seite
Als PDF exportieren
  1. 2023

April

Entwicklungen und Neuigkeiten zu Goobi workflow

VorherigeMaiNächsteMärz

Zuletzt aktualisiert vor 1 Monat

Coming soon

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

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

Projektseite
🚀
Die portierte Benutzeroberfläche sieht gleich aus, wirkt aber insgesamt luftiger
SonarCloud Analyse: Goobi workflow Core - für den Git Tag v23.04.3

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

  • Coming soon
  • Core
  • Benutzeroberfläche
  • REST API
  • GETGet the journal for a process resource
  • PUTUpdate a journal entry
  • POSTCreate a new journal entry
  • DELETEDelete an existing journal entry
  • Plugins
  • Codeanalyse
  • Versionsnummer

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-09T22:06:11.580Z",
  "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-09T22:06:11.580Z",
  "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-09T22:06:11.580Z",
  "userName": "text",
  "type": "text",
  "message": "text",
  "filename": "text"
}

Kein Inhalt