Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum core workflow 3.0
Dient zum programmatischen Lesen und Setzen von UI-Zuweisungen von Bearbeitern in Workflow-Knoten. Mit der assignment-Bibliothek können Sie
Wenn ein Workflow nach einem Speichervorgang nicht mehr direkt dem aktuellen Bearbeiter zugewiesen ist, navigiert die UI zu einem anderen Eintrag. Mit dem assign-Knoten wird die Zuweisung für den nächsten Schritt durchgeführt. Mit dem Skript-Knoten wird die aktuelle Token-Zuweisung, token.variables.sys_acw_assignee, gelöscht.
let assignment = require('/agorum/roi/customers/acworkflow/js/common/assignment');
| Funktion | Beschreibung | Beispiel |
|---|---|---|
| assign | Weist Berechtigungen für ein Token zu. token Definiert das Token-Objekt, dem eine Benutzergruppe von Bearbeitern, Vertretern oder Betrachtern zugewiesen wird. assignees substitutes viewers Werden assignees, substitutes oder viewers nicht angegeben (undefined), bleiben die bisherigen Werte erhalten. Wird ein leeres Array übergeben, werden die bisherigen Einträge gelöscht. |
assignment.assign(token, {
assignees: [
'group:GRP_Demo',
{
attachmentPermission: 'write',
id: 'group:d4wdr'
}
],
substitutes: [],
viewers: [],
}); |
| getAssignment | Fragt Berechtigungen für ein Token ab und gibt eine Antwort nach folgendem Muster zurück: {"viewers":[],"substitutes":[],"assignees":[{"attachmentPermission":"read","id":"group:GRP_Demo"},{"attachmentPermission":"write","id":"group:d4wdr"}]}
|
assignment.getAssignment(token) |
| upgrade | Migriert ältere Assignment-Strukturen auf die aktuelle Version. In früheren Versionen wurde die Eigenschaft viewers für Vertreter verwendet. Seit der Einführung der Vertreter-Unterscheidung heißt diese Eigenschaft substitutes. Die Funktion prüft, ob die Versionskennung version_interaction_assign vorhanden ist. Falls nicht, wird viewers in substitutes umbenannt und die Versionskennung gesetzt. parameters Das Parameter-Objekt, das migriert werden soll. Rückgabe: Das migrierte Parameter-Objekt (eine Kopie – das Originalobjekt wird nicht verändert). |
let assignment = require('/agorum/roi/customers/acworkflow/js/common/assignment');
// Alte Parameter migrieren
let upgraded = assignment.upgrade(parameters); |
Beim Zuweisen von Teilnehmern können Sie über die Eigenschaft attachmentPermission festlegen, welche Berechtigungen der Teilnehmer auf die Workflow-Anhänge erhält. Folgende Werte sind möglich:
| Wert | Beschreibung |
|---|---|
| read | Lesezugriff auf Anhänge (Standard, wenn nicht angegeben) |
| write | Schreibzugriff auf Anhänge |
| checkout | Auschecken von Anhängen erlaubt |
| protected | Geschützter Zugriff auf Anhänge |
| all | Vollzugriff auf Anhänge |
Teilnehmer können in zwei Formaten angegeben werden:
// Als String (Standard: attachmentPermission = 'read')
'group:GRP_Demo'
// Als Objekt mit expliziter Berechtigung
{
id: 'group:GRP_Demo',
attachmentPermission: 'write'
}
Hinweis: Teilnehmer müssen Benutzer- oder Gruppenobjekte sein. Wird ein einzelner Benutzer angegeben, wird intern automatisch eine Gruppe für diesen Benutzer erstellt (mit dem Namensschema GRP_acw_<UUID>).
/* global sc, sca, token, instance, outlets, inlet, parameters */
// Laden der assignment-Bibliothek
let assignment = require('/agorum/roi/customers/acworkflow/js/common/assignment');
// Laden weiterer Bibliotheken
let objects = require('common/objects');
assignment.assign(token, {
assignees: [
// assignees: [{ attachmentPermission: 'read', id: 'group:GRP_Demo' }]
'group:GRP_Demo',
{
attachmentPermission: 'write',
id: 'group:d4wdr'
}
],
// substitutes werden zurückgesetzt
substitutes: [],
// viewers bleiben erhalten
//viewers: [],
});
console.log(assignment.getAssignment(token));
// {"viewers":[],"substitutes":[],"assignees":[{"attachmentPermission":"read","id":"group:GRP_Demo"},{"attachmentPermission":"write","id":"group:d4wdr"}]}
// direkt einem Benutzer zuweisen
token.variables.sys_acw_assignee = objects.find('user:demo').UUID;
// Zuweisung zu Benutzer entfernen
//delete token.variables.sys_acw_assignee;
// Sendet das Token über das Standard-Outlet
token.leave('');