Mea Culpa — SharePoint Designer * kann Statuscomputerworkflows erstellen

Ich habe vor kurzem erfahren, dass es möglich und sogar ziemlich einfache Erstellung ein Statuscomputerworkflows, der mithilfe von SharePoint Designer. Notwendigkeit ist die Mutter der Erfindung und alles, was gute Sachen und ich hatte ein Bedürfnis diese Woche, das für eine Erfindung sah. Zufälligerweise, Stieß ich auf in diesem MSDN-Forum post sowie. Meine persönliche Erfahrung diese Woche und die unabhängige Bestätigung"" verleiht Kraft, meine Überzeugung. Ich habe vor, darüber zu schreiben, ausführlicher mit einem ausgewachsenen Beispiel, aber hier ist das wesentliche:

  • Das Konzept nutzt die Tatsache, dass ein Workflow ein Listenelement ändern können, auslösen und damit einen neuen workflow. Ich habe normalerweise betrachtet dies störend und sogar mit Semaphoren gebloggt damit umgehen.
  • SharePoint ermöglicht mehrere unabhängige Workflows gegen ein bestimmtes Listenelement wirksam.

Um ihn zu konfigurieren:

  • Entwerfen Sie Ihre State-machine (d.h., die Staaten und Staaten wie von einem zum nächsten Übergang).
  • Jeder Staat als eigenen Workflow implementieren.
  • Konfigurieren Sie jeden dieser Zustand-Workflows in Reaktion auf Änderungen im Listenelement ausführen.

Jeder Workflow Status folgt diesem groben Muster:

  • Bei der Initialisierung, Prüfen Sie, ob sie wirklich ausgeführt werden soll durch Überprüfen der Zustandsinformationen an den "aktuellen Titel". Abbrechen, wenn nicht.
  • Die Arbeit.
  • Update des aktuellen Elements"" neue Informationen über. Dies löst eine Aktualisierung auf das aktuelle Element und feuert die Zustand-workflows.

Abgesehen von den offensichtlichen nutzen kann, dass man einen deklarativen Statuscomputerworkflow erstellen., alles, das Statusinformationen für den Aufbau von KPIs und interessante tolle views.

Es hat einen relativ hohe Nachteil haben. — standard workflow history tracking is even more useless than normal 🙂 That’s easily remedied, jedoch. Speichern Sie alle Ihre Audit-Typinformationen in einer benutzerdefinierten Liste. Das ist wahrscheinlich eine gute Idee auch für Vanille sequenziellen workflow, but that’s for another blog post 🙂

Ich nenne dies ein "Mea culpa" denn ich habe, Leider, mehr als einmal gesagt in Foren und anderswo muss, dass man visual Studio verwenden, um einen Statuscomputerworkflow erstellen. Das ist einfach nicht wahr.

</Ende>

Onnieren Sie meinen Blog ab.

Technorati Tags:

4 Gedanken zu „Mea Culpa — SharePoint Designer * kann Statuscomputerworkflows erstellen

  1. Jaustral schrieb:
    Hallo Paul,
    wie viele Staaten haben Sie tun? Erhalte ich nur zwei verschiedene aktive Workflows zu haben, wenn ich auf die Workflow-Einstellungen-Seite gehen?
    Best,
    Juan.
    Antwort
  2. Sanjeev Rajput
    Ich würde gerne die vollständige Beispiele lesen. Hoffentlich kann einer von euch helfen, einige Alpträume zu klären, habe ich mit meinem ähnlichen Prozess haben. Ich bin an dem Punkt, wo ich bereit zum Starten von frisch bin.
    Antwort
  3. Paul Galvin
    Das ist ein wirklich interessanter Ansatz setzt Ausrufezeichen zeigen auf dem größeren Punkt, dass die SPD Statuscomputerworkflows erstellen können.
    Ich weiß nicht, ob erhebliche Unterschiede bietet was Sie gliedern und was ich darlegen. In meinem Fall diese Woche, Leistung ist kein Problem, weil dieser bestimmten Workflow eine langwierige Angelegenheit ist (16 oder mehr Wochen von Anfang bis Ende) und es gibt nie mehr als ein paar Dutzend aktiv jederzeit. Gäbe es ein paar Dutzend starten und jede Stunde ausgeführt … Das wäre eine andere Geschichte. Ich denke, dass Leistung und Workflow ist im Allgemeinen ein sehr diesig Thema.
    Ich weiß nicht, ob Sie Ihren eigenen Blog oder nicht ausführen. Falls du dies tust, Sie sollten schriftlich über Ihr Konzept genauer überlegen. Wenn nicht, Ich wäre mehr als glücklich, dich anzurufen "Gast-blogger" und laden Sie Ihren Beitrag auf meinem blog.
    Danke für den Kommentar. Es ist eines der besten, die ich in der Lage zu entlocken gewesen auf meinem blog!
    –Paul G
    Antwort
  4. Mike Atkins
    Ich habe implementiert eine separate Liste verwenden, um den Zustand zu halten, während die Zustandsübergänge State-machine. Der Haupt-Workflow erstellt ein Element hier und legen Sie den ursprünglichen Zustand. Ich habe eine einzige, separate, Workflow, alle Zustände behandeln, mithilfe einer "IF-THEN-ELSEIF" Struktur (in "Schritt 1") auf die möglichen Zustände.
    Für die einzelnen Zustände, alles, was ich tun musste, war eine Antwort von einem Benutzer zu erhalten.
    Mein Beispiel war ein mehrstufiges sequenzielle Genehmigung, wo jeder Schritt (vertreten durch einen Zustand) verschiedene mögliche Nachfolger hätte. Dies bedeutete, dass jeder Benutzer (potenziell) verschiedene Optionen in einem Auswahl-Menü zur Verfügung gestellt. Meine "Schritt 2" war auch ein "IF-THEN-ELSE" Struktur, die alle möglichen Reaktionen betrachtet (aus allen Phasen), und dann beschlossen was der nächste Status sein sollte. "Schritt 3" Legen Sie dann dieses Staates, und der Workflow beendet.
    Diese Methode hat die (offensichtlich) Vorteil des Geschehens innerhalb einer einzelnen (sekundäre) Workflow. Jedoch, der Gültigkeitsbereich was könnte, in diesem Workflow erreicht werden ist begrenzt, dass man mit Workflows für die einzelnen Zustände haben würde. Ich wunderte mich, jedoch, welche Art von Leistung schlagen findet statt, wenn alle einzelnen Staat-Workflows starten (Wenn auch unmittelbar danach endet).
    Auch, Ich benutze eine sekundäre Liste (mit eigenen workflow) um den Übergang zwischen Zuständen darzustellen, wie dieser Prozess möglicherweise nur ein Teil eines größeren Workflows. Wann startet der Haupt-Workflow die Zustand-Maschine, Es geht in den Wartezustand, und wird fortgesetzt, wenn die "Schleifen" hat termintaed. Ich war auch die Möglichkeit in Erwägung, die meine Haupt-Workflow können auch Daten in der ursprünglichen Listenelement ändern, und ich wollte vermeiden, dass unnötige "Entlassungen" die Statuscomputerworkflows.
    Antwort

Hinterlasse eine Antwort

Deine Email-Adresse wird nicht veröffentlicht. erforderliche Felder sind markiert *