2

Es gibt eine Anforderung in meinem Projekt, wo ich eine Option implementieren sollte, wo ein Benutzer den Workflow dynamisch ändern kann, d. H. Zur Laufzeit. Um genauer zu sein, wenn ein Arbeitsablauf eine Reihe von Aktivitäten durchläuft, sagen wir Aktivitäten A, B und C. Dann sollte der Benutzer eine Option haben, den Fluss wie z. anstatt von A-> B-> C zu gehen, können sie direkt A-> C überspringen B. Und diese Änderung im Fluss sollte in Laufzeit passieren.Dynamisches Update des laufenden WF 4.0-Workflows

Es gibt mehr als 3 Aktivitäten (A, B, C oben erwähnt) die Aktivitäten können bis 20-30 gehen, und der Benutzer sollte eine Option haben, von gehen zu einer der Aktivitäten gehen, oder Sie können das sagen Der Benutzer sollte eine Option zum Bearbeiten des Ablaufs zur Laufzeit haben.

Bitte helfen Sie mir damit, ist diese Option in der Windows Work Foundation (WF) verfügbar.

Vielen Dank im Voraus

Antwort

2

Zur Zeit können Sie mit WF4 die Workflow-Definition einer laufenden Workflow-Instanz nicht ändern. Entweder müssen Sie den Workflow ändern, bevor Sie ihn starten, oder Sie können mögliche Änderungen am Workflow mithilfe der bedingten Logik im Workflow selbst modellieren.

Die nächste Version des Workflows unterstützt Änderungen an laufenden Workflows, aber wann diese verfügbar sein werden, ist unbekannt. Erwarte es nicht so bald.

1

Capture the Benutzer Entscheidung in einer Weise, dass der Workflow darauf zugreifen können, dann eine IfElse Aktivität verwenden, um zu entscheiden, ob Sie Aktivität B ausführen oder nicht.

Dies ist nur normale Workflow-Modellierung, es sei denn, ich verstehe Ihre Frage völlig falsch.

Bearbeiten: Als Antwort auf Ihren Kommentar ist es wahrscheinlich möglich, eine Lösung für diese Anforderung zu finden, aber es wäre ziemlich hässlich, weil es den Zweck der Workflow-Engine besiegt.

Wenn Sie einen Workflow wie einen Einkaufskorb für Benutzer behandeln, wo sie einfach alles auswählen kann, was sie mag, dann ist es kein Workflow mehr. Zumindest sollte es einige kohärente Schritte geben, die keinen Sinn machen zu stören. Vielleicht macht es Sinn, diese in separate Workflows zu legen und den Benutzer entscheiden zu lassen, welchen Workflow sie als nächstes machen möchte.

+1

Ja, Sie haben es falsch gemacht, es gibt mehr als 3 Aktivitäten (A, B, C oben erwähnt) die Aktivitäten können bis 20-30 gehen, und der Benutzer sollte eine Option haben, gehen zu einer der Aktivitäten gehen, oder Sie können sagen, dass Benutzer eine Option haben sollten, um den Fluss zur Laufzeit zu bearbeiten. – Everest

0

Ich würde darüber nachdenken, 1 Funktor pro Aktivität zu machen und die Aktivitäten zu speichern, um sie auf einer Liste auszuführen. Diese Liste wird zur Laufzeit geändert. Der "Kern" müsste nur die Liste parsen und die Funktoren ausführen.