SlideShare a Scribd company logo
1 of 39
Getting Started with
Site Designs and Site
Scripts for Modern
SharePoint
Provisioning
North American Collab Summit 2019 #CollabSummit
Be Sure To Thank Our Sponsors!
JOIN US FOR CAKE AS WE CELEBRATE 10 YEARS OF WOMEN IN SHAREPOINT WITH
A “WOMEN IN TECHNOLOGY PANEL” HEADED BY MICRSOSOFT’S CATHY DEW.
FRIDAY MARCH 15TH 2:50—3:50 IN TANEYCOMO B BALLROOM
of Women in SharePoint
Win a Surface Book courtesy of
Microsoft!
Play Vendor Bingo, Winner drawn during
closing session on Friday
Drew Madelung
Email : drew.madelung@protiviti.com
Twitter : @dmadelung
Website: drewmadelung.com
Senior Manager – SharePoint & Office 365
Site designs?
What?
Ok that’s awesome
Getting Started with
Site Designs and Site
Scripts for Modern
SharePoint
Provisioning
North American Collab Summit
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
What are Site Designs and Site Scripts?
• 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
Site Script Actions
Branding &
Other Site
Settings
Apps & Solutions
SharePoint
Components
JSON Schema: http://bit.ly/sitescriptjson
SharePoint Components
• createSPList
• addSPField
• deleteSPField
• addSPFieldXml
• createSiteColumn
• createSiteColumnXml
• addSiteColumn
• addContentType
• createContentType
• removeContentType
• addSPView
• removeSPView
• setSPFieldCustomFormatter
• addSPFieldLookupXML
• setTitle
• setDescription
Register Solutions
• installSolution
• SPFx Extension support
• associateExtension
• associateListViewCommandSet
• associateFieldCustomizer
Settings
• addPrincipalToSPGroup
• addNavLink
• removeNavLink
• applyTheme
• setSiteLogo
• setRegionalSettings
• setSiteExternalSharingCapability
• triggerFlow
• joinHubSite
• activateSPFeature
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
• No longer needed
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
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
• setSiteLogo only for Communication sites
• 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
Slides: http://bit.ly/DrewSlides
Scripts: http://bit.ly/DrewSDScripts
Getting Started with
Site Designs and Site
Scripts for Modern
SharePoint Provisioning
North American Collab Summit 2019
#NACollabSummit

More Related Content

What's hot

Microsoft 365 Adoption Tips and Tricks - SharePoint and Microsoft Teams together
Microsoft 365 Adoption Tips and Tricks - SharePoint and Microsoft Teams togetherMicrosoft 365 Adoption Tips and Tricks - SharePoint and Microsoft Teams together
Microsoft 365 Adoption Tips and Tricks - SharePoint and Microsoft Teams togetherAdam Levithan
 
SharePoint as an Intranet Portal for Business
SharePoint as an Intranet Portal for BusinessSharePoint as an Intranet Portal for Business
SharePoint as an Intranet Portal for BusinessRashminPopat2
 
SPSNE17 - The Wall: Overcoming SharePoint’s Site Collection Boundary
SPSNE17 - The Wall: Overcoming SharePoint’s Site Collection BoundarySPSNE17 - The Wall: Overcoming SharePoint’s Site Collection Boundary
SPSNE17 - The Wall: Overcoming SharePoint’s Site Collection BoundaryJonathan Ralton
 
Vivafy your SharePoint intranet in Microsoft Teams with Viva Connections
Vivafy your SharePoint intranet in Microsoft Teams with Viva ConnectionsVivafy your SharePoint intranet in Microsoft Teams with Viva Connections
Vivafy your SharePoint intranet in Microsoft Teams with Viva ConnectionsJoel Oleson
 
Building Digital Workplaces using Office 365 Content Services
Building Digital Workplaces using Office 365 Content ServicesBuilding Digital Workplaces using Office 365 Content Services
Building Digital Workplaces using Office 365 Content ServicesMaarten Visser
 
Teams Day Online Modern Workplace Summit 2020 - Deep Dive Microsoft Teams int...
Teams Day Online Modern Workplace Summit 2020 - Deep Dive Microsoft Teams int...Teams Day Online Modern Workplace Summit 2020 - Deep Dive Microsoft Teams int...
Teams Day Online Modern Workplace Summit 2020 - Deep Dive Microsoft Teams int...Chirag Patel
 
When SharePoint met Microsoft Teams - Oktoberfest 2019 #TeamsFest
When SharePoint met Microsoft Teams - Oktoberfest 2019 #TeamsFestWhen SharePoint met Microsoft Teams - Oktoberfest 2019 #TeamsFest
When SharePoint met Microsoft Teams - Oktoberfest 2019 #TeamsFestChirag Patel
 
Tackling Governance, Site & Teams Sprawl with Microsoft 365
Tackling Governance, Site & Teams Sprawl with Microsoft 365Tackling Governance, Site & Teams Sprawl with Microsoft 365
Tackling Governance, Site & Teams Sprawl with Microsoft 365Richard Harbridge
 
Content publishing and communication strategies for office 365
Content publishing and communication strategies for office 365Content publishing and communication strategies for office 365
Content publishing and communication strategies for office 365Maarten Visser
 
Microsoft365 developer opportunity welcome keynote
Microsoft365 developer opportunity welcome keynoteMicrosoft365 developer opportunity welcome keynote
Microsoft365 developer opportunity welcome keynoteDipti Chhatrapati
 
Grow your SharePoint development platform with SPFx
Grow your SharePoint development platform with SPFxGrow your SharePoint development platform with SPFx
Grow your SharePoint development platform with SPFxDipti Chhatrapati
 
Content Collaboration And Protection With SharePoint, OneDrive & Microsoft Teams
Content Collaboration And Protection With SharePoint, OneDrive & Microsoft TeamsContent Collaboration And Protection With SharePoint, OneDrive & Microsoft Teams
Content Collaboration And Protection With SharePoint, OneDrive & Microsoft TeamsRichard Harbridge
 
Office 365 Groups and Planner - Jump Start PM and Digital Collaboration
Office 365 Groups and Planner - Jump Start PM and Digital CollaborationOffice 365 Groups and Planner - Jump Start PM and Digital Collaboration
Office 365 Groups and Planner - Jump Start PM and Digital CollaborationGina Montgomery, V-TSP
 
20 M365 Productivity Tips That You've Probably Never Used (But Should)
20 M365 Productivity Tips That You've Probably Never Used (But Should)20 M365 Productivity Tips That You've Probably Never Used (But Should)
20 M365 Productivity Tips That You've Probably Never Used (But Should)Christian Buckley
 
Navigating the Inner and Outer Loops--Effective Office 365 Communications
Navigating the Inner and Outer Loops--Effective Office 365 CommunicationsNavigating the Inner and Outer Loops--Effective Office 365 Communications
Navigating the Inner and Outer Loops--Effective Office 365 CommunicationsChristian Buckley
 
SharePoint Upgrade & Migration Planning
SharePoint Upgrade & Migration PlanningSharePoint Upgrade & Migration Planning
SharePoint Upgrade & Migration PlanningRichard Harbridge
 
Introduction to Office 365 Administration - SPSVB 2019
Introduction to Office 365 Administration - SPSVB 2019Introduction to Office 365 Administration - SPSVB 2019
Introduction to Office 365 Administration - SPSVB 2019Nikkia Carter
 
Building Modern Intranets With SharePoint & Teams
Building Modern Intranets With SharePoint & TeamsBuilding Modern Intranets With SharePoint & Teams
Building Modern Intranets With SharePoint & TeamsJoy Apple
 

What's hot (20)

Microsoft 365 Adoption Tips and Tricks - SharePoint and Microsoft Teams together
Microsoft 365 Adoption Tips and Tricks - SharePoint and Microsoft Teams togetherMicrosoft 365 Adoption Tips and Tricks - SharePoint and Microsoft Teams together
Microsoft 365 Adoption Tips and Tricks - SharePoint and Microsoft Teams together
 
SharePoint as an Intranet Portal for Business
SharePoint as an Intranet Portal for BusinessSharePoint as an Intranet Portal for Business
SharePoint as an Intranet Portal for Business
 
SPSNE17 - The Wall: Overcoming SharePoint’s Site Collection Boundary
SPSNE17 - The Wall: Overcoming SharePoint’s Site Collection BoundarySPSNE17 - The Wall: Overcoming SharePoint’s Site Collection Boundary
SPSNE17 - The Wall: Overcoming SharePoint’s Site Collection Boundary
 
Vivafy your SharePoint intranet in Microsoft Teams with Viva Connections
Vivafy your SharePoint intranet in Microsoft Teams with Viva ConnectionsVivafy your SharePoint intranet in Microsoft Teams with Viva Connections
Vivafy your SharePoint intranet in Microsoft Teams with Viva Connections
 
Building Digital Workplaces using Office 365 Content Services
Building Digital Workplaces using Office 365 Content ServicesBuilding Digital Workplaces using Office 365 Content Services
Building Digital Workplaces using Office 365 Content Services
 
Teams Day Online Modern Workplace Summit 2020 - Deep Dive Microsoft Teams int...
Teams Day Online Modern Workplace Summit 2020 - Deep Dive Microsoft Teams int...Teams Day Online Modern Workplace Summit 2020 - Deep Dive Microsoft Teams int...
Teams Day Online Modern Workplace Summit 2020 - Deep Dive Microsoft Teams int...
 
When SharePoint met Microsoft Teams - Oktoberfest 2019 #TeamsFest
When SharePoint met Microsoft Teams - Oktoberfest 2019 #TeamsFestWhen SharePoint met Microsoft Teams - Oktoberfest 2019 #TeamsFest
When SharePoint met Microsoft Teams - Oktoberfest 2019 #TeamsFest
 
Tackling Governance, Site & Teams Sprawl with Microsoft 365
Tackling Governance, Site & Teams Sprawl with Microsoft 365Tackling Governance, Site & Teams Sprawl with Microsoft 365
Tackling Governance, Site & Teams Sprawl with Microsoft 365
 
Content publishing and communication strategies for office 365
Content publishing and communication strategies for office 365Content publishing and communication strategies for office 365
Content publishing and communication strategies for office 365
 
Microsoft365 developer opportunity welcome keynote
Microsoft365 developer opportunity welcome keynoteMicrosoft365 developer opportunity welcome keynote
Microsoft365 developer opportunity welcome keynote
 
Grow your SharePoint development platform with SPFx
Grow your SharePoint development platform with SPFxGrow your SharePoint development platform with SPFx
Grow your SharePoint development platform with SPFx
 
Content Collaboration And Protection With SharePoint, OneDrive & Microsoft Teams
Content Collaboration And Protection With SharePoint, OneDrive & Microsoft TeamsContent Collaboration And Protection With SharePoint, OneDrive & Microsoft Teams
Content Collaboration And Protection With SharePoint, OneDrive & Microsoft Teams
 
Microsoft SharePoint
Microsoft SharePointMicrosoft SharePoint
Microsoft SharePoint
 
Office 365 Groups and Planner - Jump Start PM and Digital Collaboration
Office 365 Groups and Planner - Jump Start PM and Digital CollaborationOffice 365 Groups and Planner - Jump Start PM and Digital Collaboration
Office 365 Groups and Planner - Jump Start PM and Digital Collaboration
 
20 M365 Productivity Tips That You've Probably Never Used (But Should)
20 M365 Productivity Tips That You've Probably Never Used (But Should)20 M365 Productivity Tips That You've Probably Never Used (But Should)
20 M365 Productivity Tips That You've Probably Never Used (But Should)
 
Navigating the Inner and Outer Loops--Effective Office 365 Communications
Navigating the Inner and Outer Loops--Effective Office 365 CommunicationsNavigating the Inner and Outer Loops--Effective Office 365 Communications
Navigating the Inner and Outer Loops--Effective Office 365 Communications
 
SharePoint Upgrade & Migration Planning
SharePoint Upgrade & Migration PlanningSharePoint Upgrade & Migration Planning
SharePoint Upgrade & Migration Planning
 
Introduction to Office 365 Administration - SPSVB 2019
Introduction to Office 365 Administration - SPSVB 2019Introduction to Office 365 Administration - SPSVB 2019
Introduction to Office 365 Administration - SPSVB 2019
 
Getting started with Microsoft Search
Getting started with Microsoft Search Getting started with Microsoft Search
Getting started with Microsoft Search
 
Building Modern Intranets With SharePoint & Teams
Building Modern Intranets With SharePoint & TeamsBuilding Modern Intranets With SharePoint & Teams
Building Modern Intranets With SharePoint & Teams
 

Similar to Getting Started with Site Designs and Site Scripts - NACollabSummit 2019

Getting Started with Site Designs and Site Scripts - SPSChi
Getting Started with Site Designs and Site Scripts - SPSChiGetting Started with Site Designs and Site Scripts - SPSChi
Getting Started with Site Designs and Site Scripts - SPSChiDrew Madelung
 
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 ...SPTechCon
 
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 ...European Collaboration Summit
 
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 DewCathy Dew
 
Your Intranet, Your Way
Your Intranet, Your WayYour Intranet, Your Way
Your Intranet, Your WayD'arce Hess
 
Spsbe using js-linkanddisplaytemplates
Spsbe   using js-linkanddisplaytemplatesSpsbe   using js-linkanddisplaytemplates
Spsbe using js-linkanddisplaytemplatesPaul Hunt
 
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
 
Empowering Business Users with Flexible SharePoint Customization
Empowering Business Users with Flexible SharePoint Customization Empowering Business Users with Flexible SharePoint Customization
Empowering Business Users with Flexible SharePoint Customization D'arce Hess
 
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 365Brian Culver
 
SharePoint 2013 Branding
SharePoint 2013 BrandingSharePoint 2013 Branding
SharePoint 2013 BrandingKashif Imran
 
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 provisioningOlli Jääskeläinen
 
New era of customizing site provisioning
New era of customizing site provisioningNew era of customizing site provisioning
New era of customizing site provisioningBIWUG
 
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
 
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
 
SUGUK Cambridge - Display Templates & JSLink for IT Pros
SUGUK Cambridge - Display Templates & JSLink for IT ProsSUGUK Cambridge - Display Templates & JSLink for IT Pros
SUGUK Cambridge - Display Templates & JSLink for IT ProsPaul Hunt
 
SharePoint Development (Lesson 3)
SharePoint Development (Lesson 3)SharePoint Development (Lesson 3)
SharePoint Development (Lesson 3)MJ Ferdous
 
JSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday JerseyJSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday JerseyPaul Hunt
 
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 SitesBrian Culver
 
Hdv309 - Real World Sandboxed Solutions
Hdv309 - Real World Sandboxed SolutionsHdv309 - Real World Sandboxed Solutions
Hdv309 - Real World Sandboxed Solutionswoutervugt
 

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

Getting Started with Site Designs and Site Scripts - SPSChi
Getting Started with Site Designs and Site Scripts - SPSChiGetting Started with Site Designs and Site Scripts - SPSChi
Getting Started with Site Designs and Site Scripts - SPSChi
 
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 ...
 
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
 
Oracle APEX Nitro
Oracle APEX NitroOracle APEX Nitro
Oracle APEX Nitro
 
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...
 
Empowering Business Users with Flexible SharePoint Customization
Empowering Business Users with Flexible SharePoint Customization Empowering Business Users with Flexible SharePoint Customization
Empowering Business Users with Flexible SharePoint Customization
 
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
 
SharePoint 2013 Branding
SharePoint 2013 BrandingSharePoint 2013 Branding
SharePoint 2013 Branding
 
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
 
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...
 
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...
 
SUGUK Cambridge - Display Templates & JSLink for IT Pros
SUGUK Cambridge - Display Templates & JSLink for IT ProsSUGUK Cambridge - Display Templates & JSLink for IT Pros
SUGUK Cambridge - Display Templates & JSLink for IT Pros
 
SharePoint Development (Lesson 3)
SharePoint Development (Lesson 3)SharePoint Development (Lesson 3)
SharePoint Development (Lesson 3)
 
JSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday JerseyJSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday Jersey
 
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
 
Hdv309 - Real World Sandboxed Solutions
Hdv309 - Real World Sandboxed SolutionsHdv309 - Real World Sandboxed Solutions
Hdv309 - Real World Sandboxed Solutions
 

More from Drew Madelung

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...Drew Madelung
 
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 PreventionDrew Madelung
 
Introduction to Microsoft Syntex
Introduction to Microsoft SyntexIntroduction to Microsoft Syntex
Introduction to Microsoft SyntexDrew Madelung
 
Breakdown of Microsoft Purview Solutions
Breakdown of Microsoft Purview SolutionsBreakdown of Microsoft Purview Solutions
Breakdown of Microsoft Purview SolutionsDrew Madelung
 
Deploying & Managing OneDrive
Deploying & Managing OneDriveDeploying & Managing OneDrive
Deploying & Managing OneDriveDrew Madelung
 
Deploying Viva Topics
Deploying Viva TopicsDeploying Viva Topics
Deploying Viva TopicsDrew Madelung
 
Labelling in Microsoft 365 - Retention & Sensitivity
Labelling in Microsoft 365 - Retention & SensitivityLabelling in Microsoft 365 - Retention & Sensitivity
Labelling in Microsoft 365 - Retention & SensitivityDrew Madelung
 
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 BusinessDrew Madelung
 
What's New with OneDrive
What's New with OneDriveWhat's New with OneDrive
What's New with OneDriveDrew Madelung
 
Getting started with with SharePoint Syntex
Getting started with with SharePoint SyntexGetting started with with SharePoint Syntex
Getting started with with SharePoint SyntexDrew Madelung
 
Intro to Shared Channels
Intro to Shared ChannelsIntro to Shared Channels
Intro to Shared ChannelsDrew Madelung
 
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 TeamsDrew Madelung
 
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...Drew Madelung
 
Microsoft Ignite 2021 Recap
Microsoft Ignite 2021 RecapMicrosoft Ignite 2021 Recap
Microsoft Ignite 2021 RecapDrew Madelung
 
How to successfully manage OneDrive
How to successfully manage OneDriveHow to successfully manage OneDrive
How to successfully manage OneDriveDrew Madelung
 
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 2021Drew Madelung
 
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 LabelsDrew Madelung
 
Labelling in Microsoft 365 - Retention & Sensitivity
Labelling in Microsoft 365 - Retention & SensitivityLabelling in Microsoft 365 - Retention & Sensitivity
Labelling in Microsoft 365 - Retention & SensitivityDrew Madelung
 
Sensitivity for Groups, Teams, and SharePoint
Sensitivity for Groups, Teams, and SharePointSensitivity for Groups, Teams, and SharePoint
Sensitivity for Groups, Teams, and SharePointDrew Madelung
 
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 NewsDrew 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

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Recently uploaded (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

Getting Started with Site Designs and Site Scripts - NACollabSummit 2019

  • 1. Getting Started with Site Designs and Site Scripts for Modern SharePoint Provisioning North American Collab Summit 2019 #CollabSummit
  • 2. Be Sure To Thank Our Sponsors!
  • 3. JOIN US FOR CAKE AS WE CELEBRATE 10 YEARS OF WOMEN IN SHAREPOINT WITH A “WOMEN IN TECHNOLOGY PANEL” HEADED BY MICRSOSOFT’S CATHY DEW. FRIDAY MARCH 15TH 2:50—3:50 IN TANEYCOMO B BALLROOM of Women in SharePoint
  • 4. Win a Surface Book courtesy of Microsoft! Play Vendor Bingo, Winner drawn during closing session on Friday
  • 5. Drew Madelung Email : drew.madelung@protiviti.com Twitter : @dmadelung Website: drewmadelung.com Senior Manager – SharePoint & Office 365
  • 6. Site designs? What? Ok that’s awesome Getting Started with Site Designs and Site Scripts for Modern SharePoint Provisioning North American Collab Summit Woah look at that Site scripts? This is so much better than site templates!!
  • 7. Evolution of Site Provisioning Landscape SharePoint 2013 SharePoint 2016 SharePoint Online evolves
  • 8. Do you have a provisioning process? Are you using any templates?
  • 9. 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
  • 10. What are Site Designs and Site Scripts? • 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
  • 11. Site Designs are the interior decorator for a new house and Site Scripts are the things they do.
  • 12. 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
  • 13. 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
  • 16. 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
  • 17. 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
  • 18. Site Script Actions Branding & Other Site Settings Apps & Solutions SharePoint Components JSON Schema: http://bit.ly/sitescriptjson SharePoint Components • createSPList • addSPField • deleteSPField • addSPFieldXml • createSiteColumn • createSiteColumnXml • addSiteColumn • addContentType • createContentType • removeContentType • addSPView • removeSPView • setSPFieldCustomFormatter • addSPFieldLookupXML • setTitle • setDescription Register Solutions • installSolution • SPFx Extension support • associateExtension • associateListViewCommandSet • associateFieldCustomizer Settings • addPrincipalToSPGroup • addNavLink • removeNavLink • applyTheme • setSiteLogo • setRegionalSettings • setSiteExternalSharingCapability • triggerFlow • joinHubSite • activateSPFeature
  • 19. 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 • No longer needed 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
  • 20. Lets get started Create Site Script(s) Create Site Design Manage Site Designs Apply Site Design Review Applied Site Designs
  • 21. 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
  • 22. 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
  • 23. 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"
  • 24. Apply Site Design Site Designs • Applied through: • Site Creation • Site Design Panel
  • 25. 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"
  • 26. 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}
  • 29. 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
  • 30. 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
  • 31. 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" } } ] }
  • 32. Flow & PnP Provisioning You can use the PnP Provisioning framework with Site Designs & Site Scripts by using the triggerFlow action. http://bit.ly/pnpprovisioning
  • 33. 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
  • 34. 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
  • 36. 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 • setSiteLogo only for Communication sites
  • 37. • 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
  • 38. Questions? Email: drew.madelung@protiviti.com Twitter: @dmadelung Website: drewmadelung.com Slides: http://bit.ly/DrewSlides Scripts: http://bit.ly/DrewSDScripts
  • 39. Getting Started with Site Designs and Site Scripts for Modern SharePoint Provisioning North American Collab Summit 2019 #NACollabSummit