Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core JavaScript-API
Hinweise: Diese Bibliothek:
gehört zum agorum core workflow 3.0
können Sie nur als Super-Administrator roi ausführen
Sie können mit dieser Bibliothek Workflows des agorum core workflow 3.0 von „außen“ steuern, etwa Workflows starten oder Workflows beenden.
Sie können auch eigene Workflows und Knoten per Workflow 3.0-Bibliothek entwickeln.
let workflow = require('common/workflow');
Liest Variablen aus einem Workflow aus.
Syntax
workflow.get(id);
Transaktionen
Rufen Sie die Funktion auf, sperrt das System den Workflow für andere Funktionsaufrufe. Nur eine Funktion kann den Workflow behandeln.
Tipp: Um unnötig längere Verarbeitungszeiten des Funktionsaufrufs zu vermeiden, rufen Sie get in einem geforkten Bereich auf.
Parameter
Parameter | Beschreibung | Pflicht |
---|---|---|
id | Definiert die ID des Elements eines Workflows, von dem das System die Variablen ausliest.
|
ja |
Beispiel
let workflow = require('common/workflow'); // Get the local variable of the token determined by "tokenId" let tokenVariables = workflow.get('tokenId'); // Get the global variables of the token determined by "instanceId" let globalVariables = workflow.get('instanceId');
Übergibt einem bestimmten Token neue Variablen, passt bestehende Variablen an oder löscht sie aus einem bestimmten Token.
workflow.set(tokenId, variables, sessionController);
Parameter
Parameter | Beschreibung | Pflicht |
---|---|---|
tokenId | Definiert die ID des Tokens.
|
ja |
variables | Definiert die neuen oder zu ändernden Variablen.
|
ja |
sessionController | Parameter ist definiert Führt die Anpassung der Variablen mit einem alternativen sessionController durch, um andere Rechte zu erhalten. Parameter ist nicht definiert Führt die Anpassung der Variablen mit dem Benutzer aus, der den Aufruf der Funktion gestartet hat. |
nein |
Transaktionen
Rufen Sie die Funktion auf, sperrt das System den Workflow für andere Funktionsaufrufe. Nur eine Funktion kann den Workflow behandeln.
Tipp: Um unnötig längere Verarbeitungszeiten des Funktionsaufrufs zu vermeiden, rufen Sie set in einem geforkten Bereich auf.
Beispiel
/* global sca */ let workflow = require('common/workflow'); // Set the value of variable1 to 'Wert 1' and remove variable2 workflow.set('tokenId', { variable1: 'Wert1', variable2: null }, sca);
Startet einen im System zur Verfügung stehenden Workflow und liefert die UUID des Workflows.
Mit der UUID können Sie die Funktion tokens die Tokens des Workflows abfragen.
Syntax
workflow.start(workflow, variables, sessionController);
Parameter
Parameter | Beschreibung | Pflicht |
---|---|---|
workflow | Definiert den zu startenden Workflow.
|
ja |
variables | Definiert Variablen, die Sie dem zu startenden Workflow übergeben möchten. Das System übergibt eine Map aus Key-Value-Paaren, wobei der Key dem Namen der Variablen entspricht und Value dem Wert der zukünftigen Variablen. |
ja |
sessionController | Parameter ist definiert Startet den Workflow mit einem alternativen sessionController, um andere Rechte zu erhalten. Parameter ist nicht definiert Startet den Workflow mit dem sessionController des Benutzers, der den Workflow gestartet hat. |
nein |
Beispiele
Diese Beispiele zeigen, wie Sie einen Workflow etwa über den agorum core smart assistant konfigurator einbinden, um den Workflow über Ihr eigenes Kontextmenü zu starten:
Im Hintergrund, ohne direktes Öffnen einer UI:
/* global sc */ let workflow = require('common/workflow'); let myWorkflow = workflow.start('agorum.testworkflows.myFirstWorkflow', { variable: 'Text' }, sc);
Die UI öffnet sich und kann vom Benutzer bearbeitet werden:
let workflow = require('common/workflow'); let instance = workflow.start('agorum.testworkflows.myFirstWorkflow', { variable: 'Text' }); workflow.tokens(instance)[0];
Startet ebenso wie die Funktion start einen Workflow.
Da das System keine agorum core-Objekte anlegt, können keine Zwischenstände persistiert werden, d. h. es werden nur nicht interaktive Workflows unterstützt, die nach ihrem Start vollständig durchlaufen und alle erzeugten Tokens beenden.
Sollten entgegen dieser Vorgabe am Ende der Ausführung aktive Tokens verbleiben, bricht die Verarbeitung stattdessen mit einem Fehler ab.
Syntax
workflow.run(workflow, variables, sessionController);
Parameter
Parameter | Beschreibung | Pflicht |
---|---|---|
workflow | Definiert den zu startenden Workflow.
|
ja |
variables | Definiert Variablen, die Sie dem zu startenden Workflow übergeben möchten. Das System übergibt eine Map aus Key-Value-Paaren, wobei der Key dem Namen der Variablen entspricht und Value dem Wert der zukünftigen Variablen. |
ja |
sessionController | Parameter ist definiert Startet den Workflow mit einem alternativen sessionController, um andere Rechte zu erhalten. Parameter ist nicht definiert Startet den Workflow mit dem sessionController des Benutzers, der den Workflow gestartet hat. |
nein |
Beispiel
In diesem Beispiel wird der Workflow agorum.testworkflows.nonInteractive ausgeführt und die abschließenden Instanz-Variablen in der Variable result hinterlegt.
let workflow = require('common/workflow'); let result = workflow.run('agorum.testworkflows.nonInteractive', { variable: 'Test' });
Stellt die Tokens eines Workflows für die weitere Verarbeitung bereit
Syntax
workflow.tokens(workflowId);
Parameter
Parameter | Beschreibung | Pflicht |
---|---|---|
workflowId | Definiert die ID des Workflows. Geben Sie die UUID des Workflows an. Das System:
|
ja |
Beispiel
let workflow = require('common/workflow'); let tokens = workflow.tokens('1234-5678-90123'); tokens.forEach(token => { console.log(token); });
Liefert das Verzeichnis des Workflows, dem das übergebene Token zugehörig ist.
Syntax
workflow.instance(tokenId);
Parameter
Parameter | Beschreibung | Pflicht |
---|---|---|
tokenId | Definiert die ID des Tokens. Geben Sie die ID, UUID oder den vollständigen Pfad zum Token an. Tipp: Verwenden Sie die Funktion tokens, um die ID eines Tokens zu ermitteln. |
ja |
Beispiel
let workflow = require('common/workflow'); workflow.instance('1234-5678-90123');