Kennisportal
Kennisportal is een kennisplatform met een focus op de brede doelgroep Business en IT.

SharePoint Framework: het nieuwe programmeren

SharePoint heeft een bron aan bedrijfsinformatie. Gegevensuitwisseling met overige informatiesystemen was in vorige versies alleen mogelijk door te communiceren met de interne code van SharePoint of op site zelf met de script editor. In de laatste cloud gebaseerde SharePoint versies is het gebruik hiervan echter niet meer mogelijk of wenselijk. Om dit probleem op te lossen biedt Microsoft nu het SharePoint Framework (SPFx).

SPFx biedt ondersteuning voor SharePoint ontwikkeling, integreert makkelijk met SharePoint data en biedt support voor open source tools. Dit maakt het mogelijk om via de browser klant specifiek webonderdelen en -elementen te maken die geïntegreerd zijn in SharePoint. Op basis hiervan kun je dus eenvoudig gegevens uitwisselen en een specifieke gegevensweergave opbouwen en vormgeven naar eigen wens. Ik bespreek in deze blog hoe het vroeger was en wat het SPFx veranderd aan het landschap.

Vroeger

Heb je geprogrammeerd in SharePoint? Dan is je waarschijnlijk wel bekend dat je met alle afgelopen SharePoint versies code kunt schrijven waarmee je direct de interne code van SharePoint kunt benaderen. Dit werkte goed, zolang je niet wilde upgraden of uitbreiden.

Vanaf SharePoint 2013 werd dit concept langzaam losgelaten. Met de introductie van de Office 365 variant van SharePoint was dit namelijk niet meer mogelijk, aangezien de interne code nu alleen nog maar door Microsoft kan worden benaderd.

In de SharePoint 2013 variant van Office 365 was het nog mogelijk om sandboxed oplossingen te maken. Hierdoor kon je op het niveau van een site verzameling nog gegevens uitwisselen met SharePoint. Sinds 1 augustus 2016 is deze laatste optie nu ook uitgeschakeld. In SharePoint 2016, de SharePoint die geboren is in de cloud, is het nog steeds mogelijk om gegevens uit te wisselen met de interne code, maar wij adviseren om dat niet te doen. Dit omdat dit niet gericht is op de toekomst en de cloud.

Script editor

Als je iets wilt aanpassen in Office 365, dan ga je voornamelijk aan de slag met de script editor. Een web onderdeel waar je met behulp van een javascript bestand de getoonde website kunt aanpassen om deze meer naar je eigen wensen te laten tonen.

Deze script editor heeft alleen zijn eigen problemen:
– er is geen makkelijke uitrol aanpak
– de eindgebruiker kan het script aanpassen zolang ze de rechten hebben om de pagina te bewerken
– Zodra een site geen pagina structuur kent dan wordt de script editor geblokkeerd om iets uit te voeren. Denk hierbij aan persoonlijke sites en team sites

Momenteel is de oplossing voor deze problemen een iFrame. In de iFrame wordt dan alles gezet wat er moet worden uitgevoerd. De iFrame moet vervolgens de authenticatie doorzetten van de bronwebsite. Deze zaken veroorzaken een langzamere website. Naast de langere laadtijd zorgt de iFrame omhulsel ook voor een moeilijkere te ontwerpen website. Dit komt doordat alle website tegenwoordig geschikt moeten zijn voor meerdere weergaves en een iFrame is eigenlijk een aparte website waar aparte styling wordt ingeladen.

Dus iets nieuws

Uit deze geschiedenis is nu het SharePoint Framework (SPFx) ontstaan. Het is een pagina en web onderdeel model dat ondersteuning biedt voor SharePoint ontwikkeling, makkelijk integreert met SharePoint data en support biedt voor open source tools. Dit houdt in dat het nu mogelijk is om via de browser webonderdelen en -elementen maken die geïntegreerd zijn in SharePoint.

Wat kan je hier nu mee?

Je kan met behulp van SPFx nu op je lokale computer een webonderdeel ontwikkelen en koppelen aan een Office 365 website.
In het kort hieronder de stappen die je moet volgen om een webonderdeel te gaan maken. Deze informatie is van het Dev Center van Microsoft.

  • kies een JavaScript library
  • zorg voor een ontwikkel Office 365 tenant
  • installeer ontwikkel tools
  • installeer een code editor
  • installeer Yeoman en gulp, daarna de Yeoman SharePoint generator
  • gebruik de toolchain door taken te maken met gulp. Dit laatste is ook de manier om de webonderdelen klaar te zetten op je eigen omgeving zodat die kunnen communiceren met de Office 365 tenant
  • maak een webonderdeel

Het is dus makkelijker gezegd dan gedaan om een webonderdeel te ontwikkelen. Deze stappen zijn niet makkelijk te volgen als je geen achtergrond hebt in het ontwikkelen.

Wat zegt dit voor de toekomst?

In de SharePoint wereld zijn er altijd programmeurs aanwezig geweest bij een implementatie van een omgeving. Deze hadden als verantwoordelijkheid om alle specifieke klantwensen te vervullen. Sinds SharePoint 2013 is deze manier van werken een stuk ingeperkt, omdat de cloud hier geen ruimte meer voor bood. De programmeurs moesten het maar op een andere manier oplossen.
Nu met het SPFx geeft Microsoft weer een mogelijkheid voor de programmeurs om de oude manier terug te krijgen. Met als voordeel dat dit schaalbaar is en altijd up-to-date. Hier voorzie ik dus weer een grotere rol voor de programmeurs. De programmeurs dienen alleen te veranderen van programmeurtaal van C# naar javascript of een van de andere talen die kunnen worden gebruikt binnen het SPFx.

Het SPFx is momenteel ook gericht op de programmeurs. Er is bijvoorbeeld momenteel nog geen programma beschikbaar om op een drag-en-drop manier een webonderdeel in elkaar te klikken. Wellicht zal dit nog komen, want het SPFx is net uit voor de first release klanten en nog volop in  ontwikkeling.

Het SPFx is dus een manier om te zorgen dat de omgeving weer aanpasbaar is aan de wensen van de klant maar nu wel toekomst vast en in de cloud.