Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum core workflow 3.0


Workflows aus einem aktiven Ordner starten

Mit dem mitgelieferten Skript start-workflow.js starten Sie für jedes Dokument, das in einem Aktiven Ordner abgelegt wird, automatisch einen Workflow von Automation | Workflow. Ein eigenes Skript ist dafür nicht nötig. Sie richten dazu im Aktiven Ordner die Konfiguration Skript ausführen ein und übergeben dem Skript den Namen Ihres Workflows als Parameter.

Voraussetzungen

Bevor Sie einen Aktiven Ordner mit dem Skript start-workflow.js verbinden, müssen folgende Punkte erfüllt sein:

Workflow für den Start aus einem aktiven Ordner vorbereiten

Das Skript start-workflow.js übergibt jedes Dokument eines Aktiven Ordners einzeln an einen Workflow von Automation | Workflow. Damit das funktioniert, muss der Workflow zwei Bedingungen erfüllen.

Dokument aus dem Anhang lesen

Das Skript startet den Workflow mit dem Dokument als Anhang. Im Workflow steht das Dokument in der internen Variable sys_acw_attachments zur Verfügung, siehe Interne Workflow-Variablen verwenden.

Dokument in der ersten Transaktion verschieben

Der Workflow muss das Dokument aus dem Aktiven Ordner verschieben, bevor er zum ersten Mal wartet, etwa auf eine Benutzeraktion oder einen Termin, oder bis zum ersten Commit-Knoten. Bis dahin läuft der Workflow in derselben Transaktion, in der das Skript ihn gestartet hat. Zu Transaktionen in Workflows siehe Transaktionen und Fehlerbehandlung in Workflows.

Liegt das Dokument nach dem Start noch im Aktiven Ordner, bricht das Skript ab. Ohne diese Prüfung würde der Aktive Ordner für dasselbe Dokument jede Minute einen weiteren Workflow starten.

Achtung: Verschiebt der Workflow das Dokument nicht, bricht das Skript den Durchlauf mit der Fehlermeldung Workflow <Name> failed to move object <ID> from folder <ID>. This is required to prevent an infinite loop. ab. Das Dokument bleibt im Aktiven Ordner, und weitere Dokumente dieses Durchlaufs werden nicht mehr verarbeitet. Prüfen Sie in diesem Fall die Workflowdefinition.

Aktiven Ordner für den Workflowstart einrichten

In diesem Abschnitt verbinden Sie einen Ordner mit dem mitgelieferten Skript start-workflow.js von Automation | Workflow. Wie Aktive Ordner grundsätzlich funktionieren, beschreibt Aktiven Ordner einrichten.

Voraussetzung: Der Ordner, den das System überwachen soll, existiert, und der Workflow ist wie unter Workflow für den Start aus einem aktiven Ordner vorbereiten eingerichtet.

Gehen Sie wie folgt vor, um den Aktiven Ordner einzurichten:

  1. Öffnen Sie links in der Seitenleiste Weitere Apps und dann Aktive Ordner.

    Ergebnis: Die Übersicht der Aktiven Ordner öffnet sich.
  2. Klicken Sie rechts im Bereich Konfigurationen auf Neue Konfiguration.
  3. Wählen Sie Skript ausführen.

    Ergebnis: Die neue Konfiguration erscheint in der Liste und öffnet sich links.
  4. Wählen Sie im Feld Ordner den Ordner, den das System überwachen soll.
  5. Tragen Sie im Feld Skript den Pfad des Skripts ein:
    /agorum/roi/customers/acworkflow/js/tools/start-workflow.js
  6. Deaktivieren Sie Skript in Transaktion ausführen. Das Skript startet jeden Workflow in einer eigenen Transaktion.
  7. Klicken Sie auf Parameter hinzufügen, geben Sie den Namen workflow ein und bestätigen Sie mit OK.

    Ergebnis: Der Parameter erscheint in der Tabelle.
  8. Doppelklicken Sie in die Spalte Wert des Parameters, tragen Sie den vollständigen Namen Ihres Workflows ein und bestätigen Sie mit der Eingabetaste.
  9. Fügen Sie bei Bedarf weitere Parameter hinzu, siehe Parameter des Skripts start-workflow.js.
  10. Klicken Sie auf Speichern.

    Ergebnis: Sie haben den Aktiven Ordner eingerichtet. Das System prüft den Ordner jede Minute und startet für jedes passende Dokument den Workflow.
Konfiguration Skript ausführen mit Ordner, Skript start-workflow.js und Parameter workflow
Konfiguration Skript ausführen mit dem Skript start-workflow.js

Parameter des Skripts start-workflow.js

Das Skript start-workflow.js von Automation | Workflow liest die folgenden Parameter, die Sie in der Konfiguration Skript ausführen eines Aktiven Ordners setzen. Alle Werte tragen Sie als Text ein.

Parameter Pflicht Standard Beschreibung
workflow ja – Vollständiger Name des Workflows, den das Skript für jedes Dokument startet. Fehlt der Parameter, bricht das Skript mit der Meldung Missing parameter "workflow" ab.
selector nein [!isFolder] Selektor, der festlegt, für welche Objekte das Skript einen Workflow startet. Der Standard wählt alle Objekte außer Ordnern. Beispiel: [nameExtension=/pdf/i] für PDF-Dateien. Zur Schreibweise siehe Selektoren.
minimumAge nein 30 Mindestalter in Sekunden. Das Skript übergeht Objekte, deren Inhalt in dieser Zeit geändert wurde. Bei Objekten ohne Inhalt zählt die letzte Änderung. Beginnt der Wert nicht mit einer ganzen Zahl, gilt der Standard.
recursive nein – Mit dem Wert true verarbeitet das Skript auch die Objekte in Unterordnern. Ohne den Parameter oder mit einem anderen Wert bleiben Unterordner unberücksichtigt.

So verarbeitet das Skript start-workflow.js die Dokumente

Ein Aktiver Ordner mit dem Skript start-workflow.js von Automation | Workflow läuft jede Minute. Bei jedem Durchlauf geht das Skript die Objekte im Ordner durch: