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>