Genehmigungen mit SharePoint Designer 2013 Workflows

 

Dieser Artikel ist Teil einer Serie. Hier sind die weiteren Artikel

Workflows mit SharePoint Designer – Grundlagen

Dies ist der zweite Teil der Serie über Workflows in SharePoint Designer. Nachdem ich im ersten Teil über die Grundlagen von Workflows geschrieben und einen kleinen Beispielworkflow entwickelt habe, wird es jetzt konkreter. Dieses Beispiel zeigt, wie Sie einfache Genehmigungen mit SharePoint Designer erstellen können. Dabei können Sie zuerst nur Zustimmen oder Ablehnen. Wie Sie auch weitere Status einbauen können, erläuterte ich in einem späteren Blogbeitrag.

Damit die Genehmigungen einfach gelingen, erstellt SharePoint eine Aufgabe in einer Liste, welchen dem Workflow zugeordnet ist. Wenn keine Liste dafür vorhanden ist, wird der Workflow selber eine erstellen. Sobald die Freigabe beginnt, wird der Workflow eine Aufgabe erstellen und den darin zugewiesenen Benutzer per E-Mail informieren. Die E-Mail enthält einen Link zur Aufgabe, allerdings immer nur im Ansichts (View) Modus. Das heißt, der Benutzer muss immer noch einmal klicken um die Aufgabe abzuschließen. Dies muss in der Regel geschult werden! Nach der Auswahl der Antwort können Sie im Workflow verzweigen und entsprechend darauf reagieren.

Workflow für Genehmigungen erstellen

Erstellen Sie zuerst einen 2013er SharePoint Designer Workflow, wie im vorherigen Artikel beschrieben. Fügen Sie dem Workflow drei weitere Stufen hinzu. Klicken Sie dazu unterhalb der ersten Stufe und wählen Sie Stufe aus dem Abschnitt Einfügen im Menüband. Wenn Sie in die Überschrift einer Stufe klicken, können Sie diese auch umbenennen. Fertig sollte es dann in etwa wie in der folgenden Abbildung aussehen.

2018-02-01_13h08_56

Klicken Sie jetzt in die erste Stufe und fügen Sie dort die Aktion Aufgabe zuweisen hinzu. Klicken Sie auf dieser Benutzer um die Aufgabe zu konfigurieren. Es erscheint ein Formular, in welchen Sie verschiedene Angaben machen müssen. Dabei sind Pflichtangaben leider nicht als solche gekennzeichnet. Pflicht ist der Teilnehmer und der Titel der Aufgabe. Beachten Sie bitte, dass das Feld Beschreibung die Beschreibung der Aufgabe ist, nicht der Inhalt der E-Mail die der Benutzer erhält. Wenn Sie diese anpassen möchten, gehen Sie auf E-Mail-Optionen und klicken Sie auf E-Editor öffnen.

2018-02-01_12h39_49

Klicken Sie zum Schluß auf OK. Die Aktion hat automatisch zwei Variablen erstellt:

  • Ergebnis – Diese Variable enthält den Wert, den der Benutzer beim abschließen der Aufgabe ausgewählt hat.
  • AufgabenID – Die ID des Listenelements in der Aufgabenliste. Damit kann man z.B. Kommentare nachschlagen, welche ein Benutzer während der Freigabe gemacht hat.

Wichtig ist für uns die Variable Ergebnis. Um anhand dieser Variable zu verzweigen, klicken Sie in der Stufe Stufe 1 in Übergang in Phase und fügen Sie die Bedingung Wenn ein beliebiger Wert gleich dem Wert ist ein. Fügen Sie NICHT zuerst die Aktion Gehe zu einer Stufe ein. Wenn Sie diese Aktion schon eingefügt haben, löschen Sie diese wieder. Die Bedingung läßt sich nämlich sonst nicht einfügen.

In der Bedingung wählen Sie zuerst die Variable Ergebnis aus. Klicken Sie dazu zuerst auf den ersten Link mit der Beschriftung Wert und dann auf das Formelsymbol. Im Dropdown wählen Sie nicht aktuelles Element, sondern Workflowvariablen und- parameter aus. Im Quellfeld wählen Sie Ergebnis aus. Bestätigen Sie die Auswahl mit OK. Klicken Sie im zweiten Link auf Wert und wählen Sie Genehmigt aus. Fügen Sie jetzt zweimal die Aktion Gehe zu einer Stufe ein und konfigurieren Sie diese wie in der folgenden Abbildung gezeigt.

2018-02-01_12h58_15

Natürlich können Sie im Fall Anderfalls auch Stufe 1 auswählen. Damit nerven Sie den Freigeber so lange, bis dieser aus lauter Verzweiflung zustimmt 🙂

In den jeweiligen Stufen nach der Stufe 1 können Sie jetzt auf die jeweilige Auswahl reagieren. Was Sie darin machen, bleibt Ihnen überlassen. Da in vielen Workflows der Abschluss gleich ist, egal was in der Freigabe ausgewählt wurden, gehen beide Stufen nach deren Durchlaufen zur Stufe Workflows beenden. Dort können Sie dann noch abschließende Aktionen vornehmen und den Workflow beenden. Der fertige Workflow sollte dann in etwa wie die folgende Abbildung aussehen, auf die Aktionen und Bedingungen in den nachfolgenden Stufen habe ich verzichtet.

2018-02-01_13h07_27

Natürlich können Sie dann auch in der Stufe Freigabe erfolgt eine weitere Freigabe einbauen usw. Alles in allem ist es eine recht einfache und praktische Art und Weise um Freigaben zu gestalten.

Workflows mit SharePoint Designer

Dies ist der Start einer Serie, in welcher ich verschiedene Workflows vorstelle, welche mit SharePoint Designer 2013 erstellt werden und in Projekten immer wieder auftauchen. Zum Start der Serie gibt es zuerst eine kleine Übersicht über SharePoint Workflows und SharePoint Designer generell. Die folgenden Artikel werden dann die folgenden Workflows beschreiben:

  • Genehmigungen mit SharePoint 2013 Workflows
  • Den höchsten Wert aus einer Spalte ermitteln und aus andern Listen Spalten abfragen mit SharePoint Designer 2013 Workflows
  • Eine Unterwebsite anlegen mit SharePoint Webservices

Übersicht über SharePoint Workflows

SharePoint kommt bisher mit zwei unterschiedlichen Workflow Plattformen, den 2010 und den 2013 Workflows. Die Zahl gibt dabei an, wann diese Workflows Plattformen in SharePoint gekommen sind. Beide Workflow Plattformen können auch in SharePoint 2016 und in der aktuellen SharePoint Online Plattform verwendet werden. Ich empfehle, immer wenn möglich, mit den 2013er Workflows zu arbeiten.

Die folgende Tabelle gibt einen Überblick über die wichtigsten Unterschiede und Gemeinsamkeiten beiden Plattformen.

Thema 2010 Workflows 2013 Workflows
Verfügbarkeit Nach Installation SharePoint, keine weiteren Schritte notwendig. Nach Installation bzw. Verbindung zum Workflow Manager. Sonst nicht verfügbar.
Last der ausgeführten Workflows Liegen auf SharePoint Server Installation des Workflow Managers. Dieser kann, aber muss nicht auf einem SharePoint Server installiert werden. Wenn der Workflow Manager auf einem SharePoint Server läuft, liegt dort natürlich auch die Last.
Braucht Client auf SharePoint Server Nein Ja, auf Frontendserver sofern dort nicht der Workflow Manager installiert ist.
Schleifen im Workflow Nein, bzw. extrem aufwendig Ja
Starten eines Workflows
  • Manuell
  • Änderung
  • Neuerstellung
  • Manuell
  • Änderung
  • Neuerstellung
Startreihenfolge ändern, wenn mehrere Workflows automatisch starten Nein Nein
Startformular eines Workflows Immer Nur wenn explizit gewünscht.
Deklarativ Ja Ja
Anzahl der Workflow welche  gleichzeitig starten 6 pro Sekunde/Webserver 6 pro Sekunde/Webserver
Anzahl der Workflows welche gleichzeitig in einer Inhaltsdatenbank laufen. Kommen mehr Workflows, werden diese in eine Warteschleife gelegt.

Dabei führt ein Workflow eine Aktion aus, das Warten auf den Abschluss eine Aufgabe zählt z.B. nicht dazu, allerdings das Erstellen der Aufgabe.

15 15
Transaktionssicher Nein Nein
Kompatibel mit jeweils anderer Version Nein Nein
Kann gebunden werden an
  • Liste
  • Inhaltstyp
  • Website
  • Liste
  • Inhaltstyp
  • Website

 

Einen einfachen Workflow mit SharePoint Designer erstellen

Wenn Sie einen Workflow mit SharePoint Designer erstellen möchten, so müssen Sie diesen zuerst herunterladen von https://www.microsoft.com/de-de/download/details.aspx?id=35491. Die 2013er Version ist dabei die letzte, es gibt keinen SharePoint Designer für 2016, allerdings kann der 2013er Designer für SharePoint 2016 und SharePoint Online verwendet werden. Wenn Sie auf den Rechner, auf dem SharePoint Designer installiert werden soll, schon andere Office Programme installiert haben, so muss der Designer die gleiche Bitzahl haben. Sie können also keinen 64 Bit SharePoint Designer neben einen 32 Bit Office installieren. Idealerweise haben Sie auch die gleiche Installationssprache.

Nach der Installation öffnen Sie den SharePoint Designer und verbinden sich zu Ihrer Website. Als Beispiel werde ich einen einfachen Listen-Workflow erstellen, der eine E-Mail verschickt. Natürlich muss dafür der E-Mail Versand in der Zentraladministration (on premise) konfiguriert sein. Wenn Sie SharePoint Online verwenden geht es sofort. Die nächsten Workflows werden dann komplexer 🙂

Wenn Sie sich zur Site verbunden haben, sehen Sie links eine Navigation, welche an dritter Stelle den Punkt Workflow enthält. Klicken Sie auf diesen.

2018-01-31_12h40_32

Sie sehen dann, sofern vorhanden, die auf dieser Site vorhandenen Workflows. Dabei werden auch die SharePoint Systemeigenen Workflows aufgeführt, sofern diese vorhanden sind. Um einen neuen Listen-Workflow zu erstellen, klicken Sie oben links auf Listenworkflow und wählen Sie die Liste aus in der der Workflow erstellt werden soll.

2018-01-31_12h43_04

Wenn Sie 2013er Workflows zur Verfügung haben, wird Ihnen jetzt ein Fenster gezeigt, in welchen Sie dem neuen Workflow einen Namen und eine Beschreibung vergeben können und die 2013 Plattform schon vorausgewählt ist. Natürlich können Sie im Dropdown auch die 2010er Plattform auswählen. Beachten Sie, dass Sie den Plattformtyp nachträglich nicht ändern können.

Wenn Sie keine 2013 Plattform haben, steht eben auch nur die 2010 Plattform zur Auswahl. Ich verwende beim Namen des Workflows übrigens gern die Plattform mit, damit ich im Fall der Fälle gleich weiß wo ich bei Problemen nachschauen kann. In beiden Fällen dauert es eine Weile bis Sie beginnen könnnen den Workflow zu erstellen, SharePoint Designer muss erst noch Daten vom SharePoint Server laden.

2018-01-31_12h43_16

Beispiel Workflow mit der 2010er Plattform

Im Workflow Designer haben Sie in der Menüleiste im Abschnitt Einfügen die Punkte Bedingungen und Aktionen. Die sind die Bestandteile, aus denen ein Workflow besteht. Es sollte sich jetzt ein oranger Strich im Designer befinden. Dies ist die Stelle, wo die Bedingung oder die Aktion eingefügt wird.

Klicken Sie auf Aktionen und wählen Sie die Aktion E-Mail senden aus.

2018-01-29_08h22_11

Die meisten Aktionen müssen erst noch konfiguriert werden. Dazu klicken Sie auf den blauen Link, welcher den entsprechenden Dialog öffnet.

2018-01-31_07h54_41

In der Aktion E-Mail müssen Sie einen Empfänger und einen Betreff eingeben, der Rest ist optional. Klicken Sie zum Abschluss auf OK.

Um den Workflow zu veröffentlichen, klicken Sie oben links auf Veröffentlichen.

2018-01-31_07h58_01

Wenn Sie Fehler im Workflow haben, so wird Ihnen dies mitgeteilt. Sie müssen diese zuerst korrigieren und müssen dann noch einmal veröffentlichen.

Beispiel Workflow mit der 2013er Plattform

Das Erstellen und Einfügen der Aktionen und Bedingungen ist analog eines 2010er Workflows. Allerdings sieht hier der Editor etwas anders aus.

2018-01-31_12h43_34

Sie müssen vor dem Veröffentlichen immer noch eine Aktion in den Abschnitt Übergang in Phase einfügen. Klicken Sie dazu in den Bereich Übergang in Phase und dann auf Aktion. Dort sollte es nur eine Aktion geben: Gehe zu einer Stufe. Konfigurieren Sie diese Aktion mit einen Klick auf den Link in der Aktion und wählen Sie Ende des Workflows. Anschließend können Sie ganz normal veröffentlichen.

2018-01-31_12h43_43

Sofern Sie das manuelle Starten eines Listenworkflow konfiguriert haben, können Sie den Workflow immer aus dem Kontextmenü eines Listenelementes starten. Bei SharePoint Online müssen Sie dazu in die klassische Ansicht umschalten.

 

Laufende Nummer aus einer Liste ermitteln mit Nintex Workflow

Dieser Beitrag beschäftigt sich mit einer Aufgabe aus dem Bereich Nintex Workflow, welche ich fast in jedem Projekt gestellt bekomme. Diese besteht darin, dass ich eine SharePoint-Liste habe, welche laufende Nummern enthält. Diese können z.B. verwendet werden um in einem Projektportal die Projektnummern entsprechend zu vergeben. Nur wie lese ich diese Nummern aus der Liste und wie schreibe ich diese in die Liste wenn der Zähler um eins erhöht wird? Dieser Beitrag gibt dafür eine Anleitung.

Voraussetzungen

Ich gehe im Folgenden nicht darauf ein wie in Nintex Workflow ein Workflow erstellt wird und welche Optionen dieser hat. Das würde den Rahmen dieses Beitrages sprengen. Voraussetzung ist eine Liste mit dem Namen Projektnummern und mit mindestens dem folgenden Schema:

Feldname Beschreibung
ID ID des Eintrages, wird von SharePoint verwaltet.
LaufendeNummer Dieser Wert wird von Nintex Workflow gelesen/geschrieben. Startwert ist 1000.

Außerdem gibt es noch eine Liste Projekte, welche auch ein Feld Projektnummer hat. Hier soll ein neuer Eintrag erstellt werden mit dem entsprechenden Wert.

Die Abfrage der Liste erfolgt mit CAML. „CAML (Collaborative Application Markup Language) ist eine auf XML basierende Auszeichnungssprache, die speziell für die SharePoint-Produkte (z. B. Microsoft SharePoint Foundation und Microsoft SharePoint Server) entwickelt wurde und für diese ausgelegt ist. CAML enthält Elemente zur Datendefinition und zur Abfrage und Anzeige von Daten in SharePoint-Portalen.“ Sie sollten mit der Sprache vertraut sein, auch wenn Nintex Workflow dafür einen Assistenten anbietet.

Der Workflow ist generisch folgendermaßen aufgebaut. Er enthält nicht alle Schritte der Übersichtlichkeit halber.

Workflow erstellen…

Der Workflow startet in der Liste Projekte und benötigt die folgenden Nintex Workflow Aktionen.

Name der Aktion (Englisch)

Bereich (Englisch)

Bild

Query List Libraries and lists

Collection operation Operations

Create item Libraries and lists

Der fertige Workflow sieht dann so aus.

Im Folgenden werde ich Aktionen anhand ihrer Nummern erläutern.

Aktion 1 – Query List

Diese Aktion ruft alle Werte ab, welche in der Spalte LaufendeNummer in der Liste Projektnummern stehen. Damit dies funktioniert, muss zuerst eine Variable vom Typ Collection erzeugt werden. In meinem Fall trägt diese den Namen CollNummer. Um eine Variable zu erstellen, klicken Sie auf die Nintexaktion Query List im Designer und dann im Menüband auf Variables. Anschließend
auf New und legen Sie die Variable an.
Wenn Sie schon einmal dabei sind, legen Sie eine weitere Variable vom Typ Number mit den Namen lfdNummer an.
Legen Sie außerdem eine Variable vom Typ Number mit der Bezeichnung Index an.
Die Zahlen geben den Klickpfad an.

Zurück in die Aktion Query List wählen Sie bei List die Liste Projektnummern und bei Sort die Spalte ID. Bei Field wählen Sie LaufendeNummer aus und klicken auf Add. In dem
erscheinenden Dropdown wählen Sie CollNummer.

Wenn Sie sehen wollen wie der Code aussieht und ob der Abruf funktioniert, kicken Sie auf Run now in der Menüleiste. Mit einen Klick auf Execute sehen Sie jetzt alle Einträge in der Liste.

Speichern Sie die Aktion wenn alles funktioniert.

Aktion 2 – Collection operation – Sort CollNummer

Diese Aktion ist nicht unbedingt erforderlich, dient aber der Sicherheit. Die Daten sollten eigentlich schon so geliefert werden, dass die höchste ID und damit die höchste Zahl das letzte Element in der Collection sind. Aber sicher ist sicher, also sortieren wir noch einmal. Konfigurieren Sie die Aktion wie unten gezeigt.

Aktion 3 – Collection operation – Count CollNummer

Um den letzten Eintrag abzurufen müssen wir erst wissen, wie viele Einträge die Collection hat. Dafür bietet Nintex die Methode Count an. Konfigurieren Sie die Aktion wie unten gezeigt.

Aktion 4 – Collection operation – letzte Nummer holen

Jetzt endlich können wir die letzte Nummer holen. Konfigurieren Sie die Aktion wie unten gezeigt.

Aktion 5 – Create new item in Projekte

Sie haben jetzt den Wert in der Variable und können diese entsprechend weiterbenutzen. Ich werde nur als Beispiel ein neues Element in der Liste Projekte erstellen. Konfigurieren Sie die Aktion wie unten gezeigt. Natürlich würden noch mehr Felder gefüllt werden müssen, ich habe diese aus Gründen der Übersicht weggelassen. Ebenso wäre der Projekttitel bestimmt dynamisch.

Der Workflow ist damit im Wesentlichen abgeschlossen. Man sollte jetzt auch in die Liste Projektnummern einen neuen Eintrag erzeugen um die Zahl hochzuzählen. Natürlich kann man auch die Zahlen direkt in der Projektliste verwalten, der Möglichkeiten gibt es da viele.

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular. oder schreiben Sie einen Kommentar.

Sie wollen mehr über mich erfahren? Dann stöbern Sie doch ein wenig auf dieser Site.