SlideShare a Scribd company logo
1 of 38
Getting Started with Site
Designs and Site Scripts for
Modern SharePoint Provisioning
SharePoint Saturday Chicago Suburbs 2020 #SPSChiBurbs
Drew & Matt
Email : drew.madelung@protiviti.com
Twitter : @dmadelung
Website: drewmadelung.com
Cloud consultants at Protiviti
Email : matt.lavieri@protiviti.com
Twitter : @mslavieri
Website: https://blog.mslavieri.com
We help people move to Office 365 and build cool stuff once in it
Site designs?
What?
Ok that’s awesome
Getting Started with
Site Designs and Site
Scripts for Modern
SharePoint
Provisioning
SharePoint Saturday Chicago Suburbs 2020
Woah look at that
Site scripts?
This is so much better than site templates!!
Evolution of Site Provisioning Landscape
SharePoint 2013 SharePoint 2016
SharePoint Online
evolves
Do you have a provisioning
process?
Are you using any templates?
What are Site Designs and Site Scripts?
• A Site Design is a collection of Site Scripts
• Site Scripts are the actions
• A Site Design is applied to a site or subsite
• Applying a Site Design executes the actions
• Site Designs can be applied:
• On site collection creation
• Manually whenever you’d like
• Joining a hub
• Site Designs are containers for the actions
Site Design
Site
Script
Site
Script
Site
Script
SSite Designs and Site Scripts? What?
• Site Designs are NOT “attached” to sites
• Site Designs are NOT pre-packaged sites
• Changing an existing Site Design does not update existing sites
where the Design was applied
• The out of the box site definition and template are not changed
• Example: STS#3 / Group#0
• The new goodness is added on top to not break root
functionality
Site Exists
Site Design
Applied
Site Designs are the interior decorator for a new
house and Site Scripts are the things they do.
Site Scripts
• Title
• ID
• Script actions
(Create List, Apply
Theme, Add to Nav,
Trigger Flow…)
Site Designs
• Title & Desc
• Preview Image
• Web Template
• Site Script Array
• Scope | isDefault
Site Design Infrastructure
When to use Site Designs
STS#0
Amending out-of-box templates
with select customizations
ODSP
Updating existing sites with
common site elements or changes
Application of specific configurations or
business logic consistently when new
sites are created
Team
Let’s take a
look
Demo
Time to dive
deeper
Need to know
• These are NOT destructive
• For example, if the site already has a list with the same name that the site script is creating, the site
script will only add missing fields to the existing list.
• Limit of 100 Site Scripts and 100 Site Designs per tenant
• Site Scripts can contain 300 actions (or 100,000 characters)
• Not just for modern sites
• Site scripts run in order
Breaking down Site Scripts
actions: [
...
{
"verb": "createSPList",
"listName": "Contoso Project Tracker",
"templateType": 100,
"subactions":
[
{
"verb": "SetDescription",
"description": "Custom list to illustrate SharePoint site
scripting capabilities"
},
{
"verb": "addContentType",
"name": "Contoso Projects"
},
{
"verb": "addSPFieldXml",
"schemaXml": "<Field Type="Choice"
DisplayName="Project Status" Required="FALSE" Format="Dropdown"
StaticName="ProjectStatus" Name="ProjectStatus"><Default>In
progress</Default><CHOICES><CHOICE>In progress</CHOICE><CHOICE>In
review</CHOICE><CHOICE>Hasissues</CHOICE><CHOICE>Done</CHOICE></CHOIC
ES></Field>"
},
{
“verb": "triggerFlow",
"url": "https://prod-
27.westus.logic.azure.com:443/workflows/e55f61e4a43443e0a3cecb80bcd10
4c8/triggers/manual/paths/invoke?api-version=2016-06-
01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=WCDzWhPTB1rXMPKeGv0GQnMuG
0Fcaf7fsWEcYe2fxE0",
"name": "update home page and record site creation",
}
...
Site Script: JSON file of
actions to be applied to the site
post-creation
Actions can be concatenated in
single file or multiple files can be
used (and reused)
Include Parent and subactions
Field Xml supported
TriggerFlow action can be used to
call published flows to do additional
configurations to site, including
applying custom solutions or writing
site creation info back to a list
SharePoint Components
• createSPList
• addSPField
• deleteSPField
• addSPFieldXml
• createSiteColumn
• createSiteColumnXml
• Global Taxonomy
• addSiteColumn
• addContentType
• createContentType
• removeContentType
• addSPView
• removeSPView
• setSPFieldCustomFormatter
• addFolder
• addFile
• setDocumentTemplates
• setSiteLogoFromFile
Register Solutions:
• installSolution
• SPFx Extension support
• associateExtension
• associateListViewCommandSet
• associateFieldCustomizer
Settings
• addPrincipalToSPGroup
• addNavLink (QL, Hub, footer)
• removeNavLink (QL, Hub, footer)
• applyTheme
• setSiteLogo
• setSiteBranding
• Header layout
• Header Background
• Navigation Style
• Footer Visibility
• setRegionalSettings
• setSiteExternalSharingCapability
• triggerFlow
• joinHubSite
• activateSPFeature
Branding &
Other Site
Settings
Apps & Solutions
SharePoint
Components
Site Script Actions
JSON Schema: http://bit.ly/sitescriptjson
Managing Site Designs
Get-SPOSiteDesign
Add-SPOSiteDesign
Set-SPOSiteDesign
Remove-SPOSiteDesign
Managing Site Scripts
Get-SPOSiteScript
Add-SPOSiteScript
Set-SPOSiteScript
Remove-SPOSiteScript
Get-SPOSiteScriptFromList
Running Site Designs
Get-SPOSiteDesignTask
Add-SPOSiteDesignTask
Remove-SPOSiteDesignTask
Invoke-SPOSiteDesign
Managing Site Design Rights
Get-SPOSiteDesignRights
Grant-SPOSiteDesignRights
Revoke-SPOSiteDesignRights
Get Applied Site Design Info for Sites
Get-SPOSiteDesignRun
Get-SPOSiteDesignRunStatus
Documentation: http://bit.ly/sitedesignpowershell
How to work with them?
Download: http://bit.ly/sharepointonlinepowershell
Lets get started
Create Site
Script(s)
Create Site
Design
Manage
Site
Designs
Apply Site
Design
Review
Applied
Site
Designs
Site Scripts
Create Site
Script(s)
• Create a .json file
• Store it somewhere locally
• Add the script through PowerShell
$sitescriptjson = Get-Content ‘C:sitescriptsContoso-CreateAdvancedList.json' -Raw
Add-SPOSiteScript -Title “Contoso Lists" -Description "" -Content $sitescriptjson
Create Site
Design
Site Designs
$sitescript = Get-SPOSiteScript | where {$_.Title -eq "Contoso Advanced Lists"} | select Id
Add-SPOSiteDesign -SiteScripts $sitescript.Id `
-Title "Advanced Design" `
-WebTemplate 1 `
-Description "Applies advanced lists and other cool things" `
-PreviewImageUrl "https://domain.sharepoint.com/SiteAssets/AdvancedSiteDesign.jpg" `
-PreviewImageAltText "It's a picture of a smart cat"
• Add site design through PowerShell with parameters
• Pass in Site Scripts through variable to guid
• WebTemplate: 64=Team Sites, 68=Comm Sites, 1=Groupless team site
• -isDefault can be used per template to auto apply to all default sites
Mange
Site
Designs
Site Designs
• Update permissions of who can view (View is only option)
• Utilize Users or Mail Enabled Security Groups (Not O365 Groups yet)
$sitedesign = Get-SPOSiteDesign | where {$_.Title -eq "Advanced Design"}
Grant-SPOSiteDesignRights `
-Identity $sitedesign.Id `
-Principals ("advancedsitedesigns@drewmadelung.com") `
-Rights View
#Get
Get-SPOSiteDesignRights -Identity $sitedesign.Id
#Remove
Revoke-SPOSiteDesignRights -Identity $sitedesign.Id `
-Principals "advancedsitedesigns@drewmadelung.com"
Apply Site
Design
Site Designs
• Applied through:
• Site Creation
• Site Design Panel
Apply Site
Design
Site Designs
• Applied through:
• PowerShell
• Initial limit of 30 actions in a site script (still applies to creation UI)
• 100k character limit with new cmdlet, info panel & hub join
$sitedesign = Get-SPOSiteDesign | where {$_.Title -eq "Advanced Design"}
#Small
Invoke-SPOSiteDesign -Identity $sitedesign.Id `
-WebUrl "https://domain.sharepoint.com/sites/design1"
#Large – Use this one
Add-SPOSiteDesignTask -SiteDesignId $sitedesign.Id `
-WebUrl "https://domain.sharepoint.com/sites/AdvancedDesign1"
Review
Applied
Site
Designs
Site Designs
• View Site Designs applied to a site
• View details of ran Site Designs applied to site
• Use to find:
• Sites where Site Designs were applied to perform an update
• Finding or debugging errors
#Designs by site
Get-SPOSiteDesignRun -WebUrl "https://domain.sharepoint.com/sites/AdvancedDesign1"
#Details by design run
$sdr = Get-SPOSiteDesignRun -WebUrl "https://domain.sharepoint.com/sites/AdvancedDesign1"
foreach($s in $sdr){Get-SPOSiteDesignRunStatus -Run $s}
Let’s take a
look
Demo
What else?
Set a Site Design for a Hub Site
• Site Design is associated to the hub site through the UI or Programmatically
• Site Design will apply when joining a hub site
• Leaving a Hub Site will not reverse anything
• Align view permissions of Site Design with Hub Site permissions
$hubsite = Get-SPOHubSite | where {$_.Title -eq "Project Hub"}
$sitedesign = Get-SPOSiteDesign | where {$_.Title -eq "Advanced Design"}
Set-SPOHubSite -Identity $hubsite -SiteDesignId $sitedesign.Id
Get Site Script from a List
• Get the Site Script JSON directly from an existing SharePoint list or library
• All current list actions supported
• Doesn’t export as site columns
• Great starting point
$listextract = Get-SPOSiteScriptFromList "https://domain.sharepoint.com/sites/site/list"
#Export to file
$jsonfile = " C:sitescriptsListExport - FavoriteDogs.json"
Get-SPOSiteScriptFromList "https:// https://domain.sharepoint.com/sites/site/list " `
| Out-File $jsonfile
Get Site Script from a Web
• Get the Site Script JSON directly
from an existing SharePoint site
• Switches for different structure
$webextract = Get-SPOSiteScriptFromWeb -WebUrl "https://domain.sharepoint.com/sites/site" `
-IncludeBranding `
-IncludeTheme `
-IncludeRegionalSettings `
-IncludeSiteExternalSharingCapability `
-IncludeLinksToExportedItems `
-IncludeLists (”Shared Documents”, “Lists/Projects”)
Add-SPOSiteScript -Title “Contoso Site" -Description "" -Content $webextract
triggerFlow Action in a Site Script
• Very powerful
• Rest of site design will continue to run
• Can use dynamic parameter: webUrl, creatorName, creatorEmail, webDescription, createdTimeUTC
{
"$schema": "schema.json",
"actions": [
{
"verb": "triggerFlow",
"url": "https://prod-
25.westus.logic.azure.com:443/workflows/b6448f82fe25489985751785a5ce8a3e/triggers/manual/paths/invoke?api-version=2016-06-
01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=DGcLB-w2s40fO-UwwCk9lacHSdniaaMdJwTrYA4Scb8",
"name": "Site creation event",
"parameters": {
"event":"site creation",
"product":"SharePoint Online"
}
}
]
}
Flow & PnP Provisioning
You can use the PnP Provisioning framework with Site Designs & Site Scripts by using the triggerFlow action.
http://bit.ly/pnpprovisioning
REST APIs
You can use the SharePoint
REST interface to perform
basic CRUD operations
REST Command Description
CreateSiteScript Creates a new site script.
GetSiteScripts Gets a list of information on existing site scripts.
GetSiteScriptFromList Creates site script syntax from an existing SharePoint list.
GetSiteScriptMetadata Gets information about a specific site script.
UpdateSiteScript Updates a site script with new values.
DeleteSiteScript Deletes a site script.
CreateSiteDesign Creates a site design.
ApplySiteDesign Applies a site design to an existing site collection.
AddSiteDesignTaskToCurrentWeb Adds a site design task on the current web.
GetSiteDesigns Gets a list of information on existing site designs.
GetSiteDesignMetadata Gets information about a specific site design.
UpdateSiteDesign Updates a site design with new values.
DeleteSiteDesign Deletes a site design.
GetSiteDesignRights Gets a list of principals that have access to a site design.
GrantSiteDesignRights Grants access to a site design for one or more principals.
RevokeSiteDesignRights Revokes access from a site design for one or more principals.
http://bit.ly/sitedesignrest
Flexible site
configuration
model
Clean &
consistently branded
sites
Recreate
and configure
SharePoint objects
Apply site
settings and call
custom solutions
Apply company theme,
add/remove site
navigation links,
or set other site
branding elements at
time of creation
Site designs can be
injected into in-product
provisioning
experiences or manually
applied to automate
consistent site creation
Easily craft or extract
configuration details of
lists & libraries to
reapply to new or
related sites
Provision select settings
after creation; use
Microsoft Flow to call
apply additional
business logic
Automate the custom configuration of sites across the
enterprise consistently
More demos
Current Limitations
• Primarily based on Site Script action availability , no options to:
• Configure web parts
• Site collection features
• Detailed library/list work
• Deploying files
• Creating pages (in schema)
• Challenges with subsites and inheritance
Roadmap: Intelligent intranet
Home sites for web and mobile
Audience targeting for news and pages
Hubs
Hub join approval
Bulk hub association in admin center (available now)
Branding
Shy header
Additional footer capabilities
SharePoint mobile app co-branding
Pages, news and web parts
Wiki Linking
Undo/Redo
Available Now
Vertical sections
Drag and drop files to the canvas
Rich preview of links pasted into the text part
On page anchors
Button, Call to action, Clock & Weather web parts
Hero gets secondary call to action links
Highlighted content gets custom query filtering
Other key features
Make a classic team site a comm site
Site scripts & site designs: Extract a site to a site
script, including multiple lists, branding and
navigation (using PowerShell)
Page Diagnostics V2 for Modern (Released)
Page scheduling
Audience targeting for navigation
Hubs
Associated hubs
Hub permissions
Hub analytics
Additional header capabilities
SharePoint Teal default theme
File uploads in SP mobile app
Portal owner page
Yammer conversations web part (v2)
My Feed web part
Site scripts & site designs
Support for folder and file content
Teams template integration
Additional script actions
SharePoint spaces public preview
Available soon Early next year
Global tenant navigation
Further integrations into Microsoft Teams
Calendar experiences in SharePoint
Top of mind
• xxxx
Help Contribute &
Stay Informed!
Site Script Examples
https://github.com/SharePoint/sp-dev-site-scripts
Microsoft Overview
https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/site-design-
overview
Builders
https://sptools.netlify.com
https://www.sitedesigner.io
https://github.com/SharePoint/sp-dev-solutions/tree/master/solutions/SiteDesignsStudio
SharePoint Dev Blog
https://developer.microsoft.com/en-us/sharepoint/blogs
Microsoft Tech Community
https://techcommunity.microsoft.com
Microsoft 365 Roadmap
https://fasttrack.microsoft.com/roadmap
Questions?
Email: drew.madelung@protiviti.com
Twitter: @dmadelung
Website: drewmadelung.com
Email: matt.lavieri@protiviti.com
Twitter: @mslavieri
Website: blog.mslavieri.com
Slides: http://bit.ly/DrewSlides
Getting Started with
Site Designs and Site
Scripts for Modern
SharePoint Provisioning
SharePoint Saturday
Chicago Suburbs 2020
#SPSChiBurbs

More Related Content

What's hot

What's hot (20)

ユーザ要望に応えるView customize活用事例
ユーザ要望に応えるView customize活用事例ユーザ要望に応えるView customize活用事例
ユーザ要望に応えるView customize活用事例
 
View Customize Pluginで出来ること
View Customize Pluginで出来ることView Customize Pluginで出来ること
View Customize Pluginで出来ること
 
SharePoint Design & Configuration Best Practices & Guidelines - Innovate Vanc...
SharePoint Design & Configuration Best Practices & Guidelines - Innovate Vanc...SharePoint Design & Configuration Best Practices & Guidelines - Innovate Vanc...
SharePoint Design & Configuration Best Practices & Guidelines - Innovate Vanc...
 
Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more!
Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more!Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more!
Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more!
 
Microsoft Power Automate - Approval Flow
Microsoft Power Automate - Approval FlowMicrosoft Power Automate - Approval Flow
Microsoft Power Automate - Approval Flow
 
オブジェクト指向設計の原則
オブジェクト指向設計の原則オブジェクト指向設計の原則
オブジェクト指向設計の原則
 
View customize pluginを使いこなす
View customize pluginを使いこなすView customize pluginを使いこなす
View customize pluginを使いこなす
 
Microsoft Dataverse for Teams の裏側をみてみよう
Microsoft Dataverse for Teamsの裏側をみてみようMicrosoft Dataverse for Teamsの裏側をみてみよう
Microsoft Dataverse for Teams の裏側をみてみよう
 
Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善Redmineカスタムフィールド表示改善
Redmineカスタムフィールド表示改善
 
SharePoint Online 「アクセス権」を理解する
SharePoint Online 「アクセス権」を理解するSharePoint Online 「アクセス権」を理解する
SharePoint Online 「アクセス権」を理解する
 
SharePoint Administration & Permissions
SharePoint Administration & PermissionsSharePoint Administration & Permissions
SharePoint Administration & Permissions
 
Azure Functionsを業務利用する時の勘所
Azure Functionsを業務利用する時の勘所Azure Functionsを業務利用する時の勘所
Azure Functionsを業務利用する時の勘所
 
自社で実運用中!Power Apps・Power Automate 活用事例
自社で実運用中!Power Apps・Power Automate 活用事例自社で実運用中!Power Apps・Power Automate 活用事例
自社で実運用中!Power Apps・Power Automate 活用事例
 
全文検索でRedmineをさらに活用!
全文検索でRedmineをさらに活用!全文検索でRedmineをさらに活用!
全文検索でRedmineをさらに活用!
 
継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する
 
REST API マスターへの道 - Office 365 パワーユーザー向け
REST API マスターへの道 - Office 365 パワーユーザー向けREST API マスターへの道 - Office 365 パワーユーザー向け
REST API マスターへの道 - Office 365 パワーユーザー向け
 
Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdf
Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdfInformation Architecture Guidelines (SharePoint) - Innovate Vancouver.pdf
Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdf
 
SharePoint Design & Development
SharePoint Design & DevelopmentSharePoint Design & Development
SharePoint Design & Development
 
SharePoint Online で最近の困った。 大きなリストのお話。
SharePoint Online で最近の困った。 大きなリストのお話。SharePoint Online で最近の困った。 大きなリストのお話。
SharePoint Online で最近の困った。 大きなリストのお話。
 
SharePoint Records Management - Office 365
SharePoint Records Management - Office 365SharePoint Records Management - Office 365
SharePoint Records Management - Office 365
 

Similar to Getting Started with Site Designs and Site Scripts - SPSChi

SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
Bill Ayers
 
SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...
SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...
SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...
BIWUG
 

Similar to Getting Started with Site Designs and Site Scripts - SPSChi (20)

Getting Started with Site Designs and Site Scripts - NACollabSummit 2019
Getting Started with Site Designs and Site Scripts - NACollabSummit 2019Getting Started with Site Designs and Site Scripts - NACollabSummit 2019
Getting Started with Site Designs and Site Scripts - NACollabSummit 2019
 
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
 
Make SharePoint Look Not Like SharePoint - SPSNashville - Cathy Dew
Make SharePoint Look Not Like SharePoint - SPSNashville - Cathy DewMake SharePoint Look Not Like SharePoint - SPSNashville - Cathy Dew
Make SharePoint Look Not Like SharePoint - SPSNashville - Cathy Dew
 
Your Intranet, Your Way
Your Intranet, Your WayYour Intranet, Your Way
Your Intranet, Your Way
 
OFF 103 - Build a Public Website on Office 365
OFF 103 - Build a Public Website on Office 365OFF 103 - Build a Public Website on Office 365
OFF 103 - Build a Public Website on Office 365
 
PnP Webcast - Introduction to SharePoint Site Designs and Site Scripts
PnP Webcast - Introduction to SharePoint Site Designs and Site ScriptsPnP Webcast - Introduction to SharePoint Site Designs and Site Scripts
PnP Webcast - Introduction to SharePoint Site Designs and Site Scripts
 
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public SitesSharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
SharePoint Saturday Kansas 2015 - Building Killer Office365 Public Sites
 
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
 
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
 
SPSBE18: New era of customizing site provisioning
SPSBE18: New era of customizing site provisioningSPSBE18: New era of customizing site provisioning
SPSBE18: New era of customizing site provisioning
 
New era of customizing site provisioning
New era of customizing site provisioningNew era of customizing site provisioning
New era of customizing site provisioning
 
SharePoint 2013 Search and Creating Dynamic Content Management Solutions
SharePoint 2013 Search and Creating Dynamic Content Management SolutionsSharePoint 2013 Search and Creating Dynamic Content Management Solutions
SharePoint 2013 Search and Creating Dynamic Content Management Solutions
 
Oracle APEX Nitro
Oracle APEX NitroOracle APEX Nitro
Oracle APEX Nitro
 
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
 
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna LinsO365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
 
Understanding and Customizing the Modern SharePoint Experience
Understanding and Customizing the Modern SharePoint ExperienceUnderstanding and Customizing the Modern SharePoint Experience
Understanding and Customizing the Modern SharePoint Experience
 
Spsbe using js-linkanddisplaytemplates
Spsbe   using js-linkanddisplaytemplatesSpsbe   using js-linkanddisplaytemplates
Spsbe using js-linkanddisplaytemplates
 
SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...
SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...
SharePoint Saturday Belgium 2014 - Using JSLink and Display Templates with th...
 
Share point development 101
Share point development 101Share point development 101
Share point development 101
 

More from Drew Madelung

More from Drew Madelung (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Deep dive into Microsoft Purview Data Loss Prevention
Deep dive into Microsoft Purview Data Loss PreventionDeep dive into Microsoft Purview Data Loss Prevention
Deep dive into Microsoft Purview Data Loss Prevention
 
Introduction to Microsoft Syntex
Introduction to Microsoft SyntexIntroduction to Microsoft Syntex
Introduction to Microsoft Syntex
 
Breakdown of Microsoft Purview Solutions
Breakdown of Microsoft Purview SolutionsBreakdown of Microsoft Purview Solutions
Breakdown of Microsoft Purview Solutions
 
Deploying & Managing OneDrive
Deploying & Managing OneDriveDeploying & Managing OneDrive
Deploying & Managing OneDrive
 
Deploying Viva Topics
Deploying Viva TopicsDeploying Viva Topics
Deploying Viva Topics
 
Labelling in Microsoft 365 - Retention & Sensitivity
Labelling in Microsoft 365 - Retention & SensitivityLabelling in Microsoft 365 - Retention & Sensitivity
Labelling in Microsoft 365 - Retention & Sensitivity
 
How to Successfully Manage OneDrive for Business
How to Successfully Manage OneDrive for BusinessHow to Successfully Manage OneDrive for Business
How to Successfully Manage OneDrive for Business
 
What's New with OneDrive
What's New with OneDriveWhat's New with OneDrive
What's New with OneDrive
 
Getting started with with SharePoint Syntex
Getting started with with SharePoint SyntexGetting started with with SharePoint Syntex
Getting started with with SharePoint Syntex
 
Intro to Shared Channels
Intro to Shared ChannelsIntro to Shared Channels
Intro to Shared Channels
 
What's new with Security & Compliance for SharePoint, OneDrive, and Teams
What's new with Security & Compliance for SharePoint, OneDrive, and TeamsWhat's new with Security & Compliance for SharePoint, OneDrive, and Teams
What's new with Security & Compliance for SharePoint, OneDrive, and Teams
 
Everything you need to know about external sharing in OneDrive, SharePoint, a...
Everything you need to know about external sharing in OneDrive, SharePoint, a...Everything you need to know about external sharing in OneDrive, SharePoint, a...
Everything you need to know about external sharing in OneDrive, SharePoint, a...
 
Microsoft Ignite 2021 Recap
Microsoft Ignite 2021 RecapMicrosoft Ignite 2021 Recap
Microsoft Ignite 2021 Recap
 
How to successfully manage OneDrive
How to successfully manage OneDriveHow to successfully manage OneDrive
How to successfully manage OneDrive
 
What's new with OneDrive - July 2021
What's new with OneDrive - July 2021What's new with OneDrive - July 2021
What's new with OneDrive - July 2021
 
Securing SharePoint, OneDrive, & Teams with Sensitivity Labels
Securing SharePoint, OneDrive, & Teams with Sensitivity LabelsSecuring SharePoint, OneDrive, & Teams with Sensitivity Labels
Securing SharePoint, OneDrive, & Teams with Sensitivity Labels
 
Labelling in Microsoft 365 - Retention & Sensitivity
Labelling in Microsoft 365 - Retention & SensitivityLabelling in Microsoft 365 - Retention & Sensitivity
Labelling in Microsoft 365 - Retention & Sensitivity
 
Sensitivity for Groups, Teams, and SharePoint
Sensitivity for Groups, Teams, and SharePointSensitivity for Groups, Teams, and SharePoint
Sensitivity for Groups, Teams, and SharePoint
 
Wisconsin SharePoint User Group - November 2020 - Ignite News
Wisconsin SharePoint User Group - November 2020 - Ignite NewsWisconsin SharePoint User Group - November 2020 - Ignite News
Wisconsin SharePoint User Group - November 2020 - Ignite News
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Getting Started with Site Designs and Site Scripts - SPSChi

  • 1. Getting Started with Site Designs and Site Scripts for Modern SharePoint Provisioning SharePoint Saturday Chicago Suburbs 2020 #SPSChiBurbs
  • 2. Drew & Matt Email : drew.madelung@protiviti.com Twitter : @dmadelung Website: drewmadelung.com Cloud consultants at Protiviti Email : matt.lavieri@protiviti.com Twitter : @mslavieri Website: https://blog.mslavieri.com We help people move to Office 365 and build cool stuff once in it
  • 3. Site designs? What? Ok that’s awesome Getting Started with Site Designs and Site Scripts for Modern SharePoint Provisioning SharePoint Saturday Chicago Suburbs 2020 Woah look at that Site scripts? This is so much better than site templates!!
  • 4. Evolution of Site Provisioning Landscape SharePoint 2013 SharePoint 2016 SharePoint Online evolves
  • 5. Do you have a provisioning process? Are you using any templates?
  • 6. What are Site Designs and Site Scripts? • A Site Design is a collection of Site Scripts • Site Scripts are the actions • A Site Design is applied to a site or subsite • Applying a Site Design executes the actions • Site Designs can be applied: • On site collection creation • Manually whenever you’d like • Joining a hub • Site Designs are containers for the actions Site Design Site Script Site Script Site Script
  • 7. SSite Designs and Site Scripts? What? • Site Designs are NOT “attached” to sites • Site Designs are NOT pre-packaged sites • Changing an existing Site Design does not update existing sites where the Design was applied • The out of the box site definition and template are not changed • Example: STS#3 / Group#0 • The new goodness is added on top to not break root functionality Site Exists Site Design Applied
  • 8. Site Designs are the interior decorator for a new house and Site Scripts are the things they do.
  • 9. Site Scripts • Title • ID • Script actions (Create List, Apply Theme, Add to Nav, Trigger Flow…) Site Designs • Title & Desc • Preview Image • Web Template • Site Script Array • Scope | isDefault Site Design Infrastructure
  • 10. When to use Site Designs STS#0 Amending out-of-box templates with select customizations ODSP Updating existing sites with common site elements or changes Application of specific configurations or business logic consistently when new sites are created Team
  • 13. Need to know • These are NOT destructive • For example, if the site already has a list with the same name that the site script is creating, the site script will only add missing fields to the existing list. • Limit of 100 Site Scripts and 100 Site Designs per tenant • Site Scripts can contain 300 actions (or 100,000 characters) • Not just for modern sites • Site scripts run in order
  • 14. Breaking down Site Scripts actions: [ ... { "verb": "createSPList", "listName": "Contoso Project Tracker", "templateType": 100, "subactions": [ { "verb": "SetDescription", "description": "Custom list to illustrate SharePoint site scripting capabilities" }, { "verb": "addContentType", "name": "Contoso Projects" }, { "verb": "addSPFieldXml", "schemaXml": "<Field Type="Choice" DisplayName="Project Status" Required="FALSE" Format="Dropdown" StaticName="ProjectStatus" Name="ProjectStatus"><Default>In progress</Default><CHOICES><CHOICE>In progress</CHOICE><CHOICE>In review</CHOICE><CHOICE>Hasissues</CHOICE><CHOICE>Done</CHOICE></CHOIC ES></Field>" }, { “verb": "triggerFlow", "url": "https://prod- 27.westus.logic.azure.com:443/workflows/e55f61e4a43443e0a3cecb80bcd10 4c8/triggers/manual/paths/invoke?api-version=2016-06- 01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=WCDzWhPTB1rXMPKeGv0GQnMuG 0Fcaf7fsWEcYe2fxE0", "name": "update home page and record site creation", } ... Site Script: JSON file of actions to be applied to the site post-creation Actions can be concatenated in single file or multiple files can be used (and reused) Include Parent and subactions Field Xml supported TriggerFlow action can be used to call published flows to do additional configurations to site, including applying custom solutions or writing site creation info back to a list
  • 15. SharePoint Components • createSPList • addSPField • deleteSPField • addSPFieldXml • createSiteColumn • createSiteColumnXml • Global Taxonomy • addSiteColumn • addContentType • createContentType • removeContentType • addSPView • removeSPView • setSPFieldCustomFormatter • addFolder • addFile • setDocumentTemplates • setSiteLogoFromFile Register Solutions: • installSolution • SPFx Extension support • associateExtension • associateListViewCommandSet • associateFieldCustomizer Settings • addPrincipalToSPGroup • addNavLink (QL, Hub, footer) • removeNavLink (QL, Hub, footer) • applyTheme • setSiteLogo • setSiteBranding • Header layout • Header Background • Navigation Style • Footer Visibility • setRegionalSettings • setSiteExternalSharingCapability • triggerFlow • joinHubSite • activateSPFeature Branding & Other Site Settings Apps & Solutions SharePoint Components Site Script Actions JSON Schema: http://bit.ly/sitescriptjson
  • 16. Managing Site Designs Get-SPOSiteDesign Add-SPOSiteDesign Set-SPOSiteDesign Remove-SPOSiteDesign Managing Site Scripts Get-SPOSiteScript Add-SPOSiteScript Set-SPOSiteScript Remove-SPOSiteScript Get-SPOSiteScriptFromList Running Site Designs Get-SPOSiteDesignTask Add-SPOSiteDesignTask Remove-SPOSiteDesignTask Invoke-SPOSiteDesign Managing Site Design Rights Get-SPOSiteDesignRights Grant-SPOSiteDesignRights Revoke-SPOSiteDesignRights Get Applied Site Design Info for Sites Get-SPOSiteDesignRun Get-SPOSiteDesignRunStatus Documentation: http://bit.ly/sitedesignpowershell How to work with them? Download: http://bit.ly/sharepointonlinepowershell
  • 17. Lets get started Create Site Script(s) Create Site Design Manage Site Designs Apply Site Design Review Applied Site Designs
  • 18. Site Scripts Create Site Script(s) • Create a .json file • Store it somewhere locally • Add the script through PowerShell $sitescriptjson = Get-Content ‘C:sitescriptsContoso-CreateAdvancedList.json' -Raw Add-SPOSiteScript -Title “Contoso Lists" -Description "" -Content $sitescriptjson
  • 19. Create Site Design Site Designs $sitescript = Get-SPOSiteScript | where {$_.Title -eq "Contoso Advanced Lists"} | select Id Add-SPOSiteDesign -SiteScripts $sitescript.Id ` -Title "Advanced Design" ` -WebTemplate 1 ` -Description "Applies advanced lists and other cool things" ` -PreviewImageUrl "https://domain.sharepoint.com/SiteAssets/AdvancedSiteDesign.jpg" ` -PreviewImageAltText "It's a picture of a smart cat" • Add site design through PowerShell with parameters • Pass in Site Scripts through variable to guid • WebTemplate: 64=Team Sites, 68=Comm Sites, 1=Groupless team site • -isDefault can be used per template to auto apply to all default sites
  • 20. Mange Site Designs Site Designs • Update permissions of who can view (View is only option) • Utilize Users or Mail Enabled Security Groups (Not O365 Groups yet) $sitedesign = Get-SPOSiteDesign | where {$_.Title -eq "Advanced Design"} Grant-SPOSiteDesignRights ` -Identity $sitedesign.Id ` -Principals ("advancedsitedesigns@drewmadelung.com") ` -Rights View #Get Get-SPOSiteDesignRights -Identity $sitedesign.Id #Remove Revoke-SPOSiteDesignRights -Identity $sitedesign.Id ` -Principals "advancedsitedesigns@drewmadelung.com"
  • 21. Apply Site Design Site Designs • Applied through: • Site Creation • Site Design Panel
  • 22. Apply Site Design Site Designs • Applied through: • PowerShell • Initial limit of 30 actions in a site script (still applies to creation UI) • 100k character limit with new cmdlet, info panel & hub join $sitedesign = Get-SPOSiteDesign | where {$_.Title -eq "Advanced Design"} #Small Invoke-SPOSiteDesign -Identity $sitedesign.Id ` -WebUrl "https://domain.sharepoint.com/sites/design1" #Large – Use this one Add-SPOSiteDesignTask -SiteDesignId $sitedesign.Id ` -WebUrl "https://domain.sharepoint.com/sites/AdvancedDesign1"
  • 23. Review Applied Site Designs Site Designs • View Site Designs applied to a site • View details of ran Site Designs applied to site • Use to find: • Sites where Site Designs were applied to perform an update • Finding or debugging errors #Designs by site Get-SPOSiteDesignRun -WebUrl "https://domain.sharepoint.com/sites/AdvancedDesign1" #Details by design run $sdr = Get-SPOSiteDesignRun -WebUrl "https://domain.sharepoint.com/sites/AdvancedDesign1" foreach($s in $sdr){Get-SPOSiteDesignRunStatus -Run $s}
  • 26. Set a Site Design for a Hub Site • Site Design is associated to the hub site through the UI or Programmatically • Site Design will apply when joining a hub site • Leaving a Hub Site will not reverse anything • Align view permissions of Site Design with Hub Site permissions $hubsite = Get-SPOHubSite | where {$_.Title -eq "Project Hub"} $sitedesign = Get-SPOSiteDesign | where {$_.Title -eq "Advanced Design"} Set-SPOHubSite -Identity $hubsite -SiteDesignId $sitedesign.Id
  • 27. Get Site Script from a List • Get the Site Script JSON directly from an existing SharePoint list or library • All current list actions supported • Doesn’t export as site columns • Great starting point $listextract = Get-SPOSiteScriptFromList "https://domain.sharepoint.com/sites/site/list" #Export to file $jsonfile = " C:sitescriptsListExport - FavoriteDogs.json" Get-SPOSiteScriptFromList "https:// https://domain.sharepoint.com/sites/site/list " ` | Out-File $jsonfile
  • 28. Get Site Script from a Web • Get the Site Script JSON directly from an existing SharePoint site • Switches for different structure $webextract = Get-SPOSiteScriptFromWeb -WebUrl "https://domain.sharepoint.com/sites/site" ` -IncludeBranding ` -IncludeTheme ` -IncludeRegionalSettings ` -IncludeSiteExternalSharingCapability ` -IncludeLinksToExportedItems ` -IncludeLists (”Shared Documents”, “Lists/Projects”) Add-SPOSiteScript -Title “Contoso Site" -Description "" -Content $webextract
  • 29. triggerFlow Action in a Site Script • Very powerful • Rest of site design will continue to run • Can use dynamic parameter: webUrl, creatorName, creatorEmail, webDescription, createdTimeUTC { "$schema": "schema.json", "actions": [ { "verb": "triggerFlow", "url": "https://prod- 25.westus.logic.azure.com:443/workflows/b6448f82fe25489985751785a5ce8a3e/triggers/manual/paths/invoke?api-version=2016-06- 01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=DGcLB-w2s40fO-UwwCk9lacHSdniaaMdJwTrYA4Scb8", "name": "Site creation event", "parameters": { "event":"site creation", "product":"SharePoint Online" } } ] }
  • 30. Flow & PnP Provisioning You can use the PnP Provisioning framework with Site Designs & Site Scripts by using the triggerFlow action. http://bit.ly/pnpprovisioning
  • 31. REST APIs You can use the SharePoint REST interface to perform basic CRUD operations REST Command Description CreateSiteScript Creates a new site script. GetSiteScripts Gets a list of information on existing site scripts. GetSiteScriptFromList Creates site script syntax from an existing SharePoint list. GetSiteScriptMetadata Gets information about a specific site script. UpdateSiteScript Updates a site script with new values. DeleteSiteScript Deletes a site script. CreateSiteDesign Creates a site design. ApplySiteDesign Applies a site design to an existing site collection. AddSiteDesignTaskToCurrentWeb Adds a site design task on the current web. GetSiteDesigns Gets a list of information on existing site designs. GetSiteDesignMetadata Gets information about a specific site design. UpdateSiteDesign Updates a site design with new values. DeleteSiteDesign Deletes a site design. GetSiteDesignRights Gets a list of principals that have access to a site design. GrantSiteDesignRights Grants access to a site design for one or more principals. RevokeSiteDesignRights Revokes access from a site design for one or more principals. http://bit.ly/sitedesignrest
  • 32. Flexible site configuration model Clean & consistently branded sites Recreate and configure SharePoint objects Apply site settings and call custom solutions Apply company theme, add/remove site navigation links, or set other site branding elements at time of creation Site designs can be injected into in-product provisioning experiences or manually applied to automate consistent site creation Easily craft or extract configuration details of lists & libraries to reapply to new or related sites Provision select settings after creation; use Microsoft Flow to call apply additional business logic Automate the custom configuration of sites across the enterprise consistently
  • 34. Current Limitations • Primarily based on Site Script action availability , no options to: • Configure web parts • Site collection features • Detailed library/list work • Deploying files • Creating pages (in schema) • Challenges with subsites and inheritance
  • 35. Roadmap: Intelligent intranet Home sites for web and mobile Audience targeting for news and pages Hubs Hub join approval Bulk hub association in admin center (available now) Branding Shy header Additional footer capabilities SharePoint mobile app co-branding Pages, news and web parts Wiki Linking Undo/Redo Available Now Vertical sections Drag and drop files to the canvas Rich preview of links pasted into the text part On page anchors Button, Call to action, Clock & Weather web parts Hero gets secondary call to action links Highlighted content gets custom query filtering Other key features Make a classic team site a comm site Site scripts & site designs: Extract a site to a site script, including multiple lists, branding and navigation (using PowerShell) Page Diagnostics V2 for Modern (Released) Page scheduling Audience targeting for navigation Hubs Associated hubs Hub permissions Hub analytics Additional header capabilities SharePoint Teal default theme File uploads in SP mobile app Portal owner page Yammer conversations web part (v2) My Feed web part Site scripts & site designs Support for folder and file content Teams template integration Additional script actions SharePoint spaces public preview Available soon Early next year Global tenant navigation Further integrations into Microsoft Teams Calendar experiences in SharePoint Top of mind
  • 36. • xxxx Help Contribute & Stay Informed! Site Script Examples https://github.com/SharePoint/sp-dev-site-scripts Microsoft Overview https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/site-design- overview Builders https://sptools.netlify.com https://www.sitedesigner.io https://github.com/SharePoint/sp-dev-solutions/tree/master/solutions/SiteDesignsStudio SharePoint Dev Blog https://developer.microsoft.com/en-us/sharepoint/blogs Microsoft Tech Community https://techcommunity.microsoft.com Microsoft 365 Roadmap https://fasttrack.microsoft.com/roadmap
  • 37. Questions? Email: drew.madelung@protiviti.com Twitter: @dmadelung Website: drewmadelung.com Email: matt.lavieri@protiviti.com Twitter: @mslavieri Website: blog.mslavieri.com Slides: http://bit.ly/DrewSlides
  • 38. Getting Started with Site Designs and Site Scripts for Modern SharePoint Provisioning SharePoint Saturday Chicago Suburbs 2020 #SPSChiBurbs