K2 FIVE Workflow Designer

Die wahrscheinlich offensichtlichste Änderung im Release der neuen K2 Plattform ist der Workflow Designer.

Hierbei handelt es sich um eine komplett überarbeitete Oberfläche, die mit den bisherigen WF Tools nichts mehr gemeinsam hat. Der Schwerpunkt bei der Neugestaltung lag auf einfacher Bedienbarkeit, jedoch ohne auf die bewährten Funktionen zu verzichten. Grundsätzlich gibt es bei Neuinstallation ab K2 Five, keinerlei Thick Clients (früher K2 Studio oder K2 Designer for Visual Studio) mehr. Auch der alte web-basierte Designer (Stichwort Silverlight) wird nicht mehr ausgerollt, d.h. es wurden alle K2 Tools in dem neuen HTML5 Designer konsolidiert.

Designer Experience

Ähnlich wie das K2 Studio bietet der neue Designer eine sog. “Infinite Design Canvas”. D.h. es gibt keinerlei Einschränkung bzgl. Prozessdesign. Zudem ist es jetzt viel einfacher einen Workflow zuerst zu modellieren, ohne die einzelnen Teilschritte durchkonfigurieren zu müssen.

Rohes Prozessdesign in Anlehnung an Swim Lanes

3x die selbe Logik, in unterschiedlicher Darstellung

Ebenfalls optimiert wurde die Art und Weise wie man Artefakte im Designtool findet. Musste man früher über den Category Browser und teilweise unendliche Lange TreeView Knoten klicken, gibt es nun eine Suchfunktion (YAY! ;-))

Aufgrund der Freihand-Gestaltung sind entsprechend individuelle und flexible Workflows denkbar.

Validierung und Geschäftsregeln

Teil der K2 Five Workflow-Engine ist natürlich auch die Möglichkeit Geschäftsregeln zu modellieren. In diesem Beispiel werden abhängig von Schwellwerten für einen Vertragswert unterschiedliche Instanzen zur Bearbeitung involviert.

Wie gehabt ist es möglich verantwortliche Benutzer, Gruppen oder Rollen aus verschiedensten Datenquellen zu nutzen: Active Directory, SQL Daten, SAP etc.

Im Regeldesigner werden unterschiedliche Objekte und Datenquellen farblich differenziert.

Auch komplexere Regeln sind möglich, zum Beispiel ein Zusammenspiel aus SmartObject-Daten und Funktionen:

Deadline Konfiguration an einer Aufgabe, in diesem Beispiel 5 Tage nach Erstellung der SalesForce Opportunity

Auf www.k2.com gibt es zahlreiche nenue one-minute-videos, auch eines für den Workflow Designer. In dem Video wird auch das “Smart Assist” Feature demonstriert. Viel Spaß beim Durchforsten der neuen Inhalte auf www.k2.com 🙂

 

Webinar: Zuverlässige SharePoint Workflow-Anwendungen erstellen und ausführen

Nächste Woche findet wieder ein K2 Webinar statt. Thema dieses Mal: SharePoint Workflows und wie man diese mit K2 optimieren kann. Wie immer ist jeder eingeladen an diesem kostenlosen Webinar teilzunehmen!

Die Registrierung findet hier statt
http://k2nelanding.k2.com/LP-Webinar-Reliable-SP-Workflow-Apps.html

Wie immer wird auch dieses Webinar aufgezeichnet und nachgelagert für alle Teilnehmer als Video zur Verfügung gestellt.

 

SharePoint Best Practice Days 2014 Cologne

brochuresmall

 

Vom 8. bis 10. Oktober finden in Köln die SharePoint Best Practise Days 2014 statt.  Alle Informationen zu dieser Veranstaltung gibt es auf dieser Website hier.

In meinem Vortrag wird es, wie auf dem Ausschnitt dargestellt, verschiedene Schwerpunkte rund um das Thema SharePoint Workflows & K2 geben! Ich freue mich bereits auf das Event und die anderen interessanten Vorträge. 🙂

Info: Bis zum 31.Juli gibt es noch einen Frühbucherrabatt. Als gleich anmelden!

 

Exception Handling in K2 Workflows: Retry anstatt Restart!

Diejenigen die regelmäßig Workflows designen, werden bestätigen dass das Thema Exception Handling nicht zu unterschätzen ist. Angenommen ein Workflow sieht vor, dass zu einem bestimmten Punkt diverse Manager, Kunden, Teams in mehreren Freigabeschritten involviert waren, danach Berechtigungen auf Objekte schon entsprechend umgestellt wurden etc. – durch eine Unachtsamkeit im WF Design läuft der Workflow nun auf Fehler.

Bei manchen Systemen ist man nun gezwungen die Workflowinstanz zu beenden und muss von vorne beginnen. Gerade wenn der “alte” Workflow schon diverse Änderungen am Element oder abhängigen Elementen durchgeführt hat, kann dies zu echten Problemen führen. Ganz abgesehen davon, dass man nicht wieder die selben Personen mit den gleichen Arbeitsschritten (Freigabe, Kommentieren usw.) zum gleichen Element involvieren will.

Man stellt also fest dass eine Instanz einen Fehler verursacht hat. Es ist immer eine gute Idee sich den Prozessverlauf anhand des Viewflow Control zu verdeutlichen, denn dort wird entsprechend markiert an welcher Stelle der Fehler auftrat.

error

 

Genauere Details liest man dann im K2 Error Reporting ab, zu finden im K2 Workspace oder K2 Process Portal im SharePoint.

errordetails

 

Angenommen ich hätte den Fehler bereits lokalisiert und wüsste dass er durch externe Datenfelder (zB SharePoint Feldwert, SAP Wert, SQL etc) verursacht wurde, könnte ich den Fehler im betroffenen Backend beheben und danach in der Maske (oben) auf Retry klicken. Dies hätte zur Folge dass der Workflow in der gleichen Version ab dem Fehler weiterläuft, allerdings mit aktualisierten Daten aus den Backends und der Fehler würde nicht mehr auftauchen. In dem Beispiel würde dann also nicht mehr versucht durch 0 zu dividieren.

D.h. für Fehler die klar auf externe Quellen zurückzuführen sind, müssen wir nicht eine neue Workflow Version bereitstellen sondern können sofort nach Anpassung der Daten über diese einfache Retry Funktion den Workflow fortführen.

Etwas problematischer wird es allerdings, wenn der Fehler nicht auf externe Daten zurückzuführen ist, sondern auf einen “echten ” Fehler im Workflow Design selbst. In diesem Beispiel habe ich den Fehler natürlich provoziert.

errordesign

 

Doch selbst dieser Designfehler führt nicht dazu dass ich den Workflow komplett abbrechen und wieder neustarten muss. Zunächst muss der Fehler behoben und eine die verbesserte Workflow Version bereitgestellt werden. Anstatt durch 0 wollte ich eigentlich durch 2 dividieren.

fixeddesign

 

Mit Hilfe des K2 Process Management Tools kann ich nun die laufende (fehlerhafte) Instanz aktualisieren und durch ein Upgrade mit der neuen Version fortführen.

retryvs

 

Das Ergbnis sieht dann so aus

viewflow fixed

 

Der Workflow konnte ohne Neustart die letzten Schritte durchführen, es mussten keine Personen bereits erledigte Arbeit wiederholen. Nice 🙂