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.

Den höchsten Wert aus einer Spalte ermitteln und aus andern Listen Spalten abfragen mit SharePoint Designer 2013 Workflows

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

Workflows mit SharePoint Designer – Grundlagen
Genehmigungen 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 dritte Teil der Serie über Workflows in SharePoint Designer. Diesmal möchte ich den höchsten Wert einer Spalte, z.B. eine laufende Nummer, ermitteln sowie Werte aus anderen Listen abfragen. Beides werde ich in einem Workflow darstellen.

Der Gedanke hinter dem Workflow ist, das der Workflow einen Eintrag erstellt, z.B. einen neuen Eintrag in eine Projektliste und dabei eine Projektnummer vergeben wird. Diese ist ungleich der ID des Listeneintrages und setzt sich zusammen aus der ID des Eintrages und der laufenden Nummer des vorherigen Eintrages plus 25. Um dies zu ermöglichen, muss ich innerhalb meiner Liste nachschlagen. Wir werden aber sehen, dass es keinen Unterschied macht, ob ich in der Liste nachschlage wo der Eintrag erstellt wird oder in einer andern Liste. Dieser Workflow wird nur funktionieren, wenn Sie keine Einträge aus der Liste löschen. Eine kleine Beispielliste finden Sie in der Abbildung unten. Der Workflow startet in der Regel bei einer Neuanlage.

2018-02-01_16h02_13

Erstellen Sie zuerst einen 2013er SharePoint Designer Workflow, wie im ersten Artikel der Serie beschrieben. In diesem neuem Workflow erstellen Sie zuerst folgende Variablen wie in der Abbildung unten. Klicken Sie dafür in der Menüleiste ganz rechts auf Lokale Variablen. Geben Sie dann jeweils einen Namen und den Typ ein.

2018-02-01_15h28_54

Die Liste der neuen Variablen.

2018-03-19_08h21_07

Fügen Sie dann die Aktion Workflowvariable festlegen in Stufe 1 des Workflows ein. Klicken Sie auf Workflowvariable und wählen Sie Element-ID aus. Klicken Sie auf Wert und dann auf das kleine Formelzeichen. Lassen Sie im folgenden Fenster die Datenquelle auf Aktuelles Element und wählen Sie bei Quellfeld ID aus. Mit OK bestätigen.

2018-02-01_15h50_42

Fügen Sie dahinter die Aktion Berechnung ausführen aus den Hauptaktionen ein. Um die Aktion richtig zu konfigurieren, müssen Sie auf die Variable zugreifen, was sich aber nicht gleich erschließt. Klicken Sie auf den linken Link in der Aktion, welcher mit Wert beschriftet ist und dann auf das kleine Formelzeichen. Wählen Sie im folgenden Fenster in der Datenquelle Workflowvariable und -parameter und wählen Sie im  Quellfeld Variable: Element-ID aus. Mit OK bestätigen. Konfigurieren Sie die Aktion weiter wie in der Abbildung gezeigt.

2018-02-01_15h58_21

Fügen Sie dann eine weitere Aktion Workflowvariable festlegen ein. Wählen Sie die Variable Laufende Zahl vorheriger Eintrag aus und klicken Sie auf Wert und das Formelsymbol. Hier wird es spannend. Das folgende bezieht sich auf die Liste in der Abbildung oben, aus dem Eintrag vorher möchte ich die laufende Nummer extrahieren.

In der Datenquelle scrollen Sie nach unten und wählen Sie die aktuelle Liste  (Projektliste) aus. Natürlich können Sie auch jede andere Liste auswählen, wenn Sie aus dieser Daten möchten. Bei Quellfeld wählen Sie das Feld laufende Nummer. Dies ist das Feld, dessen Wert wir auslesen möchte. Allerdings weiß jetzt der Workflow noch nicht, aus welcher Zeile wir den Wert haben möchten. Im Fenster unten können Sie über Listenelement suchen jetzt diese Zeile angeben. Konfigurieren Sie dies so wie in der Abbildung gezeigt. Dazu wählen Sie bei Feld ID und in Wert klicken Sie auf das Formelsymbol. Dort wählen Sie wieder in Datenquelle Workflowvariable und –parameter und Variable: Element-ID vorheriger Eintrag.

2018-02-01_16h38_42

Zu der Variable laufende Nummer muss jetzt noch der Wert 25 addiert werden. Dazu verwenden wir die schon oben benutzte Aktion.

2018-02-01_16h57_00

Anschließend erzeugen wir die Projektnummer. Fügen Sie die Aktion Workflowvariable festlegen ein. Die Variable ist Projektnummer. Klicken auf Wert und diesmal auf die drei Punkte neben dem Eingabefeld. Im neuem Fenster klicken Sie auf Nachschlagevorgang hinzufügen oder ändern. Fügen Sie jetzt die Variable Variable: Element-ID, einen Bindestrich und Variable: Laufende Zahl vorheriger Eintrag ein.

2018-02-01_16h46_32

Jetzt müssen wir nur noch den Wert in den neuen Eintrag schreiben. Fügen Sie dazu die Aktion Feld im aktuellen Element festlegen ein. Bei Feld wählen Sie Projektnummer und bei Wert die Variable Projektnummer. Fügen Sie noch den Abschluss des Workflows hinzu. Der fertige Workflow sollte wie die Abbildung unten aussehen.

2018-02-01_16h57_24

Probleme? Fragen? Einfach in die Kommentare unten schreiben.

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.

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. Die 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

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.

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.

Modern Sites Pages in SharePoint online deaktivieren

Modern Sites Pages sind eine im Sommer 2017 eingeführte Funktion in SharePoint online um Webseiten (Site pages) zu erstellen. Dies ist jetzt die Standardfunktion, d.h. wenn ein Benutzer eine neue Webseite (Page) erstellt, erstellt er eine Modern Sites Page. Auch wenn diese Seiten sehr interessant sind und viele spannende Möglichkeiten bieten, gibt es doch einige Nutzer welche die klassischen Wikiseiten bevorzugen. Dieser Blogartikel erläutert Ihnen wie Sie die statt Modern Sites Pages wieder herkömmliche Wikiseiten erstellten können. Die folgende Abbildung zeigt eine Modern Sites Page unmittelbar nach dem Erstellen.

Sie können die Funktion im Browser nur auf Ebene des Webs deaktivieren, nicht auf Ebene der Sitecollection. Gehen Sie dafür in die Websiteeinstellungen und dort in die Websitefeatures.

Suchen Sie dort das Feature Site Pages – Allows users to add new site pages to a site oder in Deutsch Websiteseiten – Gestattet Benutzern, neue Websiteseiten zu einer Website hinzuzufügen. Deaktivieren Sie das Feature, das war es dann auch schon. Schon vorhandene Seiten bleiben natürlich erhalten.

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.

Jahresabschluss 2017

Das Jahr neigt sich dem Ende und gibt mir damit Gelegenheit alles Lesern dieses Blogs zu danken. Wenn ich der Statistik trauen darf, waren in 2017 ca. 9000 Besucher auf diesem Blog. Es hätten viel mehr sein können, aber ich hatte dieses Jahr von https://nicothiemer.wordpress.com auf https://nicothiemer.de umgestellt, was mir Google eine ganze Weile übel genommen hat. Die Situation bessert sich aber zusehends.

Der am meisten gelesene Artikel ist der zum Verschieben von Listen, dicht gefolgt von Ampelfunktion für Aufgabenlisten. Danach folgt, und das freut mich ganz besonders, Verwalten von Vorlagen mit SharePoint und Inhaltstypen. Metadaten und Inhaltstypen sind und bleiben das Grundkonzept von SharePoint.

Ich habe einige neue Blogs in Planung; wenn jemand eine Idee hat was ich mal schreiben soll, einfach in den Kommentar zu diesem Beitrag schreiben.

Treffen Sie mich in 2018 bei verschiedenen Veranstaltungen, ich werde rechtzeitig hier darüber informieren. Bis dahin wünsche ich allen ein schönes Fest und einen guten Rutsch!

Performance Analyse SharePoint – So geht es

In Projekten stehe ich oft vor der Herausforderung die Performance einer vermeintlichen oder tatsächlich langsamen SharePoint Installation zu messen. Am besten geht dies, indem ich eine Anzahl ausgewählter Performancecounter gleichzeitig überwache. Nun sind dies eine ganze Menge und jedes Mal diese zu konfigurieren recht aufwendig. Dieser Blogartikel zeigt, wie sich diese Arbeit erleichtern lässt.

Vorbemerkung

Der Gedanke ist, ein PowerShell Script zu erstellen, welches die Counter aus eine Textdatei liest und in eine Datei schreibt, welche ich wieder in den Performancemonitor einlesen kann. Dort kann ich mir dann alle Werte anzeigen lassen oder nur einige davon. Das Script läuft dann so lange, bis ich es eben abbreche. Folgende Voraussetzungen, damit alles funktioniert, müssen unbedingt vorhanden sein:

  • Das Script muss von einem Konto gestartet werden, welches das Recht zum Ausführen von Scripten hat, in den Ordner schreiben und alle Performancecounter lesen darf. Typischerweise ist dies ein administratives Konto.
  • Diese Anleitung wird nur mit einem englischen SharePoint auf einem englischen Windowsserver funktionieren. Bei anderen Sprachen müssen die Performancecounter entsprechend übersetzt werden.
  • Es sollte die aktuellste PowerShell Version installiert sein.
  • Das Script sollte nicht in der Root ausgeführt werden, sondern in einem extra Ordner.
  • Das Script muss für jedem SharePoint Server auf dem jeweiligen Server ausgeführt werden.

Daten erfassen

Erstellen Sie zuerst eine Textdatei, in welcher Sie die folgenden Counter kopieren. Jeder Counter stellt dabei eine Zeile dar. Der Namen meiner Datei ist counter.txt

\.NET CLR Memory(*)\% Time in GC
\ASP.NET\Application Restarts
\ASP.NET\Request Execution Time
\ASP.NET\Requests Rejected
\ASP.NET\Requests Queued
\ASP.NET\Worker Process Restarts
\ASP.NET\Request Wait Time
\ASP.NET Applications(*)\Requests/Sec
\LogicalDisk(*)\% Idle Time
\Memory\Available MBytes
\Memory\% Committed Bytes In Use
\Memory\Page Faults/sec
\Memory\Pages Input/sec
\Memory\Page Reads/sec
\Memory\Pages/sec
\Memory\Pool Nonpaged Bytes
\Network Interface(*)\Bytes Total/sec
\Network Interface(*)\Packets/sec
\Paging File(*)\% Usage
\PhysicalDisk(*)\Current Disk Queue Length
\PhysicalDisk(*)\% Disk Time
\PhysicalDisk(*)\Disk Transfers/sec
\PhysicalDisk(*)\Avg. Disk sec/Transfer
\Process(*)\% Processor Time
\Process(*)\Page Faults/sec
\Process(*)\Page File Bytes Peak
\Process(*)\Page File Bytes
\Process(*)\Private Bytes
\Process(*)\Virtual Bytes Peak
\Process(*)\Virtual Bytes
\Process(*)\Working Set Peak
\Process(*)\Working Set
\Processor(*)\% Processor Time
\Processor(*)\Interrupts/sec
\Redirector\Server Sessions Hung
\Server\Work Item Shortages
\System\Context Switches/sec
\System\Processor Queue Length
\Web Service(*)\Bytes Received/sec
\Web Service(*)\Bytes Sent/sec
\Web Service(*)\Total Connection Attempts (all instances)
\Web Service(*)\Current Connections
\Web Service(*)\Get Requests/sec
\SharePoint Foundation(*)\Active Threads
\SharePoint Foundation(*)\Sql Query Executing  time
\SharePoint Foundation(*)\Executing Sql Queries
\SharePoint Foundation(*)\Responded Page Requests Rate
\SharePoint Foundation(*)\Executing Time/Page Request
\SharePoint Foundation(*)\Current Page Requests
\SharePoint Foundation(*)\Reject Page Requests Rate
\SharePoint Foundation(*)\Incoming Page Requests Rate

Erstellen Sie danach eine PowerShell Datei, welche den folgenden Code enthält. Die Counter werden aller fünf Sekunden erfasst. Bei weniger oder mehr passen Sie -sampleinterval 5 an. Die Datei, in welcher die Counter gespeichert werden heißt counter.bin.

get-counter -counter (get-content counter.txt) -MaxSamples 100 -sampleinterval 5 | export-counter counter.bin

Starten Sie das Script aus einer PowerShell Umgehung und lassen Sie es laufen solange Sie die Daten erfassen möchten.

Daten auswerten

Starten Sie den Performancemonitor perfmon.msc und klicken Sie auf Performance -> Monitoring Tools – Performance Monitor. Ziehen Sie die Datei counter.bin per D&D ins Fenster. Damit Sie die erfassten Werte sehen können, müssen Sie diese noch hinzufügen. Denn jetzt sollten eigentlich überhaupt keine Werte mehr gemessen werden. Klicken Sie auf + und fügen Sie die gewünschten Werte hinzu. Sie können in der Liste auch alle Werte markieren und mit einmal hinzufügen. Das war es dann auch schon. Inspiriert zu dem Artikel wurde ich von https://gallery.technet.microsoft.com/office/PowerShell-script-for-59cf3f70

Haben Sie diese Anforderung schon einmal gehabt? Oder eine andere Frage? 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.

Ressourcenverwaltung mit Kalenderüberlagerung

In vielen Projekten werde ich gefragt wie sich mit SharePoint effektiv Ressourcen verwalten lassen. In der Tat ist SharePoint dafür nicht unbedingt das ideale Mittel. Mit der Möglichkeit der Kalenderüberlagerung kann man aber sehr gut einfache Anwendungen realisieren. Im Folgenden Beitrag zeige ich wie man mit SharePoint Bordmitteln eine sehr einfache(!) Fuhrparkverwaltung realisieren kann.

In meinem Beispiel werde ich drei PKW verwalten. Dazu lege ich mir für jeden PKW einen Kalender an und einen weiteren Kalender der die vorhandenen konsolidiert.

In die Kalender für jeden PKW trage ich ein wann diese gebucht sind. Dabei erfasse ich neben den Zeitdaten einen Titel und den Ort.

Habe ich alle Daten erfasst wechsle ich den Kalender Fuhrpark. Dort klicke ich auf das Menüband Kalender und dann auf die Schaltfläche Kalenderüberlagerung.

Klicken Sie in der folgenden Seite auf die Schaltfläche Neuer Kalender.

Geben sie einen Kalendernamen ein und wählen sie eine Farbe. Bei Web-URL geben Sie den Name der Site ein von der Sie den Kalender beziehen möchten. Nach einem Klick auf Auflösen können sie ihren entsprechen Kalender im Dropdown Feld Liste auswählen. Vergessen sie nicht in Haken bei Immer anzeigen zu setzen.

Dies wiederhole ich für meine weiteren Kalender, es können dabei maximal zehn Kalender eingebunden werden. Schaue ich mir jetzt meinen Kalender Fuhrpark an, sehe ich darin die überlagerten anderen Kalender.

Geht man in die Wochenansicht, werden neben dem Titel auch die Orte der Termine angezeigt.

Thomas Maier- der SharePoint Schwabe- hat in seinem Blog noch eine andere interessante Möglichkeit der Kalenderüberlagerung beschrieben. Hierbei kommt man mit einem Kalender aus, benötigt aber ein größeres Know-How in SharePoint. https://www.sharepoint-schwabe.de/tipp-so-koennen-sie-termine-auch-im-sharepoint-kalender-farblich-markieren-2/

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.

Probleme mit dem Health Analyzer in mehrsprachigen Umgebungen

Dieser Beitrag beschreibt einen Fehler welcher bei der Verwendung des Health Analyzer in mehrsprachigen Umgebungen auftritt. Typischerweise wurde SharePoint in einer nicht englischen Sprache installiert und danach ein englisches Sprachpaket angewendet. Dadurch erhalte ich im Health Analyzer eine interessante Mischung in meinem Fall aus Englisch und Deutsch in der Definition der Regeln. Werden jetzt Fehler erneut analysiert oder sollen diese automatisch behoben werden kommt es zu Fehlern.

Die Fehler wiederum werden ausschließlich in Englisch angezeigt.

Wenn man nun einen Fehler im Health Analyzer erneut analysieren oder aber automatisch lösen lassen möchte erhält man einen Fehler.

Dieser ist wenig aussagekräftig, die Fehler-ID verweist auf den Fehler Object reference not set to an instance of an object. Der Grund dafür ist folgender: Wenn ein Fehler erneut analysiert wird oder aber automatisch behoben werden soll, wird eine Regeldefinition gesucht welche genau den Titel des ausgewählten Fehlers entspricht. Haben nun Fehler und Regeldefinition unterschiedliche Titel, der Fehler Englisch, die Definition deutsch, tritt der oben beschriebene Fehler auf. Die Lösung besteht hier darin, die entsprechende deutsche Regeldefinition zu suchen, diese zu bearbeiten und den Titel so umzubenennen, dass er den englischsprachigen Fehler entspricht.

Regeldefinition vor dem umbenennen.

Regeldefinition nach dem umbenennen. Danach kann da Fehler problemlos erneut analysiert und gegebenenfalls automatisch behoben werden.

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.