Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core workflow 3.0 > Übersicht vorhandener Knoten
Interne ID: agorum.script
Sie können mit diesem Knoten JavaScripte in Ihrem Workflow ausführen, um etwa eigene Logiken abzubilden oder Debugging zu betreiben. Zudem können Sie über diesen Knoten den aktuellen Bearbeiter (sys_acw_assignee) ändern oder entfernen.
Erreicht das System den Knoten im Workflow, wird das Enter script ausgeführt. Der Workflow wird danach normalerweise über das Outlet leave weitergeführt und der Knoten darüber verlassen. Wenn leave im Enter script nicht vorhanden ist, wird der Workflow an dieser Stelle in einen Wartezustand versetzt und unterbrochen. Dieser Wartezustand kann nur durch den externen Aufruf eines Tokens aufgelöst werden.
Wird der Wartezustand aufgelöst, wird das Update script ausgeführt. Der Workflow wird danach normalerweise über das Outlet leave weitergeführt und der Knoten darüber verlassen. Wenn leave im Update script nicht vorhanden ist, wird der Workflow an dieser Stelle erneut in einen Wartezustand versetzt. Die Auflösung beginnt von vorn.
Standard | Veränderbar? | Weitere Endpoints möglich? |
---|---|---|
Default (Inlet) | Nein, kann nur ausgeblendet werden. | nicht nötig |
Default (Outlet) | Nein, kann nur ausgeblendet werden. | ja, beliebig viele |
Parameter | Beschreibung | Beispiel |
---|---|---|
Enter script | Wird ausgeführt, sobald der Workflow den Knoten erreicht. | Enter script |
Update script | Wird ausgeführt, sobald der Wartezustand aufgelöst wird. | Update script |
Tipp: Verwenden Sie die Variablenauswahl, um einen Überblick über alle nutzbaren Variablen zu erhalten.
/* global sc, sca, token, instance, outlets, inlet, parameters */ console.log(parameters.logText, parameters.logVariable && token.variables[parameters.logVariable]); // Send the token through the default outlet token.leave('');
In diesem Beispiel wurde das Enter script in einem Subworkflow verwendet und der Subworkflow in einen Hauptworkflow eingebunden. Der eingebundene Knoten im Hauptworkflow besitzt die Parameter Log text mit dem Wert Tolle Ausgabe und die Variable sc.loginUser.UUID, die die aktuellen interne Benutzer-ID enthält.
Durch console.log im Enter script loggt das System den String und die Variable im Protokoll und zeigt die Daten dort an. Sie können diese Daten in der Registerkarte Protokoll (Log) des jeweiligen Schrittes einsehen.
/* global sc, sca, token, instance, outlets, inlet, parameters */ console.log('the current user is' + sc.loginUser.name); // Send the token through the default outlet token.leave('');
Sie können den aktuellen Bearbeiter entfernen, indem Sie die Variable sys_acw_assignee aus dem Token löschen.
/* global sc, sca, token, instance, outlets, inlet, parameters */ let assignment = require('/agorum/roi/customers/acworkflow/js/common/assignment'); let objects = require('common/objects'); console.log(assignment.getAssignment(token)); // {"viewers":[],"substitutes":[],"assignees":[{"attachmentPermission":"read","id":"group:GRP_Demo"},{"attachmentPermission":"write","id":"group:d4wdr"}]} // remove the user assignement //delete token.variables.sys_acw_assignee; // Send the token through the default outlet token.leave('');
Einen neuen Bearbeiter können Sie wie folgt zuweisen. Die Zuweisung einer neuen Bearbeitergruppe erfolgt über die assignment Bibliothek.
/* global sc, sca, token, instance, outlets, inlet, parameters */ let assignment = require('/agorum/roi/customers/acworkflow/js/common/assignment'); let objects = require('common/objects'); console.log(assignment.getAssignment(token)); // {"viewers":[],"substitutes":[],"assignees":[{"attachmentPermission":"read","id":"group:GRP_Demo"},{"attachmentPermission":"write","id":"group:d4wdr"}]} // direct user assignment token.variables.sys_acw_assignee = objects.find('user:demo').UUID; // Send the token through the default outlet token.leave('');