SharePoint Modern Site templates
Microsoft is al een flinke tijd bezig om SharePoint Online te vernieuwen. De interface van SharePoint sites gaat daarbij flink op de kop. Zo is te zien dat er veel aandacht is voor zogenoemde responsieve weergave, het goed weergeven van de informatie op verschillende schermgroottes (smartphone, tablet, desktop). Bibliotheken en lijsten zijn als eerst aan de buurt geweest waardoor deze dezelfde look-and-feel hebben gekregen als OneDrive.
Ook heeft Microsoft al twee nieuwe Site sjablonen uitgebracht, zogenaamde ‘Modern sites’ . In deze sjablonen is de interface eenvoudiger en zijn nieuwe technieken geïntroduceerd die de traditionele WebParts moeten vervangen.
Site designs en Site scripts
In december 2017 is een volgende stap geïntroduceerd: het kunnen maken van Site Sjablonen in de die nieuwe ‘Modern’ interface.
Hiervoor zijn twee nieuwe functionaliteiten toegevoegd: Site designs en Site scripts
Met deze nieuwe functionaliteit kunnen SharePoint beheerders eigen Site templates maken en beschikbaar maken voor eindgebruikers.
Deze nieuwe functionaliteit is alleen beschikbaar in de ‘Modern sites’ (Modern Team sites and Communication sites) en vereist enige kennis van JSON en PowerShell.
Een Site Script is een JSON bestand dat de wijzigen beschrijft die nodig zijn om een standaard (out of the box) site aan te passen.
Een Site Design is in feite het nieuwe Site sjabloon dat gebouwd wordt.
Hoe werkt het?
Bijvoorbeeld zal een sjabloon voor een projecten site gedefinieerd kunnen worden middels het volgende commando:
Add-SPOSiteDesign -Title "Projecten site" -WebTemplate "64" -SiteScripts "<ID>" -Description "Projecten site"
Dit sjabloon is overigens gebaseerd op de standaard Team Site sjabloon.
WebTemplate 64 staat voor een Modern Team site en WebTemplate 68 staat voor een Modern Communication site. De verwachting is uiteraard dat er meerdere standaard sjablonen komen.
Een site script kan bijvoorbeeld dan worden toegevoegd middels het volgende commando:
Add-SPOSiteScript -Title "Aanmaken takenlijst" -Content $site_script -Description "Maak de takenlijst voor de projecten site"
Met de parameter $site_script kan de JSON string worden meegegeven.
Beschikbare acties zijn:
- Nieuwe lijst aanmaken
- Thema toepassen
- Pagina aanmaken
- Instellen van een site logo
- Navigatie toevoegen
- Initiëren van een Microsoft flow
Voor meer informatie zie PnP Guidance site.
Doelgroepen
Een Site Design kan worden aangeboden aan een specifieke groep of een enkele gebruiker. Daarmee is het mogelijk om ontwerpen te maken die specifiek van toepassing zijn voor een bepaalde doelgroep zoals een afdeling of team.
Daarmee voorkom je dat een gebruiker te veel keuzes voor zijn kiezen krijgt en ben je meer ‘in control’.
Microsoft Flow
Een van de interessante opties is het kunnen starten van een Microsoft Flow. Daarmee is het mogelijk om via extra code bepaalde acties uit te voeren die niet standaard mogelijk zijn via Site Scripts. Hiervoor dien je de PnP Provisioning engine te gebruiken, schematisch ziet dit er als volgt uit:
Meer info op:
https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/site-design-overview
Voorbeeld van een Site Script
{ "$schema": "schema.json", "actions": [ { "verb": "applyTheme", "themeName": "Contoso Explorers" }, { "verb": "createSPList", "listName": "Customer Tracking", "templateType": 100, "subactions": [ { "verb": "SetDescription", "description": "List of Customers and Orders" }, { "verb": "addSPField", "fieldType": "Text", "displayName": "Customer Name", "isRequired": false, "addToDefaultView": true }, { "verb": "addSPField", "fieldType": "Number", "displayName": "Requisition Total", "addToDefaultView": true, "isRequired": true }, { "verb": "addSPField", "fieldType": "User", "displayName": "Contact", "addToDefaultView": true, "isRequired": true }, { "verb": "addSPField", "fieldType": "Note", "displayName": "Meeting Notes", "isRequired": false } ] } ], "bindata": { }, "version": 1 }