Workflows sind wie alles andere auf der Nuxeo Platform vollständig mit Nuxeo Studio konfigurierbar. Dies ist wirklich großartig, da die Workflow Engine über eine wahnsinnige Flexibilität und Erweiterbarkeit verfügt und Sie dies mit Studio mit minimalem Aufwand nutzen können. Neulich wurde ich gefragt, ob es möglich ist, einen Kommentar-Feed direkt in einen Workflow zu integrieren, damit Teilnehmer nach jeder Durchführung einer Aufgabe einen Kommentar hinzufügen und auf ältere Kommentare zugreifen können. Natürlich ist dies möglich und interessanterweise dauert die Konfiguration nicht länger als 5 Minuten.
Workflow Kommentar-Feed
Zunächst muss eine Workflow-Variable zum Speichern der Kommentare konfiguriert werden. Hier müssen wir unserer Workflow-Definition lediglich eine mehrwertige String-Eigenschaft hinzufügen. Nennen wir sie “comments”.
Editor für Workflow-Variablen
Als nächstes müssen wir eine Kommentar-Variable in jeder Workflow-Aufgabe definieren, in der beauftragte Mitarbeiter die Möglichkeit haben sollen, einen Kommentar einzugeben. Hier müssen wir lediglich eine einfache String-Eigenschaft hinzufügen, die wir “comment” nennen.
Editor für Node-Variablen
Danach können wir das Aufgaben-Layout in gleicher Weise konfigurieren, wie wir Layouts für Contentarten konfigurieren. Hierfür können wir ein schreibgeschütztes Listen-Widget für die “comments” Workflow-Variable und ein Textbereich-Widget für den Aufgabenkommentar verwenden.
Editor für das Aufgabenformular
Als fehlendes Teil des Puzzles müssen wir nun den Aufgabenkommentar in den Workflow Kommentar-Feed einfügen, sobald die Aufgabe durch den beauftragten Mitarbeiter erledigt wurde. Wenn Sie mit der Nuxeo Platform vertraut sind, war Ihnen wahrscheinlich bereits klar, dass dies automatisch geschehen wird. Alles was wir dafür benötigen, ist eine Ausgabekette, die den Aufgaben-Kommentar an den Workflow Kommentar-Feed anhängt.
Konfiguration der Aufgaben-Ausgabekette
Konfiguration der Automatisierungskette - Context.FetchDocument - Context.SetWorkflowVar: name: comments value: "@{Fn.concatenateIntoList(WorkflowVariables[\"comments\"], [\"\"+CurrentUser.actingUser+\": \"+NodeVariables[\"comment\"]])}"
Das war’s dann schon! Unser Workflow besitzt jetzt einen Kommentar-Feed!