Introductie

Workflows in SharePoint zijn al lange tijd een mooie manier om functionaliteit toe te voegen aan je omgeving. Helaas zijn er grote verschillen tussen de mogelijkheden die je hebt met de standaard SharePoint Designer workflows en de workflows van third-party tools zoals bijvoorbeeld Nintex.

Het is met SharePoint Designer mogelijk om bijvoorbeeld items aan te maken en bewerken. Echter het aanmaken, bewerken en verwijderen van lijsten en sites is niet mogelijk. Dat terwijl er genoeg gebruikers zijn die hier behoefte aan hebben. De opties die ze dan hebben is Nintex aanschaffen of met behulp van code zelf een workflow programmeren. Maar dit zijn lang niet altijd opties binnen een organisatie, aangezien Nintex workflow met een licentiemodel komt en een “geprogrammeerde” workflow lastiger te onderhouden is. Vooral als je geen ontwikkelaars in dienst hebt.

Met de release van SharePoint 2013 Server heeft Microsoft het gat tussen SharePoint Designer Workflows en andere oplossingen (Nintex, maatwerk) kleiner gemaakt. Zo is het SharePoint 2013 Workflow platform geïntroduceerd die het mogelijk maakt om vanuit workflows REST calls uit te voeren. Hierdoor wordt het mogelijk om lijsten en sites aan te maken en te beheren.

Helaas heeft Microsoft gekozen om de bovengenoemde SharePoint 2013 Workflow platform niet beschikbaar te stellen voor SharePoint Foundation.
In deze blog wordt begonnen met de installatie en configuratie van het SharePoint 2013 Workflow platform. In de volgende blog wordt getoond hoe je daadwerkelijk een REST call maakt met behulp van een workflow.

Installatie & Configuratie

Als je SharePoint 2013 Server hebt geïnstalleerd is het niet direct mogelijk om het SharePoint 2013 workflows te gebruiken. Hiervoor dien je SharePoint 2013 Workflow platform eerst beschikbaar te maken. Bij het aanmaken van een nieuwe workflow krijg je hier ook een melding van.

Blog - Designer Workflows en de REST api

Om het SharePoint 2013 workflow platform beschikbaar te maken, dien je als eerste de Workflow Manager te installeren, via deze link kom je op een pagina van waar je de installatie kan starten.
De volgende stap is de configuratie van de Workflow Manager, ga hiervoor naar het start menu en open “Workflow Manager Configuration”.

Blog - Designer Workflows en de REST api - 2

In het eerste scherm moeten er drie onderdelen worden ingesteld namelijk,

  • SQL Server Instance
  • Service Account
  • Certificate Generation Key

Blog - Designer Workflows en de REST api - 3

SQL Server Instance

De SQL Service instance is de SQL server die de workflow Manager gebruikt om de database aan te maken. Als default staat hier de SQL server die op de server staat, om een andere te gebruiken dien je hier de volledige naam van de SQL Server Instance neer te zetten. Vervolgens kan je deze testen door op “Test Connection” te klikken.

Service Account

Het service account wat je instelt wordt gebruikt om de “Workflow Manager” en “Service Bus” services te draaien binnen te farm te draaien.
Onder het service account staan nog twee opties die je uit of aan kan zetten.

  • Allow Workflow management over http on this computer.
    • Hiermee kan je instellen of je SharePoint 2013 workflows mag maken indien je de site benadert met http. Voor productie omgeving wordt het afgeraden om deze optie aan te zien.
  • Enable firewall rules on this computer
    • Hiermee geef je aan of er gebruikt gemaakt moet worden van ingestelde firewall regels. Indien je deze niet aan vinkt kunnen er mogelijk issues ontstaan.

Certificate Generation Key

Als laatste moet nog een key worden toegevoegd, deze wordt gebruikt om een certificaat te genereren, wanneer je een nieuwe computer toegevoegd aan de farm. Wat de key is mag je zelf bepalen.

Als je nu naar de volgende stap kijkt, krijg je een overzicht te zien van de settings, zoals je deze zojuist hebt ingesteld plus nog wat extra gegevens.

Blog - Designer Workflows en de REST api - 4

Klik vervolgens op het vinkje om de instellingen te bevestigen. De Workflow Manager Configuration Wizard gaat nu de instellingen doorvoeren op de Server, dit kan ongeveer 10 minuten duren.

Open nu de Internet Information Service (IIS) van je server en als alles goed is gegaan, is daar een site voor je aangemaakt genaamd Workflow Management Site

Blog - Designer Workflows en de REST api 5

 

De Basic settings van deze site zijn al voor ingesteld, wat je nog wel zelf moet regelen zijn de Bindings en de DNS settings. Geef hiervoor bij de Binding een url op voor je site (http of https) en registreer deze binnen je DNS, zodat deze beschikbaar wordt.

De laatste stap die je nu nog moet nemen is het uitvoeren van een Powershell script, deze ziet er als volgt uit

https
Register-SPWorkflowService -SPSite “https://sitecollection.yourdomain.com” -WorkflowHostUri https://workflowservername.domain.com:12290
http
Register-SPWorkflowService -SPSite “http://sitecollection.yourdomain.com” -WorkflowHostUri http://workflowservername.domain.com:12291 -AllowOAuthHttp.
Bij de SPSite property geef je de url mee van je web application en bij WorkflowHostUri geef je de url mee van de Worklfow Management Site die aangemaakt is.
Als je nu naar SharePoint Designer gaat en je maakt een nieuwe Workflow aan, zie je de SharePoint 2013 Workflow template als een optie bij Platform Type staan. De voorwaarde om deze optie te zien is dat alle configuratie stappen beschreven in deze blog tot nu toe correct zijn uitgevoerd.

Blog - Designer Workflows en de REST api - 6