Genehmigungen mit mehr als zwei Auswahlmöglichkeiten erstellen in SharePoint Designer Workflows

 

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

Workflows mit SharePoint Designer – Grundlagen
Genehmigungen mit SharePoint Designer 2013 Workflows
Den höchsten Wert aus einer Spalte ermitteln und aus andern Listen Spalten abfragen mit SharePoint Designer 2013 Workflows
Ein Subweb anlegen mit Webservices und SharePoint Designer Workflows

Dies ist der fünfte Teil der Serie über Workflows in SharePoint Designer. Er ist verwandt mit dem Artikel zum Erstellen von Genehmigungen in SharePoint Designer. In diesem Artikel habe ich gezeigt, wie Sie einfach eine Genehmigung erstellen können und dort zwischen Zustimmung und Ablehnung wählen können. Oft ist allerdings mehr als das notwendig, z.B. eine Auswahlmöglichkeit für eine Rückfrage. Dieser Artikel zeigt, wie Sie die Auswahlmöglichkeit für Genehmigungen in SharePoint Designer Workflows erweiterten können.

Wenn im SharePoint Designer eine Genehmigung gestartet wird, wird in einer Aufgabenliste für einen Benutzer eine Aufgabe erstellt und diese dem Benutzer zugewiesen. Dabei ist der Inhaltstyp der Aufgabe Workflowaufgabe (SharePoint 2013). Die Spalte, welche die Optionen für die Aufgabe anbietet, heißt Ergebnis der Aufgabe. Den originalen Inhaltstyp anzupassen empfiehlt sich nicht, besser ist es einen eigenen, neuen Inhaltstyp zu erstellen. Gehen Sie dazu in die Root der Sitecollection, in welcher Sie die Änderung durchführen wollen, gehen in die Websiteeinstellungen und dort in die Inhaltstypen. Klicken Sie auf Erstellen und geben Sie dem neuem Inhaltstyp einen Namen. Erben Sie den Inhaltstyp wie unten gezeigt.

2018-05-29_11h50_26

Erstellen Sie im neuen Inhaltstyp eine neue Websitespalte vom Typ Ergebnisauswahl und geben Sie dort die gewünschten Werte an.

2018-05-29_11h50_40

2018-05-29_11h50_54

Danach muss noch der neue Inhaltstyp der Aufgabenliste zugeordnet werden. Starten Sie danach den SharePoint Designer neu und gehen Sie in die Aktion Aufgaben zuweisen. In den Ergebnisoptionen können Sie jetzt den neuen Inhaltstyp und auch das neue Feld auswählen. Der Wert der Auswahl wird wieder in der Variable gespeichert, wobei dies nummerische Werte sind. Der erste Eintrag ist dabei 0. Die Auswahl Rückfrage aus dem Beispiel oben hat also den Wert 2. In einer Verzweigung können Sie jetzt auch wieder darauf reagieren.

Haben Sie diese Anforderung schon einmal gehabt? Oder eine andere Frage mit SharePoint Designer? Dann schreiben Sie einen Kommentar!

2018-05-29_11h51_06
Haben Sie diese Anforderung schon einmal gehabt? Oder eine andere Frage mit SharePoint Designer? Dann schreiben Sie einen Kommentar!

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 meine Leistungen erfahren? Dann klicken Sie hier.

Ein Subweb anlegen mit Webservices und SharePoint Designer Workflows

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

Workflows mit SharePoint Designer – Grundlagen
Genehmigungen mit SharePoint Designer 2013 Workflows
Den höchsten Wert aus einer Spalte ermitteln und aus andern Listen Spalten abfragen mit SharePoint Designer 2013 Workflows
Genehmigungen mit mehr als zwei Auswahlmöglichkeiten erstellen in SharePoint Designer Workflows

Dies ist der vierte Teil der Serie über Workflows in SharePoint Designer. Diesmal möchte ich zeigen, wie man einen Webservice in SharePoint Designer 2013 nutzen kann um damit ein neues Subweb zu erstellen. Natürlich kann man, wenn man das Prinzip einmal verstanden hat, auch andere Webservices nutzen um Aktionen zu ermöglichen, welche von Haus aus mit SharePoint Designer nicht möglich sind.

Grundlagen

Um einen Webservice in SharePoint Designer nutzen zu können, müssen einige Voraussetzungen erfüllt sein.

  • Die Dienstanwendung Benutzerprofildienst (User Profil Service) muss installiert, korrekt konfiguriert und die Person, welche den Workflow ausführt, muss in diesen synchronisiert sein. Ist dies nicht der Fall, erhalten Sie beim Ausführen des Workflow den Fehler, dass der Zugriff verweigert wurde. Natürlich muss auch der Service als solcher laufen.
  • Der App Management Service muss laufen und die dazugehörige Dienstanwendung muss erstellt sein.
  • Der Benutzer, welcher den Workflow veröffentlicht, muss mind. Full Control für die Website besitzen auf die der Workflow veröffentlicht wird. Natürlich kann er auch Site Collection Administrator sein.

Im Workflow wird eine Aktion verwendet, welche Sie sicher bisher nicht so oft verwendet haben. Es ist dies die Aktion Wörterbuch erstellen (Create Dictionary). Ein Wörterbuch ist im Wesentlichen eine Tabelle, welche Variablen speichert. Benötigt wird dies, da ein Webservice beim Aufrufen verschiedene Parameter benötigt, in unserem Fall z.B. welche Vorlage soll das neue Subweb haben, wo soll es sich befinden, wie soll es heißen etc. Außerdem benötigt ein HTTP(S) Aufruf auch noch Parameter als solche. Diese Werte/Parameter werden in einem Wörterbuch gesammelt und dann dem Aufruf mit übergeben. Es ist auch durchaus üblich, dass ein Wörterbuch in ein anderes Wörterbuch verschachtelt ist. Der Webservice liefert seine Ergebnisse auch i.d.R. in Form eines Wörterbuches zurück, dieses können Sie mit der entsprechenden SharePoint Designer Aktion auch auslesen. Oder für den etwas versierten Nutzer: Wir übergeben die Werte in JSON und erhalten Werte als solche zurück.

Den Workflow entwickeln

Um den Workflow zu entwickeln, erstellen Sie einen neuen 2013er Workflow in SharePoint Designer. Wie benötigen als erstes ein paar Variablen, welche wir mit einem Klick auf Lokale Variablen oben rechts erstellen. Es sind dies die folgenden Variablen mit der folgenden Bedeutung:

Name Bedeutung Typ
RequestURL Die URL, die den Webservice aufruft. Die ist typischerweise das aktuelle Web zzgl. der URL des Webservices. In unserem Fall ist die URL des Webservice /_api/web/webinfos/add.

Beispiel:

httpS://mandant.sharepoint.com/sites/Team1/_api/web/webinfos/add

Zeichenfolge
Title Der Titel des neuen Subwebs Zeichenfolge
Description Die Beschreibung des neuen Subwebs. Zeichenfolge
SiteURL Die URL des neuen Subwebs Zeichenfolge
SiteTemplate Die Vorlage des neuen Subwebs. Eine Teamsite ist STS#0. Zeichenfolge
Language Die Sprache des neuen Subwebs. Für Ihre Sprach-ID siehe hier: https://msdn.microsoft.com/en-us/library/ms912047(v=winembedded.10).aspx Zahl
UseUniquePermissions Soll das Subweb eigene Berechtigung haben? In unserem Fall ist der Wert Nein/No Bool

Fügen Sie die Aktion Workflowvariable festlegen mehrmals hinzu und konfigurieren Sie diese entsprechend.

2018-04-30_09h36_58

Fügen Sie anschließend vier Mal die Aktion Wörterbuch erstellen ein. Konfigurieren Sie die Aktionen wie unten gezeigt. Die Tabellen enthalten dabei die Variablen innerhalb der Wörterbücher. Sie müssen dafür noch vier Variablen mit dem Typ Wörterbuch erstellen. Die Namen der Variablen innerhalb der Wörterbücher müssen mit den unten gezeigten identisch sein. Wie Sie auf die schon vorhandenen Variablen zugreifen können, wurde in den vorherigen Artikeln erläutert.

Wörterbuch requestHeaders

Name Typ Wert
Accept Zeichenfolge application/json;odata=verbose
Content-Type Zeichenfolge application/json;odata=verbose

Wörterbuch metadata

Name Typ Wert
Type Zeichenfolge SP.WebInfoCreationInformation

Wörterbuch parameters

Name Typ Wert
__metadata Wörterbuch Variable: metadata
Url Zeichenfolge Variable: SiteURL
Title Zeichenfolge Variable: Title
Description Zeichenfolge Variable: Description
Language Zeichenfolge Variable:Language
WebTemplate Zeichenfolge Variable: SiteTemplate
UseUniquePermissions Bool Variable :UseUniquePermissions

Wörterbuch requestDictionary

Name Typ Wert
parameters Wörterbuch Variable:parameters

Fügen Sie jetzt die Aktion HTTP Webdienst aufrufen hinzu.

2018-04-30_09h38_17

Klicken Sie auf dieses und konfigurieren Sie die Aktion wie unten gezeigt.

2018-04-30_09h37_14

Klicken Sie auf Anforderung und wählen Sie Variable:requestDictionary aus. Zeigen Sie anschließend auf die Aktion, klicken auf das DropDown und wählen Eigenschaften.

2018-04-30_09h37_29

Im Feld RequestHeaders wählen Sie Variable:requestHeaders und bestätigen das mit OK.

2018-04-30_09h37_42

Der Workflow ist damit im Prinzip fertig, wenn Sie diesen aber ausführen werden Sie eine Zugriff verweigert Meldung erhalten. Der Grund dafür ist, dass Sie den Workflow erst noch entsprechend berechtigen müssen. Dazu muss die Aktion HTTP Webdienst aufrufen in einem App Schritt ausgeführt werden. Sie finden diesen App Schritt in der Gruppe Einfügen im Menüband. Diese Aktion ist allerdings mit einiger Wahrscheinlichkeit ausgegraut.

2018-04-30_09h37_56

Damit Sie dies nutzen können, sind weitere Schritt notwendig, nachdem der Workflow mind. einmal veröffentlicht wurde. Der folgende Artikel beschreibt das Vorgehen sehr anschaulich: https://docs.microsoft.com/de-de/sharepoint/dev/general-development/create-a-workflow-with-elevated-permissions-by-using-the-sharepoint-workflo

Starten Sie danach den SharePoint Designer neu und öffnen Sie erneut den Workflow. Nachdem Sie die Aktion in den App Schritt eingefügt und neu veröffentlicht haben, sollte dieser auch ohne Probleme funktionieren.

2018-02-13_10h49_48

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.

Genehmigungen mit SharePoint Designer 2013 Workflows

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

Genehmigungen mit SharePoint Designer 2013 Workflows
Den höchsten Wert aus einer Spalte ermitteln und aus andern Listen Spalten abfragen mit SharePoint Designer 2013 Workflows
Ein Subweb anlegen mit Webservices und SharePoint Designer Workflows
Genehmigungen mit mehr als zwei Auswahlmöglichkeiten erstellen in SharePoint Designer Workflows

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.

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 meine Leistungen erfahren? Dann klicken Sie hier.

HTML E-Mail Quelltext in SharePoint Designer 2013 bearbeiten

Wer mit SharePoint Designer schon einmal einen Workflow erstellt hat, welcher eine E-Mail verschickt, kennt sicher das Problem. Es ist zwar möglich die E-Mail im Editor zu formatieren, aber nicht ohne weiteres den eigentlichen HTML Quelltext. Dabei ist dies oft wichtig, z.B. wenn ich einen Link zur einer CSS Datei einfügen möchte. Mit einem kleinen Trick kommen Sie aber doch an Quelltext.

Im folgenden Beispiel werde ich einen Link einfügen, welcher als Beschriftung eine Referenz hat. Ich gehe dabei davon aus, dass der Workflow schon erstellt ist. Es spielt keine Rolle, ob es sich dabei um einen SharePoint 2010 oder 2013 Workflow handelt, das Problem ist in beiden Fällen identisch. Die Abbildung unten zeigt einen einfachen SharePoint 2013 Workflow, welcher nur eine E-Mail verschicken soll.

Diese E-Mail ist dabei wiefolgt konfiguriert.

Um an den Quelltext zu kommen, schließen wir die Aktion und wählen deren Eigenschaften.

Im neuem Fenster sehen wir alle Eigenschaften der E-Mail, auch den Body, welcher ja den Text der E-Mail enthält. Wenn Sie in die Zeile klicken, können Sie sich über … den Wert anzeigen lassen.

Sie sehen nun den HTML Text und müssen diesen noch erweitern. Dummerweise läßt sich der Text nicht kopieren und auch mit Einfügen gibt es Probleme. Deshalb muss der Text in dem Fenster bearbeitet werden. Nicht optimal, aber machbar. In meinem Beispiel gebe ich an der gewünschten Stelle wo der Link erscheinen soll

<a href=“

ein und klicke dann auch Nachschlagevorgang hinzufügen oder ändern. Dort wähle ich Aktuelles Element => Encoded Absolute URL und klicke auf OK.

Jetzt gebe ich

„>

ein und wiederhole das Einfügen für die Eigenschaft Aktuelles Element => Name. Zum Abschluss gebe ich

</a>

ein. Eingefügt habe ich also

<a href=“[%Aktuelles Element:Encoded Absolute URL%]“>[%Aktuelles Element:Name%]</a>

Die E-Mail, welche der Workflow jetzt verschickt, ist damit richtig formatiert.

Zum Schluß: Natürlich geht es bei diesem speziellen Fall auch einfacher! Im Editor kann ich einen Link anlegen, welcher auch Nachschlagen zuläßt. Das Beispiel oben ist eben nur ein Beispiel.