Erstellen eines SharePoint Designer 2013-Workflows mit der Funktion „App-Schritt“ (Ergänzung des Beispielworkflows für SPC 2012)
Veröffentlichung des Originalartikels: 22.11.2012
Hallo, mein Name ist JongHwa Lim, und ich arbeite als Programm Manager im SharePoint Designer-Team.
Heute werde ich Ihnen einen Beispielworkflow zeigen, der bei der SharePoint-Konferenz 2012 (SharePoint Conference 2012, SPC 2012) vorgestellt wurde. Außerdem werde ich in diesem Blogbeitrag Änderungen und Ergänzungen am Beispielworkflow vornehmen, um ein realistischeres Szenario nachzubilden. Dieser Blogartikel enthält einige Tipps, die Sie beim Erstellen eines Workflows mit SharePoint Designer 2013 (SPD 2013) einsetzen können. Bei der Erklärung der Details werde ich davon ausgehen, dass Sie mit den Workflows von SharePoint Designer 2013 und SharePoint 2013 vertraut sind. Sollte dies nicht der Fall sein, lesen Sie bitte die Informationen zu den SharePoint 2013-Workflows in den vorherigen Blogartikeln.
Workflow für einen Anbieter von Freizeitveranstaltungen
Nehmen wir einmal das Freizeitunternehmen Contoso Leisure als Beispiel, das Kurse für Freizeitaktivitäten wie Reiten, Angeln, Tontaubenschießen, Gleitschirmfliegen und Fallschirmspringen anbietet.
Nehmen wir außerdem an, dass wir einen Genehmigungsworkflow mit den folgenden Eigenschaften erstellen möchten:
- Anfordern der Genehmigung von der SharePoint-Gruppe „Event Coordinator“ (Koordinator der Veranstaltung)
- Im Fall der Ablehnung: Senden einer Ablehnungs-E-Mail an den Kunden
- Im Fall der Genehmigung: Senden einer Erinnerungs-E-Mail für die Veranstaltung 5 Tage vor der Veranstaltung bzw. dem Kurs
- Die Erinnerungs-E-Mail enthält Informationen zur Veranstaltung, etwa Wetterinformationen und eine Karte mit Wegbeschreibung.
In diesem Workflowbeispiel werden wir zwei Webdienste verwenden, aber nur ein Webdienst wird über die in SPD verfügbare Aktion „HTTP-Webdienst aufrufen“ verarbeitet. Der andere Webdienst wird durch einen Verweis in einer Zeichenfolgenvariablen und ein <IMG>-Tag im Textkörper der E-Mail eingebunden. Weitere Informationen finden Sie auf der Seite zum Bing Map-API: https://www.microsoft.com/maps/developers/web.aspx.
Wenn Sie den Workflow selbst erstellen, sieht der resultierende Workflow wie folgt aus.
Bitte beachten Sie, dass die Workflowphase „Get Weather Info“ (Wetterbericht abrufen) eine „HTTP-Webdienst aufrufen“-Aktion umfasst und Sie mit einem Klick auf den ersten Parameter einsehen können, dass die folgende URL verwendet wird. Der Schlüssel für den Webdienst wird hierbei in der separaten Liste „Web Service Keys“ (Schlüssel für Webdienste) gespeichert. HyongGuk Kim hat die Aktionen „Webdienst“ und „Element aus Wörterbuch abrufen“ sowie den Schleifencontainer in einem früheren Blogbeitrag beschrieben. In diesem Beitrag erfahren Sie außerdem, wie Sie diese verwenden: https://blogs.technet.com/b/office_de/archive/2012/10/11/verwenden-der-aktion-call-http-web-service-zum-arbeiten-mit-webdiensten.aspx.
Wenn Sie in der Phase „Send Reminder Email“ (Erinnerungs-E-Mail senden) auf „Workflowvariable festlegen“ klicken, sehen Sie, dass diese den Schlüssel oder das Token für den Webdienst ebenfalls in der Liste „Web Service Keys“ speichert.
Realistischeres Szenario
In einem realen Szenario müssen Sie die Schlüssel für die Webdienste möglicherweise sicher verwalten. Hierzu müssen Sie sie absichern, indem Sie sie in einer Liste speichern, auf die nur Benutzer mit der Berechtigungsstufe „Vollzugriff“ zugreifen können. In diesem Fall würde könnten jedoch die Schlüssel für die Webdienste nicht mit der Workflow-Standardlogik aufgerufen werden, da für die Ausführung die Berechtigung des Workflowinitiators und (logisches UND) die Berechtigung der Workflow-App verwendet werden. Wenn also der Workflowinitiator nicht auf die Liste mit den Schlüsseln zugreifen kann, schlägt der Workflow fehl. Damit die Workflow-Logik allein mit der Workflow-App-Berechtigung (Lese-/Schreibzugriff auf Websitelisten) ausgeführt werden kann, müssen Sie einen App-Schritt verwenden.
Schritt 1: Erhöhen der Sicherheit der Liste mithilfe einer unabhängigen Berechtigung
Wie ich oben bereits erläutert habe, müssen Sie sicherstellen, dass nur Benutzer mit „Vollzugriff“-Berechtigung auf die Liste mit den Schlüsseln für die Webdienste zugreifen können. Hierzu müssen Sie die Vererbung von Berechtigungen beenden und nicht mehr benötigte Benutzer aus der Liste entfernen.
Nehmen wir einmal an, die Liste hat den Namen „Web Service Keys“. Wählen Sie Einstellungen und dann die Seite Berechtigungen für diese Liste aus, um das Menü zum Beenden der Vererbung zu sehen.
Nachdem Sie die Vererbung von Berechtigungen beendet haben, können Sie die Benutzer ohne „Vollzugriff“-Berechtigung wie unten gezeigt auswählen und auf die Schaltfläche Benutzerberechtigungen entfernen klicken.
In der Liste werden nun nur noch Benutzer mit Vollzugriff aufgeführt.
Schritt 2: Aktivieren des „App-Schritt“-Features
Damit Sie App-Schritte verwenden können, müssen Sie das Feature Workflows können Appberechtigungen verwenden wie unten gezeigt unter Websiteeinstellungen->Websitefeatures verwalten aktivieren.
Nun wird in SPD die Schaltfläche App-Schritt angezeigt.
Schritt 3: Hinzufügen des App-Schritts und Integrieren der Logik in den Schritt
Sie müssen die Elemente der Logik finden, die auf die Liste „Web Service Keys“ verweisen, und diese in einen App-Schritt-Container aufnehmen. In diesem Fall müssen Sie zwei Logikelemente in einen App-Schritt integrieren: die Aktion „HTTP-Webdienst aufrufen“ und die Aktion zum Festlegen der RouteMap-Variablen. Sehen Sie hierzu die folgenden Abbildungen:
Schritt 4: Veröffentlichen des Workflows
Wenn Sie Ihren Workflow veröffentlichen, wird das folgende Dialogfeld mit Informationen zum Verhalten angezeigt.
Ich hoffe, dass Sie diesen Artikel als hilfreich empfunden haben und nun App-Schritte korrekt verwenden können. Bis zum nächsten Mal!
Es handelt sich hierbei um einen übersetzten Blogbeitrag. Sie finden den Originalartikel unter How to Create a SharePoint Designer 2013 Workflow with App Step (extension from the example workflow used for SPC 2012).