Workflows
Workflows und Workflow-Schritte
Ein Workflow setzt sich zusammen aus verschiedenen sogenannten "Schritten". Ein einzelner Schritt besitzt eine genau definierte Aufgabe. In docuteam feeder finden insbesondere die Schritte von docuteam actions Verwendung. Es können daneben aber auch eigene Schritte erstellt und ausgeführt werden.
Der Tab "Workflows" zeigt alle definierten Ingest-Workflows an, die auf ein konkretes SIP angewendet werden können.
Workflow ausführen
Gestartet wird ein Workflow mit einem Klick auf starten
. Nachfolgend wählt man das SIP aus, das verarbeitet werden soll. Dazu gibt es drei Möglichkeiten:
- Dropdown-Liste für SIP, die sich im Ordner befinden, der in den Workflow-Einstellungen als "Eingangsordner für Pakete" definiert ist.
- Dropdown-Liste für SIP, die als Ablieferung hochgeladen wurden.
- Manuelle Eingabe eines SIP-Namens (falls Feature
manual_input
aktiviert).
Die Dropdown-Liste für SIPs wird gemäss dem "Eingangsordner für Pakete" abgefüllt, der in den Workflow-Einstellungen definiert werden kann.
Workflow bearbeiten und neu erstellen
Sofern man die entsprechende Berechtigung besitzt, können mit dem Link bearbeiten
bestehende Workflows bearbeitet werden. Ein Workflow ist immer ein linearer Ablauf: Das SIP wird gewissermassen in eine Pipeline hineingeschickt, in welcher ein Schritt nach dem anderen abgearbeitet wird. Im Falle eines Fehlers stoppt die Ausführung und lässt etwaige noch folgende Schritte aus.
Die hier in der linken Spalte ausgewählten Schritten sind unter docuteam actions dokumentiert. Die rechte Spalte enthält die Parameter, die dem ausgewählten Schritt bei dessen Aufruf mitgegeben werden. SIP-Pakete können mit folgenden Variablen referenziert werden:
Variable | Erklärung | Beispiel |
---|---|---|
${SIP} | Name des SIP inkl. Pfad | C:\docuteam\workbench\1_inbox\beispiel.zip |
${SIPBASE} | Name des SIP ohne Dateiendung | beispiel |
${SIPEXT} | Dateiendung des SIP | zip |
${SIPNAME} | Name des SIP mit Dateiendung | beispiel.zip |
${SIPPATH} | Pfad zum Ordner, in dem sich das SIP befindet | C:\docuteam\workbench\1_inbox |
${SAFESIPNAME} | Name des SIP (Sonderzeichen normalisiert) | beispiel.zip |
${DEPOSITIONID} | Numerische ID der Deposition | 123 |
Wenn das SIP über eine Deposition erstellt wurde, so enthalten${SIPBASE}
und ${SIPNAME}
die interne ID der Deposition (z.B. CmLdaZVcjpncG57G7jjf7SjX). Zusätzlich enthält ${DEPOSITIONID}
die numerische ID der Deposition.
${SIPEXT}
ist in diesem Fall leer, weil die Deposition ohne Dateiendung abgespeichert wird. Ebenso ist ${SAFESIPNAME}
leer, weil die interne ID der Deposition keine Sonderzeichen enthält.
Weiter existieren folgende Variabeln:
Variable | Erklärung | Beispiel |
---|---|---|
${ORGID} | ID der Organisation zu welcher die aktuelle Ausführung gehört | 2 |
${CREATOR_EMAIL} | Email-Adresse des Kontos, welches die Ausführung erstellt hat | user@example.com |
${LAST_MODIFIER_EMAIL} | Email-Adresse des Kontos, welches die Ausführung zuletzt modifiziert hat | user@example.com |
${LAST_EXECUTION_CREATION_DATE} | Datum und Zeit der letzten Ausführung des Workflows | 1970-01-01T00:00:00.000Z |
${CURRENT_EXECUTION_CREATION_DATE} | Datum und Zeit der aktuellen Workflow-Ausführung | 2040-01-01T00:00:00.000Z |
${WEID} | ID der aktuellen Workflow-Ausführung | 12451 |
${EXECBYWEID} | ID der Workflow-Ausführung, welche die aktuelle Ausführung ausgelöst hat | 23421 |
Auserdem erlaubt das folgende Muster die Verwendung von allgemeinen Umgebungsvariablen (sowohl auf Windows wie auf Linux): ${ENV:...}
.
Neben der Bearbeitung eines bestehenden Workflows besteht auch die Möglichkeit, dass ein gänzlich neuer Workflow erstellt wird.
Das Feld "Schritt-Präfix" muss einen Konsolenbefehl zum Wechseln in das actions_home_dir
-Verzeichnis der Organisation enthalten, der vor jedem Schritt ausgeführt wird (z.B. cd "${ENV:ACTIONS_HOME_999}"
).
Das optionale Feld "Eingangsordner für Pakete" enthält einen Pfad zu einem Ordner der Workbench, in dem feeder beim Start eines Workflows nach SIPs sucht.
In beiden Felder können Windows- oder Linux-Umgebungsvariablen mit der folgenden Syntax eingeben werden: ${ENV:ACTIONS_HOME_999}
. Dieselbe Syntax wird auch in Schritt-Parametern und Schritt-Befehlen unterstützt.
Im Dropdown "Parametertyp" muss angegeben werden, welche Art von manuell übergebenem Parameter feeder beim Starten des Workflows akzeptiert (entweder beim manuellen Starten eines Workflows im Feld "Manuelle Eingabe" oder beim Starten eines Workflows über API oder Event Handler. Entspricht der übergebene Parameter nicht dem hier definierten Typ, wird der Workflow nicht ausgeführt. Folgende Werte stehen zur Auswahl:
- Datei oder Ordner: Pfad zu einer Datei oder einem Ordner, die im Eingangsordner des jeweiligen Workflows liegen
- ID: Akzeptiert nur Zahlen
- OAI-PMH Identifikator: ID eines OAI-PMH Records (
oai:{server address}:{identifier}
) - PID: PID eines Objektes in docuteam box
- PUID: Pronom-Dateiformat ID (z.B. fmt/40 oder x-fmt/430)
- Kein Parameter: Übergabe eines Parameters nicht erlaubt, Feld "Manuelle Eingabe" wird ausgeblendet
Ein Workflow kann mit einem Zeitplan versehen werden, um diesen gemäss einer Frequenz automatisch zu starten.
Mit Ereignisregeln können Workflow-Ausführungen miteinander verknüpft werden, so dass beim erfolgreichen Abschluss und/oder beim Fehlschlagen eines Workflows automatisch eine nächster Workflow gestartet wird.
Schritt bearbeiten oder neu erstellen
Wie Workflows, so können mit der entsprechenden Berechtigung auch bestehende Schritte bearbeitet oder neue Schritte erstellt werden, etwa um weitere Migrationswerkzeuge einzubinden oder den Ingestprozess um zusätzliche Funktionalitäten zu erweitern.