Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum core fileworkflow
Der agorum core fileworkflow ist ein durch Regeln konfigurierbarer Workflow für ein Objekt. Das System prüft anhand der Bedingungen in den hinterlegten Regeln, welche Bedingungen zutreffen. Alle Regeln mit dieser Bedingung führt das System aus. Dadurch können Sie beliebig viele Regeln auf ein Objekt in einem einzigen Fileworkflow-Aufruf ausführen.
Hinweis: Der Fileworkflow ist ein älteres Konzept, das in Bestandsprojekten weiterhin genutzt wird. Für neue Automatisierungen werden häufig modernere Ansätze (z. B. Workflows) bevorzugt.
Das System:
Hinweis: Durch die rekursive Ausführung der Regeln ist deren Reihenfolge wichtig.
Der fileworkflow läuft immer in einer kompletten Transaktion ab. Erstellen Sie etwa eine Ablageregel, die Ordnerstrukturen erstellt, und möchten Sie im Anschluss durch den fileworkflow Metadaten per JavaScript auf die neuen Ordner setzen, schlägt das Setzen der Metadaten fehl. Das System erstellt die Ordnerstrukturen erst, wenn der komplette fileworkflow durchgelaufen ist.
Um die Metadaten setzen zu können, verwenden Sie nach Erstellung der Ordnerstrukturen durch den fileworkflow etwa:
Sie rufen den agorum core fileworkflow unterschiedlich auf:
Der Aufruf, um ein Dokument an einen fileworkflow zu senden, hat folgenden Aufbau:
let instance = workflows.start('FileWorkflow2', <objects>, <displayName der Workflow-Instanz>, {<Parameter>});
| Parameter | Beschreibung | Pflicht | Beispiel |
|---|---|---|---|
objects |
Die an den FileWorkflow2 zu übergebenden Objekte (z. B. Dokumente/Dateien), die durch die Regeln geprüft und verarbeitet werden. |
ja | objects |
displayName |
Der hinterlegte String wird im Namen sowie in der Beschreibung der Fileworkflow-Instanz hinterlegt und ist in der Attachment-Liste des zugehörigen Dokuments zu finden. | ja | 'FileWorkflow2 - Fileworkflow2JS' |
<Parameter> |
Die Parameter können verwendet werden, um den fileworkflow über die Metadaten hinaus zu steuern. Früher wurde das z. B. genutzt, um Dokumente nochmals an den fileworkflow „zurück“ zu schicken, um weitere Aktionen auszuführen (z. B. eine finale Ablage nach Abschluss eines Workflows). Heute wird dies eher selten verwendet, da sich solche Schritte meist einfacher direkt im eigentlichen Workflow abbilden lassen. Empfehlung: keine Parameter übergeben und ein leeres Objekt verwenden: {}. |
nein | {} |
Anbei ein Beispielcode:
let workflows = require('common/workflows');
// Der fileworkflow (FileWorkflow2) läuft synchron ab.
// Ab Version 11.14.0 wird KEIN Workflow-Objekt mehr zurückgegeben.
workflows.start('FileWorkflow2', objects, 'FileWorkflow2 - Fileworkflow2JS', {});
Der fileworkflow läuft in einer Transaktion synchron ab. Nach dem workflows.start()-Aufruf sind alle konfigurierten Aktionen bereits ausgeführt. Ein Rückgabewert ist nicht mehr erforderlich, da der Workflow keine eigene Instanz (JBPM-Workflow) mehr erzeugt.
Die Fileworkflow-Konfigurationen werden in der MetaDB in einer Baumstruktur gespeichert. Der Basispfad lautet:
MAIN_MODULE_MANAGEMENT/workflow/resources/FileWorkflow2/control/Children
Jeder Knoten im Fileworkflow-Baum in der MetaDB kann einen Active-Schlüssel besitzen:
| Wert | Bedeutung |
|---|---|
Active: true |
Der Zweig ist aktiv und wird ausgewertet. |
Active: false (oder nicht true) |
Der Zweig ab diesem Knoten ist deaktiviert und wird nicht ausgeführt. |
Hinweis: Ist ein übergeordneter Knoten deaktiviert, sind automatisch alle darunterliegenden Knoten (Children) ebenfalls deaktiviert – unabhängig von deren eigenem Active-Wert.
In Projekten können Fileworkflows über die export.yml mit dem Keyword FileWorkflow: exportiert werden. Der Wert dahinter ist ein RegExp-Muster, das gegen die Namen der Einträge unterhalb des MetaDB-Basispfads geprüft wird.
- FileWorkflow: agorum_invoice.*
Öffnen Sie links in der Seitenleiste Weitere Apps und dann FileWorkflow Dokumentenregeln.
Tipp: Klicken Sie in die nächste Zeile, um ein weiteres Metadatum hinzuzufügen.
Regel-Logik: Das System fasst mehrere Bedingungen mit UND zusammen. Mehrere Zeilen (alternative Werte) werden mit ODER geprüft.
| RegExp | Beschreibung |
|---|---|
.+ |
Besitzt einen Wert und ist vorhanden (es kann auch ein leerer String vorhanden sein). |
^RE.* |
Beginnt mit RE, beliebige Zeichen können folgen. |
audit|document |
Fragt zwei Werte mit ODER ab (anstatt eine neue Zeile zu schreiben). |
.*\.pdf |
Muss mit .pdf enden (hier alles kleingeschrieben). |
12345 |
Muss den festen Wert 12345 haben. |
- |
Leer oder nicht vorhanden. |
^[7][0-9]{4,4}$ |
Muss mit 7 beginnen, dann folgen 4 Zahlen. |
!^[7][0-9]{4,4}$ |
Dreht die Regel dank führendem ! um und liefert wahr zurück, wenn der Wert nicht der Regel entspricht. |
Haben Sie etwa Ihre Dokumententypen mit Sonderzeichen erstellt (z. B. Rechnung (ohne Positionen)), müssen Sie diese im fileworkflow abfangen, da ansonsten der fileworkflow nicht greift und Ihre Dokumente nicht verschiebt:
Rechnung \(ohne Positionen\)
Geben Sie mehrere Pfade an, wertet das System diese mit ODER.
In einer Gruppe können Sie Regeln zusammenfassen und einen Benutzer angeben, mit dem das System alle Regeln unterhalb der Gruppe ausführt.
Hinweis: Die gewählte Aktion wirkt sich auf alle darunterliegenden Gruppen und Regeln aus.
Funktioniert einer Ihrer fileworkflows nicht und verarbeitet ein ausgewähltes Dokument nicht wie gewünscht, kann dies verschiedene Ursachen haben:
Protokolle/Logs (Ablageworkflow 2 / FileWorkflow2):
Ab agorum core 11.14.0 wird für den fileworkflow kein Workflow-Objekt mehr erzeugt. Die vollständigen Log-Informationen finden Sie ab dieser Version ausschließlich im agorum core support tool unter dem Bereich Workflow. Dort sehen Sie:
MATCH / MISS KEY) getroffen haben,Sie können im agorum core support tool prüfen, welches Problem genau vorliegt. Selbst wenn kein roter Fehler in der Baumstruktur erscheint, kann ein Fehler unter den Logs vorhanden sein.
Sie finden die detaillierte Ablauf- und Regelprotokollierung im Bereich Active rules log. Hier wird angezeigt, welche Bedingungen/Regeln zum Dokument gepasst (MATCH) oder nicht gepasst (MISS KEY) haben.
| Bereich | Hinweis |
|---|---|
| Active Folders | Die Sub Statistics stellen aufgesplittete Logs von Aktiven Ordner-Gruppierungen dar. Etwa landen in der Action Scriptfolder Logs von Aktiven Ordnern, die ein JavaScript ausführen. Einzelne Aktive Ordner-Konfigurationen erscheinen hier nicht. |
| DocForm | DocForm liest Metadaten aus einem PDF aus (z. B. Rechnungsnummer, Positionswerte, Gesamtbetrag). Das Support-Tool überwacht u. a. Engine, Process und Split-Prozess. |
| Workflow | Hier finden Sie die detaillierten Workflow-Logs (u. a. auch zur Verarbeitung im Kontext vom fileworkflow). |