Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum core fileworkflow 


Einführung in den 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.

Regeln

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:

agorum core fileworkflow aufrufen

Sie rufen den agorum core fileworkflow unterschiedlich auf:

Als Aktion / per JavaScript im agorum core smart assistant konfigurator

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.

Fileworkflow-Konfigurationen in der MetaDB

Die Fileworkflow-Konfigurationen werden in der MetaDB in einer Baumstruktur gespeichert. Der Basispfad lautet:

MAIN_MODULE_MANAGEMENT/workflow/resources/FileWorkflow2/control/Children

Konfigurationen aktivieren/deaktivieren

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.

export.yml

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

Eine Dokumentenregel öffnen

Öffnen Sie links in der Seitenleiste Weitere Apps und dann FileWorkflow Dokumentenregeln.

Eine Regel mit Bedingung anlegen

  1. Klicken Sie rechts unter Regeln auf Neu und dann auf Neue Bedingung.
  2. Wählen Sie im Feld Attribut ein Attribut / Metadatum.
  3. Klicken Sie in die Zeile neben dem Metadatum für die Eingabe eines Wertes. Der Wert kann ein freier Text oder eine RegExp sein.

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.

Beispiele für RegExp in Bedingungen

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.

Sonderzeichen

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

Pfade

Geben Sie mehrere Pfade an, wertet das System diese mit ODER.

  1. Klicken Sie in der Bedingung im Abschnitt Pfad in die Zeile.
  2. Klicken Sie rechts auf . Ergebnis: Der Explorer öffnet sich.
  3. Navigieren Sie zu dem gewünschten Pfad und klicken Sie auf Öffnen. Ergebnis: Das System schreibt den Pfad automatisch in das Feld.
  4. Aktivieren Sie rechts die Einstellung rekursiv, gilt die Bedingung für alle Pfade, die sich unterhalb des gewählten Pfads befinden.

Eine Gruppe anlegen

In einer Gruppe können Sie Regeln zusammenfassen und einen Benutzer angeben, mit dem das System alle Regeln unterhalb der Gruppe ausführt.

  1. Legen Sie eine neue Gruppe im Regelbaum an und vergeben Sie einen Namen.
  2. Wählen Sie im Feld Benutzer einen Benutzer, mit dem das System alle Regeln unterhalb dieser Gruppe ausführt.
  3. Lassen Sie das Feld leer, wenn der fileworkflow mit dem Benutzer ausgeführt werden soll, mit dem er gestartet wurde (Standardverhalten).

Eine Gruppe bearbeiten

  1. Klicken Sie mit der rechten Maustaste auf eine Gruppe.
  2. Wählen Sie im Kontextmenü eine Aktion.

Hinweis: Die gewählte Aktion wirkt sich auf alle darunterliegenden Gruppen und Regeln aus.

Eine Regel aufstellen

Siehe Ablaufregeln des agorum core fileworkflows.

Wenn Sie Probleme mit dem fileworkflow haben

fileworkflow funktioniert nicht

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:

  • welche Bedingungen (MATCH / MISS KEY) getroffen haben,
  • welche Aktionen ausgeführt wurden,
  • Fehlermeldungen sowie Zeitangaben.

Protokolle/Logs im agorum core support tool

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