Flow Sharing

Von 4. Juli 2019 Juli 5th, 2019 News, Office 365

Wie man mit Microsoft Flow Free einen Nintex Workflow reproduziert

Altbewährte Technologien mit moderner und benutzerfreundlicher Technologie ersetzen - das geht mit dem richtigen technischen Know-How sowie einer guten Prise Kreativität. In diesem Blogbeitrag lesen Sie, wie man Nintex Workflows mit Microsoft Flow ersetzt.

isolutions hat von einem renommierten, internationalen Kunden den Auftrag erhalten, einen Business Prozess auf Basis von Nintex Workflow 2010 mit Microsoft Flow abzubilden. Die einzige Rahmenbedingung war, den Workflow im Kontext vom Flow Free Plan umzusetzen. Nintex ist eines der bewährtesten Third Party Tools auf dem Markt, wenn es um Automatisierung in Verbindung mit SharePoint geht. Dazu bietet Nintex eine Unmenge von vorprogrammierten Funktionalitäten an, welche es dem Workflow-Designer stark erleichtern, den Prozess bedarfsgerecht zu implementieren. Eine weitere Herausforderung im Projekt sind die Limitationen von Microsoft Flow im Vergleich zu Nintex, welche später näher erläutert werden.

Zur Ausgangslage

Der Kunde lässt zukünftige Investitionen durch mehrere interne Prüfstellen mittels einem Prozess auf SharePoint genehmigen. Die Anträge werden in einer Liste im SharePoint mit den erforderlichen Daten eingetragen. Zunächst prüft das Controlling den Antrag auf Vollständigkeit, um danach den Genehmigungsprozess zu starten und den Antrag von den relevanten Stellen prüfen und genehmigen zu lassen. Sobald der Antrag durch sämtliche Prüfer sequentiell genehmigt wurde, kann sich der Antragsteller um die Beschaffung kümmern.

Weiter stehen dem Controlling zwei weitere Flows zur Verfügung, um einen Antrag zu archivieren oder um einen abgelehnten Antrag wieder zu eröffnen.

Herausforderungen

  1. Nintex State Machine
    Nintex bietet eine grandiose Lösung, die nicht ins Konzept einer logischen Abfolge passt. Die Lösung nennt sich State Machine und lässt sich sehr gut einsetzen, wenn es wie im erwähnten Fall darum geht, verschiedene Szenarien abzubilden. Mit einer State Machine können diverse Status für einen Prozess definiert werden, um je nach Situation zum gewünschten Status zu springen und die entsprechenden Actions durchzuführen. Der Workflow kann dadurch mehrmals zu einem Branch (siehe Bild unten) herangeleitet werden. Microsoft Flow bietet leider keine State Machine an, doch das gleiche Resultat kann mit einer Do-Until-Schleife erreicht werden.
  2. Item Level Permissions
    Da in diesem Fall die Anträge lediglich als Items in einer SharePoint Liste geführt werden, besteht das Bedürfnis die Berechtigungen je nach Situation zu verändern. Mit Nintex hat der User die Möglichkeit, Berechtigungen auf Item Level zu verändern, dies mithilfe der OOTB Action ‚Set Item Permission‘. Es ist nicht möglich, mit Microsoft Flow OOTB Berechtigungen auf Item Level zu verändern. Mit einer Prise Kreativität und HTTP Request, wurde die Vererbung zuerst aufgebrochen und konnte schliesslich entsprechend wieder gesetzt werden.
  3. Eskalation
    Es kann durchaus vorkommen, dass ein Prüfer einen Antrag nicht prüfen kann. Daher soll eine höhere Instanz in der Lage sein, einzugreifen und den Prozess weiterzuführen. In Nintex kann jederzeit mit genügend Berechtigungen ein Task einer anderen Person zugeteilt werden. Zusätzlich besteht die Möglichkeit, den Task nach einer definierten Periode ohne Rückmeldung automatisch weiterzuleiten. In Microsoft Flow hat der Prüfer die Option, seinen Task an einen anderen User weiterzuleiten. Leider hat eine höhere Instanz diese Möglichkeit nicht. Dieses Problem konnten wir mithilfe eines Time-Outs lösen, welches einen neuen Task an die höhere Instanz erteilt. Dieser kann dann entweder ‚approved‘ (Prozess weiterzuführen und an den nächsten Prüfer in der Liste senden) oder delegiert (als Ersatz für den aktuellen Prüfer) werden.
  4. PDF Erstellung
    Auf dem Markt gibt es mehrere Third Party Tools, um PDFs zu erstellen. Da aber keine Mehrkosten generiert werden sollten, konnten wir nicht auf diese Angebote zurückgreifen. Die einzige Möglichkeit, die sich OOTB bietet ist der OneDrive PDF Connector. Dieser erlaubt es aus einem HTML File ein PDF zu erstellen.
  5. Runtime Duration
    Einer der wichtigsten Faktoren, die es zu beachten gibt wenn Workflows mit Flow umgesetzt werden, ist die begrenzte Laufzeit eines Flows. Ein Flow ist nämlich nur 30 Tage aktiv, danach wird er automatisch abgebrochen bzw. er ‚failed‘. In unserem Fall kann ein Genehmigungsprozess durchaus länger als 30 Tage dauern. Mit ein bisschen „Thinking-out-of-the-box“ lässt sich aber auch diese Herausforderung meistern. Die Lösung ist ein rekursives Design des Workflows, sprich ein sich selbst startender Workflow. In Wahrheit sind es zwei Flows: einer der es erlaubt den Flow manuell zu starten, welcher dann wiederum den zweiten Flow automatisch startet. Somit kann der Flow mittels HTTP Request nochmals gestartet werden, bevor die maximale Laufzeit abgelaufen ist. Der ursprüngliche Flow läuft dann automatisch ab und wird abgebrochen. Serge Luca, Microsoft MVP, hat dazu ein Beispiel wie das aussehen kann in seinem Blog.

Abb.: Nintex State Machine

Flow Sharing

Das Sharing von Flows ist durch Microsoft sehr gut umgesetzt worden. In gewissen Szenarien werden Actions durchgeführt, die bestimme Berechtigungen brauchen, wobei es nicht immer die beste Lösung ist, den einzelnen Usern diese zu erteilen. Microsoft bietet dafür verschiedene Möglichkeiten, wie Flows auf der Plattform verteilt werden können:

  1. User als Owner
    Einzelne User oder Groups können direkt als Owner definiert werden. Dadurch haben Sie die Möglichkeit, den Flow zu starten und auch zu bearbeiten.
  2. SharePoint Liste als Owner
    Falls der Flow zu einer SharePoint Liste oder Library verbunden ist, kann auch die Liste direkt als Owner hinzugefügt werden. Dadurch erhalten sämtliche Users mit Edit Permissions Zugang zum Flow.
  3. Run-only User
    Einzelne User oder Groups können direkt als Run-Only User definiert werden. Dadurch können die User den Flow starten, aber nicht bearbeiten.
  4. Run-only SharePoint Liste
    In einigen Fällen kann es sein, dass alle User die Zugriff auf die SharePoint Liste oder Library haben, den Flow starten dürfen. Somit werden nicht einzelne User eingetragen sondern die Liste selbst.

Bonus Tipp
Es ist durchaus möglich auszuwählen, welche Credentials für welche Connectors gebraucht werden sollen. In unserem Fall haben wir einen Service Account eingesetzt, um die PDFs zu erstellen. Obwohl ein User X den Flow gestartet hat, wurde nicht sein Account für die OneDrive Verbindung gebraucht, sondern die des Service Accounts.

Einschränkungen

Bei Microsoft Flow gibt es mehrere Einschränkungen, die massgebend für die Struktur sein können:

  1. 30-tägige Laufzeit eines Flows
  2. Max. 5’000 items For-each loop (Free)
  3. Max. 100’000 items For-each loop (Plan 1 und Plan 2)
  4. Max. 2’000 Action Ausführungen pro 5 Minuten (Free und Plan 1)
  5. Max. 100’000 Action Ausführungen pro 5 Minuten (Plan 2)
  6. 250 Actions pro Flow
  7. Max. 5’000 Until Iterationen
  8. HTTP Requests ausserhalb von SharePoint und OneDrive nicht möglich (Free)

Ausserdem ist es empfehlenswert, sich die Default Einstellungen der eingesetzten Actions anzusehen. Ein kleines Beispiel: Die Do-Until Schleife hat die Default Einstellung von maximal 60 Iterationen und einem Timeout von einer Stunde. Das heisst, dass die Schleife nach 60 Durchgängen oder einer Stunde abgebrochen wird und der Flow fortgesetzt wird. Falls dies nicht gewünscht ist, müssen die Einstellungen manuell in den Settings der Action geändert werden.

Ausblick

Bei Microsoft Flow gibt es mehrere Einschränkungen, die massgebend für die Struktur sein können:

Flow wird kontinuierlich weiterentwickelt und verbessert, um den Bedürfnissen aus dem Business gerecht zu werden. Es ist nicht verwunderlich, dass Flow eine Unmenge von Connectors bietet, um so ziemlich alles miteinander zu verbinden.

Eine der nächsten Verbesserung ist die Integration mit Microsoft Teams. Das Ziel ist die Automatisierung, wie sie bereits von Outlook bekannt ist, zu ermöglichen. Konkret könnte ein Project Leader informiert werden, wenn jemand über sein Projekt in einem Teams Channel spricht. Oder sobald ein neues Mitglied einem Team beitritt, könnte diesem eine Willkommens Nachricht mit allen relevanten Onboarding Ressourcen bereitgestellt werden.

Mit Flow, integriert in Microsoft Teams, kommt die Effizienz in der Zusammenarbeit auf ein ganz neues Level.

Hier geht es zu den Release Notes April – September 2019.

Wie Sie sehen bietet Microsoft Flow unbegrenzte Möglichkeiten, seien Sie kreativ!

Bei Fragen und Anmerkungen stehe ich jederzeit gerne zur Verfügung. Zögern Sie nicht, mich zu kontaktieren.

3. Juli 2019 in News, Office 365

Working with the iPad every day – the good, the bad and the ugly

Working with the iPad every day - the good, the bad and…
Weiterlesen
15. Juli 2019 in News, Office 365

10 questions every executive has about modern collaboration

10 questions every executive has about modern collaboration During the course of…
Weiterlesen
4. Juli 2019 in News, Office 365

Flow Sharing

Wie man mit Microsoft Flow Free einen Nintex Workflow reproduziert isolutions hat…
Weiterlesen
Teilen Sie diese Seite auf Social Media oder via E-Mail.

Hinterlasse eine Antwort