17 Stimmen

Wie aktualisiert man einen schon lange laufenden SharePoint-Workflow, der sich bereits in Produktion befindet?

Ich wurde mit der Unterstützung bei einer Phase 2 einer früheren SharePoint-Bereitstellung beauftragt.

Die ursprüngliche Bereitstellung umfasst benutzerdefinierte Arbeitsabläufe, die in Phase 2 aktualisiert wurden.
Gibt es ein "How-To" für diese Art von Situation?

Einige der Fallstricke, die wir gesehen haben, erfordern, dass Sie den ursprünglichen Arbeitsablauf so markieren, dass er keine neuen Instanzen akzeptiert, und dann seine Aktualisierung als neuen Arbeitsablauf bereitstellen. Auf diese Weise können die vorherigen Elemente die Verarbeitung unter dem alten Code beenden und alle neuen Prozesse den neuen Workflow in Gang setzen.

Ein Problem dabei ist, dass wir dann jeden Standort, an dem der ursprüngliche Workflow angehängt war, besuchen und den neuen WorkflowV2 anhängen müssten. Jetzt haben wir zwei Workflow-Statusspalten in der Dokumentenbibliothek.

Ich bin gerade erst in das Projekt eingestiegen, und das sind Probleme, die den Entwicklern aufgefallen sind.

Ich würde mich über jede Hilfe oder jeden Tipp freuen, denn ich lerne das alles erst nach und nach.

Hier sind einige Notizen von einem anderen Entwickler, der mir einige Hintergrundinformationen zu dem gibt, was er gesehen hat:

Wenn eine Version eines Workflows bereits existiert, wird der Status des bestehenden Workflows auf "Keine neuen Instanzen" gesetzt, wenn er als Feature neu bereitgestellt wird. Sie können dies feststellen, indem Sie zu einer Dokumentbibliothek gehen, an die der Workflow angehängt wurde. Wählen Sie Einstellungen -> Einstellungen der Dokumentbibliothek -> Workflow-Einstellungen -> Workflow entfernen und beachten Sie die Optionsfeldeinstellung für den Workflow. Alle aktuellen, in Arbeit befindlichen Instanzen des Workflows werden weiterhin wie gewohnt abgeschlossen, aber diese Einstellung verhindert neue Instanzen des Workflows.

Sobald die zweite "Version" desselben Workflows bereitgestellt wurde, müssen Sie jede Dokumentenbibliothek, mit der der Workflow verknüpft werden soll, erneut besuchen und den Workflow erneut hinzufügen, als wäre es ein neuer Workflow. Sie müssen ihm einen eindeutigen Namen geben, z. B. "MeinWorkflow_v2". Der andere Nebeneffekt ist, dass Sie jetzt 2 Workflow-Statusspalten in der Dokumentenbibliothek haben. Sie können die erste Spalte entfernen/ausblenden, sobald alle Instanzen des Workflows abgeschlossen sind und der Status nicht mehr benötigt wird.

Wenn Sie den Workflow erneut bereitstellen und dabei dieselben Feature- und Manifest-XML-Dateien verwenden, wird die interne GUID dieselbe sein, die bei der ersten Bereitstellung verwendet wurde. SharePoint erkennt dies als eine zweite "Version" desselben Workflows und setzt die erste Version automatisch auf den Status "Keine neuen Instanzen". Wenn Sie jedoch eine andere GUID in den XML-Dateien verwenden, wird SharePoint dies als Bereitstellung eines völlig neuen Workflows betrachten und nichts mit den vorhandenen Instanzen tun. Sie müssen jede Instanz in jeder Dokumentenbibliothek manuell auf die Einstellung "Keine neuen Instanzen" setzen.

Nach der erneuten Bereitstellung der zweiten "Version" des Workflows müssen Sie immer noch manuell jede Dokumentenbibliothek besuchen, in der er verwendet werden soll, und ihn der Dokumentenbibliothek hinzufügen. Denken Sie daran, dass der Name der Workflow-Vorlage in der Liste der Workflow-Vorlagen so erscheint, wie er in den XML-Dateien benannt ist (was in Ordnung ist), aber sobald Sie ihn hinzufügen, müssen Sie einen eindeutigen Namen für den Workflow eingeben. An dieser Stelle müssen Sie etwas wie "Workflow_v2" als neuen Namen wählen.

Die Aktion "Zurückziehen" entfernt alle Instanzen der Features innerhalb der Lösung, speziell für meine Workflow-Anwendung entfernt sie alle Instanzen des Workflows aus allen Dokumentbibliotheken, mit denen er verknüpft war. Im Fall von Wenn ein Benutzer nach dem Zurückziehen der Lösung auf ein Aufgabenelement klickt und erwartet, dass er die Signaturseite erhält, wird stattdessen eine SharePoint-Seite mit dem Titel "Unbekannter Fehler" angezeigt, sobald der Workflow eine Aufgabe erstellt hat. Der Grund dafür ist, dass beim Zurückziehen der Workflow aus der Datenbank entfernt wurde und kein Workflow mehr mit der Aufgabe verknüpft ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X