In Richtung SharePoint technische Design-Patterns: SharePoint Designer-Workflows + Ereignisempfänger = hohe Potenz-Cocktail

Eines der neuen Muster finde ich in handwerklichen SharePoint-Lösungen nutzt SharePoint Designer-Workflow und einen Ereignisempfänger.

Hier ist ein Business-Szenario um es im Kontext:

  • Ich Hochladen eines Dokuments in ein Doc-lib.
  • Ich kick-off mehrstufigen Workflows mit SharePoint Designer erstellt.
  • An einem gewissen Punkt während dieses Vorgangs, Workflow eine Aufgabe zugewiesen jemand (über Daten von Benutzer sammeln oder eine Aufgabe zuweisen).
  • Wir wollen einen KPI nutzen um zu verfolgen, wie lange diese Aufgabe Vollendung wartet. Der KPI zeigt grün für Vorgänge, die abgeschlossen sind oder wegen mehr als 3 nach diesen Tagen. Es zeigt gelb, wenn die Aufgabe Morgen oder heute fällig ist. Es zeigt rot, wenn die Aufgabe bereits überfällig ist..
  • Hier ist die kicker: Ich will das Datum, an dem die KPI Urlaub-bewusst sein-Laufwerke.

Ich kann kein Urlaub bewusst aufgrund berechnen Datum in SharePoint Designer-Workflows sehr einfach. Hätte ich eine benutzerdefinierte Aktion erstellen oder verwenden Sie eine 3rd-Party-tool. Jedoch, Es ist leicht genug, um solch ein Datum in einen Ereignisempfänger berechnen. Diese beiden zusammengeführt und wir bekommen ein Muster wie folgt:

  • Definieren Sie einen versteckten ja/keine Websitespalte auf die Dokumentbibliothek mit der Bezeichnung "DoCalcualteDueDate".
  • Initialisieren Sie es auf false.
  • Zu gegebener Zeit in den workflow (zB. kurz vor der "Erhebung von Daten" Aktion), Weisen Sie diesen Wert auf True.
  • Ein ItemUpdate() Ereignis-Empfänger sieht zu um sehen, ob "DoCalculateDueDate" stimmt. Da der Ereignisempfänger auf jedes Update ausgeführt wird, "DoCalculateDueDate" normalerweise stimmt.
  • Wenn der Workflow weist DoCalculateDueDate auf true, der Ereignisempfänger berechnet der Urlaub bewusst wegen Datum.
  • Wenn der Ereignisempfänger wird diese Berechnung, Es wird das DoCalculateDueDate-Flag auf false festgelegt.

Am Ende, SPD-Workflow wird mit einen Ereignisempfänger über das Semaphor DoCalculateDueDate kommuniziert und wir haben Urlaub-bewusst aufgrund Termine die im genau richtigen Moment in den Workflow Leben zugewiesen sind. SharePoint Designer-steuert, wann das Fälligkeitsdatum wird zugewiesen, sondern der Ereignisempfänger die eigentliche Berechnung und Zuweisung führt.

</Ende>

Onnieren Sie meinen Blog ab.

Hinterlasse eine Antwort

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