Join Paolo Pialorsi in this short but in-depth video on How To Configure and Control Site Design in SharePoint Online.
When people in your organisation create new SharePoint sites, you often need to ensure some level of consistency. This video describes how you can use site designs and site scripts to provide custom configurations to apply when new sites are created.
Please log-in to view this video. Sign up for FREE ACCESS HERE
Welcome everybody welcome to this how-to video for the European SharePoint conference 2018 we will talk today about configuring and controlling site design in SharePoint Online I’m Paolo Pialorsi from pieces calm and here you can find my Twitter ID if you want to follow me on Twitter few words about the site design idea and then we will switch to the demo environment and see how to configure and out to leverage the site design in SharePoint Online the overall idea of site design is to provide reusable templates to end users that will be able to create new sites and new modern sites automatically applying designs which will create custom lists which will apply custom themes and more in general which will customize somehow customize the created sides we can use the site designs targeting both modern theme and modern communication sites and basically a site designer is made just of a script or of a set of scripts which can be defined using a JSON file which will describe what are the actions what are the steps that you want to complete to accomplish using your site design and when site design is selected by an end user what will happen will be that SharePoint will create a new site and will a synchronous Li apply the site designer to just create site from an end user perspective the end users will be able to wait if they want for the site design application or they can just later on refresh or access the side and they will find this site design applied to their target site keep in mind that at the time of this recording the site design capability is still under preview so if you want to use it you need to be in a targeted release tenant of office 365 and it is not fully available in the full release in the global available release of the office traces tenants let’s say des let me explain you a little bit more about how the site design works and then we will create and see how to create a custom site design first of all as I told you they are based on a JSON file and those designs files has to be have to be installed in your SharePoint Online tenant using either PowerShell or a bunch of recipe is the available actions that you have are those for creating a new list to apply a theme a graphical team I mean to set the logo of your site or to add the navigation items plus one really cool capability which is the capability to trigger a Microsoft flow so that whenever you want to do something which is not included in the list of out-of-the-box actions you just need to use a flow and to trigger external actions to improve the overall capabilities that you have in your hands to apply a set design you could have multiple scripts in a song in a single set design and in a script you can have up to 30 cumulative actions so that you can do quite a lot of stuff when you create a new site and when you apply a site design on a site you can even execute a site design multiple times on the same site and what will happen will be an update of the site design on top of the target site so there will not be any destructive action but you will always keep in sync the target site we decided on that you will apply on top of it let’s say let me share with you a an architectural idea that we promote as PMP whenever you want to create a real enterprise level or real business level solutions based on site designs so you know then you can use different kind of actions including the capability to run a Microsoft flow so let’s say that you have a SharePoint Online that you want to create a site and apply a site design on the side well you can trigger a max a flow which will then just create a message in the blob storage queue over here just to make an example and based on that message cued in the storage queue of Asia you can trigger a major function which for example using PowerShell can do custom stuff like for example applying a PMP provisioning template onto a target site and that is exactly what I’m going to explain you how to do using a bunch of PowerShell and some easier were close to have a full running solutions capable to provision aside including a set design which will apply a PMP provisioning template so let me switch to my demo environment and let me show you what I mean so here I’m in my browser and let me create a new site in this SharePoint Online session whenever I select to create a new team site for example as you can see here I can select a site design to apply I can select any of the site designs including one which is called PNP set design which is the one I just created in my environment you can provide a name for your target site which can be ESPC18 webinar how-to for example and once I will create a decide it will take just a while to create the site collection and I will click the finish button to access the web site you will see that and here we are you will see that there will be on the right side of my screen a small dialog this one getting a few things ready which is now triggering a flow and which will do the magic in background which will apply a PMP provisioning template to my site so how can we do that first of all let’s have a look at how you can define a site design regardless it is a site design using PMP or not using PMP in order to do that you need to use the PowerShell management common let’s for SharePoint online so you have to connect with SPO service to your target tenant and this is my own tenant providing administrative credentials then you can get the content of a JSON file which I will show you pretty soon and you can use the add SPU script command letter to add that JSON script as a side script that to your tenant once you have done that you will get back a global unique identifier which will uniquely identify your side script a deterrent level and you will be able to add a site design to the tenant providing a name providing a target which can be 64 for a modern team site or if I’m not mistaken 68 for a communication side and you will provide the global unique identifier of your side script that will be one of the type of besides scripts that you can include in this IDE design as you can see this argument is plural side scripts because you can provide an array of goods which will identify multiple site scripts that you want to apply and if you like you can provide even a description to better describe this I design to your end-users once you do that you have a new site design available in the drop-down list that you saw before just to show you what is the content of these contours explore a JSON file let me open this file for you and let me show you what’s inside so I will use a notepad editor and this is my JSON file as you can see there is a reference schema and we have a bunch of actions an array of actions make sure could be apply a team another action could be create a list but we can even have something more interesting like for example inside design which in the side script will trigger a flow of my code flow and this will be the scenario that I just showed you and through this one I can provide the URL of the Microsoft flow that I want to trigger and I will be able to provide to this micro the URL of the side that has just been created so let me switch to my environment back again and let me explain you how you can register such kind of site design including the Maxis flow triggering so back to my browser first of all in order to register such a site design you need to have a client ID and the client secret that you will use in your PowerShell script to do the real provisioning through PMP so using a pregnancy IX you will register a new application you will go to the app inventory at the tenant level notice the dash admin in the URL through the ID of the just registered application you will be able to give to this application the permission to run in the app only mode what I mean is that for example if I will use the idea of the application that I already registered in my tenant I can make a lookup and I can retrieve the information of my application and I can apply the permissions to run in an app only mode for this application once I’ve done that I have an identity I mean a client ID and the client secret that I didn’t use to run an app only script which will be the PowerShell script to provision my PMP provisioning template then you have to go into Microsoft flows so flowed Microsoft comma and there you will have to create a blank flow and to add an HTTP triggering action which will be used to trigger your flow and when your flow will be triggered let me show you the content of this flow when your flow will be triggered it will get as an input a JSON message which is well documented on Docs match.com and this will be the URL to which your flow will be listening for new requests once you get a new request you simply put a message in a queue a queue which is a blob storage queue created in the azure blob storage service and here we are Here I am in Asia in a river subscription I have in Asia blob storage service and under the user I have a custom queue moreover you can define new function so you can go under function apps and you can add a new function the function can be a function triggered by a message in a queue so when you decide to create okay of course I will lose this information but I don’t really care so function up for example when you create a new function app you can select to create a function app which will be for example or we can even do that from here to be faster so let me go back here and let me just add a function here you can select to add a function with all the experimental languages support and as you can see you have the queue trigger which supports PowerShell so you can select this option and you will end up adding a PowerShell console available in which you can write your PowerShell script which will simply be a PowerShell script to connect to the target site and to apply a provisioning template using PMP this will be whatever kind of PMP provisioning template you like and you will have to retrieve the application client ID and the application secret that you’ve registered in SharePoint simply configuring them in the application settings of your function up let’s say them you will be ready to trigger your flow using decide design and trigger the edge’ function using the cue based message and the magic will happen because when you will create a new site using this eye design you will have your site fully created and with all of the customizations that you like to have it’s like for example as you can see in this side I have a custom footer which is based on a SharePoint framework extensions that I built and that I provisioned using my provisioning template just for the sake of completeness and I am almost done with my outer demo this is the content of my template and as you can see here I provision a custom action which will simply activate on the target side my application customizer and my extension which will pop up in the UI and allow me to extend the UI of my side so that’s a complex journey you have to do multiple steps if you want to automate the provisioning of a PNP template through a site design but this is really powerful because you can do a lot of stuff thanks to the capabilities of the PNP provisioning engine and of the full integration that you have between SharePoint Online and decide design and the max-flow support provided by these side designs I think that fit so I just want to switch back to this light deck to say thank you for watching this video I hope you enjoyed and you can find further details and step-by-step instructions on docs.microsoft.com under the SharePoint area and there you will find a fully detailed article to reproduce the same scenario that I just showed you so thank youLog In