Author: Alessandra Bianchin
I “site design” sono una nuova funzionalità rilasciata da Microsoft per SharePoint Online che permette di creare Communication Site o Team Site garantendo un certo livello di coerenza grafica e funzionale: per esempio l’abilitazione di specifici Content-type, la creazione di alcune liste standard, o il mantenimento di una determinata palette di colori all’interno del sito,.
Con i “Site Design”, infatti, è possibile definire uno o più “site template” da utilizzare come base di partenza per effettuare il provisioning di nuovi Communication o Team Site secondo le specifiche desiderate.
Maggiori dettagli sui Site Design sono reperibili a questa pagina: https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/site-design-overview
Per customizzazioni più spinte, nel caso in cui un semplice site design non sia sufficiente, è possibile prevedere l’esecuzione di un Flow personalizzato da lanciare al termine della creazione del sito SharePoint, ad esempio per impostare permessi particolari su specifiche Document Library.
L’esempio che segue mostra come sia possibile integrare un Flow customizzato in un Site Design SharePoint già esistente.
Integrare Microsoft Flow con SharePoint Site Design
Creazione del flow
Innanzitutto è necessario creare un nuovo Flow a partire dal trigger “When a http request is received”: in seguito al primo salvataggio, verrà popolato il campo HTTP POST URL che ci servirà più tardi.
JSON schema
Nel campo “Request Body JSON Schema” inserire il testo riportato qui sotto: esso rappresenta la struttura del Payload che sarà trasmesso da SharePoint Online all’Endpoint di Flow al termine della creazione di un nuovo sito:
{ "type": "object", "properties": { "webUrl": { "type": "string" }, "parameters": { "type": "object", "properties": { "event": { "type": "string" }, "product": { "type": "string" } } } } }
Personalizzazione del Flow
Dopo aver correttamente configurato il trigger, è possibile sbizzarrirsi con la personalizzazione del Flow in modo da fargli eseguire le operazioni desiderate. Qualora fosse necessario eseguire operazioni sugli oggetti del sito SharePoint che ha scatenato l’esecuzione del Flow (ad esempio per creare oggetti in una lista), è possibile risalire al suo indirizzo web utilizzando la variabile “webUrl” generata dal trigger.
SharePoint Design script
Una volta che il flusso è stato correttamente impostato, è necessario aggiungere allo script PowerShell del Site Design la action necessaria per eseguire il Microsoft Flow. La lista dei vari tipi di actions supportate dai Site Design è disponibile a questo indirizzo: SharePoint Site Design Actions.
$script_jsonObj.actions += @{ verb= "triggerFlow" url= "https://prod-34.westeurope.logic.azure.com:443/workflows/ " name= "Flow from creation" parameters= { event= "" product= "" } }
Inserire nel campo “url“ il valore HTTP POST URL del trigger del Flow impostato in precedenza, e inserire il nome assegnato al Flow nel campo “name”.
Successivamente è possibile effettuare il deploy del nuovo Site Design sul nostro Tenant SharePoint Online.
Provisioning di un sito con il nuovo site design
Quando verrà creato un sito utilizzando il nuovo site design, durante il suo provisioning sarà visibile la lista di task che SharePoint sta eseguendo: tra questi anche il trigger del Flow aggiunto nelle actions allo step precedente.