SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
‖ Senior Developer
‖ SharePoint, Office 365, Azure
‖ Finland
‖
‖ LAURAKOKKARINEN.COM
‖ @LauraKokkarinen
♡ ♡
‖ What are SharePoint site designs and site scripts?
‖ How to create and deploy custom site design?
‖ PnP provisioning templates vs. SharePoint site designs
‖ Maintenance
‖ Customizing the default site designs
‖ Applying site designs programmatically
‖ Large site designs and hub associations
‖ A set of pre-defined configurations to be automatically applied on a site
‖ Create site column
‖ Create content type
‖ Create list
• Add/remove content type
• Add/remove field
• Add column/view formatting
• Add field customizer
• Add ListViewCommandSet
‖ Register an extension
‖ Install an add-in or solution
‖ Configure regional settings
‖ Manage guest access
‖ Add AD principals to SharePoint Groups
‖ Join a hub site
‖ Add navigation link
‖ Remove navigation link
‖ Set site logo
‖ Apply a theme
‖ Trigger a Flow (or a Logic App)
‖ Automated workspace provisioning
• Avoid manual work → higher level of productivity
• Every site is setup the same way → consistent & correct
‖ Out-of-the-box site designs for modern sites
• 1 for Team sites (group-connected and groupless)
• 3 for Communication sites
‖ Create your own!
‖ Apply them in different ways
• GUI
• PowerShell
• REST
• CSOM
‖ A popular misconception
• “If I modify or delete a site design or site script, the configurations get
altered or reversed on the sites where the design has been applied to”
Id
Title
Description
Version
Content: {…}
Contains the
actual actions.
Id
Title
Description
…
SiteScriptIds
• Seen in the UI
• Triggers action
execution
• Groups scripts
Id
Title
Description
…
SiteScriptIds
Id
Title
Description
Version
Content: {…}
‖ Check the JSON schema for up-to-date information
• https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/site-
design-json-schema
‖ The schema is case sensitive
• If something doesn’t work, check your letter casing/typos!
‖ Alternative option: create with a third-party tool
• https://www.sitedesigner.io
‖ Which way to create?
• Which is faster for you?
• Tool avoids typos
• Documentation updated first
‖ Future: Microsoft’s own site design editor!
‖ Recently added feature
‖ Speed up the creation of your site scripts
1. Configure a list the way you want it to appear on a new site
2. Print the actions required for creating a similar list
on another site
Get-SPOSiteScriptFromList –ListUrl
https://org.sharepoint.com/sites/sitename/doclib
3. Copy-paste the printed result to complete your site script
‖ Deployment options
• PowerShell
• REST
• PnP provisioning tenant templates
‖ Max 100 site designs and 100 site scripts per tenant
‖ Defines in which dropdown
your site design appears in the
Create site UI
‖ Regardless of the WebTemplate
value, all site designs can be
applied on any site
‖ If some action is not compatible
with the site type, it will be
skipped, or it fails gracefully.
64
Team site dropdown for users
who can create Office 365
groups.
68
Communication site
dropdown.
1
Team site dropdown for users
who are not allowed to create
Office 365 groups.
Any other
value
Only the site design panel on
existing modern sites.
‖ Defines which one of the default communication site
designs is used as a base
‖ Want to use Showcase or Blank layout on a comm. site?
→ Use DesignPackageId property
‖ Possible values:
• Topic: null
• Showcase: 6142d2a0-63a5-4ba0-aede-d9fefca2c767
• Blank: f6cc5403-0d63-442e-96c0-285923709ffc
‖ PnP provisioning templates
• Open source project on GitHub
• Started 4 years ago
‖ Differences
• XML vs. JSON
• PnP provisioning is more feature rich
• Site scripts can do some things PnP provisioning can’t (yet)
• Export scopes
• Application methods and syntax
‖ PnP provisioning templates
• Adjust web settings
• Supported UI languages
• More advanced security settings
• Manage site features
• Add terms to term store
• Populate list data
• Create folders
• Add files and pages
• Modify page layouts and web
parts
• etc.
‖ SharePoint site designs
• Column and view formatting
• Trigger Flow/Logic App
Why would I use site designs over PnP templates?
• You need the features available only through
site designs
• Can be applied from default SP UI
• If the features offered by site designs are
enough
Use a custom
site design
Trigger a
Flow/LA
Call an Azure
function
Apply a PnP
template
‖ One site design can consist of several site scripts
→ Modular structure is encouraged
• Common site script(s) – shared by many site designs
• Site design specific site script – what makes it different
from the others?
• Different combinations
‖ All site script IDs need to be included when a site design is
updated
Set-SPOSiteDesign –Identity 6ce35cf6-9d20-44ca-8c1e-
5980d46337a6 –SiteScripts 361b3467-8191-4254-be4d-
541d038ab07a, 6fad0f7e-6b32-4a37-bfa1-2c0075a6c80e
‖ Save the site script JSON file to version control
• Easier to update
• Later see what was changed
‖ Update a deployed site script by updating its Content
property
Set-SPOSiteScript –Identity $siteScriptId –Content
(Get-Content $siteScriptFile -Raw)
‖ View all site design and site script settings
• Get-SPOSiteDesign
• Get-SPOSiteScript
‖ View site script content (JSON) with script ID
• Get-SPOSiteScript –Id 361b3467-8191-4254-be4d-541d038ab07a
‖ Removing one doesn’t remove the other
‖ When deleting a site script
• Check if another site design is using the same site script
→ OK to delete?
• Clean up site script IDs from site designs
‖ When deleting a site design
• Check if another site design is using the same site script(s)
→ should site scripts also be deleted as obsolete?
‖ By default everyone can see and use site designs
‖ You can limit permissions through PowerShell or REST
→ Specify users or groups
‖ To make the site design visible to everyone again,
remove permissions
‖ You can’t hide the default site designs
‖ Future: Admin center?
‖ Default site designs
• Team site, Topic, Showcase, Blank
‖ Add additional functionality
• IsDefault:$true
‖ Your custom site design will no
longer appear in the dropdown
→ Triggered whenever any of the
default site designs is used!
‖ Alternatively use DesignPackageId
‖ Options
• CSOM
• REST
• PowerShell
$siteUrl = ”https://org.sharepoint.com/sites/sitename”
$siteDesignId = ”eb13d8b6-v835-4b07-80fd-d01bd1-de666”
Invoke-SPOSiteDesign –Identity $siteDesignId –WebUrl $siteUrl
‖ CSOM
public void ApplySiteDesign(string siteUrl, Guid siteDesignId)
{
try {
using (var ctx = GetClientContext(GetAdminSiteUrl(siteUrl))
{
var tenant = new Tenant(ctx);
tenant.ApplySiteDesign(siteUrl, siteDesignId);
ctx.ExecuteQuery();
}
}
catch (Exception e)
{
Console.WriteLine($”Failed to apply site design: {e.Message}”);
}
}
‖ REST
‖ The site design gets executed to all sites that are
joined the hub
‖ Is run regardless of site type
‖ Incompatible actions are skipped or fail gracefully
‖ Set via hub site settings
• UI, PowerShell (no REST, or undocumented)
→ $hubSiteUrl = “https://org.sharepoint.com/sites/hub”
Set-SPOHubSite $hubSiteUrl –SiteDesignId $siteDesignId
‖ Nature of site designs: executed actions won’t get
reversed if site is removed from the hub
‖ “Normal” site designs are limited to 30 actions or 20 000
characters
‖ Large site designs: 300 actions or 100 000 characters
‖ Different commandlets for application
• Invoke-SPOSiteDesign
→ Can only be run for site designs that contain 30 or fewer
actions
• Add-SPOSiteDesignTask
→ Can be used for large site designs
‖ Add-SPOSiteDesignTask
• Site design gets added to a queue and is executed on a
schedule
• Executed asynchronously in the background
• Can also be used for smaller
• REST
‖ Large site designs can’t be used for creating sites via UI
‖ 100 site designs and 100 site scripts per tenant
‖ Many-to-many connections
‖ Take advantage: JSON schema, third party tools, export list command
‖ Trigger a Flow or a Logic App: use your imagination!
‖ Deployment via PowerShell, PnP or REST. WebTemplate property defines dropdown visibility.
‖ You can limit who can use site designs
‖ Want to customize default site designs instead of creating separate ones? You can!
‖ Plan your site design and script hierarchy for easier maintenance
‖ Browse what configurations have been done for a site through site designs
‖ Hub site associations → same configurations for all sites that get added to the hub
‖ To be on the safe side, you can always run site designs with the large site design command
‖ Site design management from the admin center
‖ Site script editor
‖ Site script actions for site pages and web parts
‖ Script actions for other Office 365 applications
LAURAKOKKARINEN.COM
@LauraKokkarinen
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site designs as a developer

Más contenido relacionado

La actualidad más candente

resource management
  resource management  resource management
resource management
Ashish Kumar
 
Market oriented Cloud Computing
Market oriented Cloud ComputingMarket oriented Cloud Computing
Market oriented Cloud Computing
Jithin Parakka
 
AWS (Amazon Redshift) presentation
AWS (Amazon Redshift) presentationAWS (Amazon Redshift) presentation
AWS (Amazon Redshift) presentation
Volodymyr Rovetskiy
 

La actualidad más candente (20)

Amazon EC2 Masterclass
Amazon EC2 MasterclassAmazon EC2 Masterclass
Amazon EC2 Masterclass
 
AWS Storage Day - Otimização do Amazon S3
AWS Storage Day - Otimização do Amazon S3AWS Storage Day - Otimização do Amazon S3
AWS Storage Day - Otimização do Amazon S3
 
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
 
Chapter 17 - Distributed File Systems
Chapter 17 - Distributed File SystemsChapter 17 - Distributed File Systems
Chapter 17 - Distributed File Systems
 
BỘ LUẬT TỐ TỤNG HÌNH SỰ NHẬT BẢN
BỘ LUẬT TỐ TỤNG HÌNH SỰ NHẬT BẢN BỘ LUẬT TỐ TỤNG HÌNH SỰ NHẬT BẢN
BỘ LUẬT TỐ TỤNG HÌNH SỰ NHẬT BẢN
 
resource management
  resource management  resource management
resource management
 
Đề tài: Phần mềm quản lý học sinh cấp 3, HAY
Đề tài: Phần mềm quản lý học sinh cấp 3, HAYĐề tài: Phần mềm quản lý học sinh cấp 3, HAY
Đề tài: Phần mềm quản lý học sinh cấp 3, HAY
 
3. challenges
3. challenges3. challenges
3. challenges
 
Amazon ECS Deep Dive
Amazon ECS Deep DiveAmazon ECS Deep Dive
Amazon ECS Deep Dive
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Getting started with share point online modernization - SharePoint Saturday T...
Getting started with share point online modernization - SharePoint Saturday T...Getting started with share point online modernization - SharePoint Saturday T...
Getting started with share point online modernization - SharePoint Saturday T...
 
Market oriented Cloud Computing
Market oriented Cloud ComputingMarket oriented Cloud Computing
Market oriented Cloud Computing
 
Part 2 -Deep Dive into the new features of Sharepoint Online and OneDrive for...
Part 2 -Deep Dive into the new features of Sharepoint Online and OneDrive for...Part 2 -Deep Dive into the new features of Sharepoint Online and OneDrive for...
Part 2 -Deep Dive into the new features of Sharepoint Online and OneDrive for...
 
Migrating 3000 users and 1100 applications from Lotus Notes to Office 365
Migrating 3000 users and 1100 applications from Lotus Notes to Office 365Migrating 3000 users and 1100 applications from Lotus Notes to Office 365
Migrating 3000 users and 1100 applications from Lotus Notes to Office 365
 
SharePoint Topology
SharePoint Topology SharePoint Topology
SharePoint Topology
 
Domino Fitness. Time for a Health Check
Domino Fitness. Time for a Health CheckDomino Fitness. Time for a Health Check
Domino Fitness. Time for a Health Check
 
Expert Day 2019 - SUSE Manager
Expert Day 2019 - SUSE ManagerExpert Day 2019 - SUSE Manager
Expert Day 2019 - SUSE Manager
 
AWS (Amazon Redshift) presentation
AWS (Amazon Redshift) presentationAWS (Amazon Redshift) presentation
AWS (Amazon Redshift) presentation
 
Highlights of AWS ReInvent 2023 (Announcements and Best Practices)
Highlights of AWS ReInvent 2023 (Announcements and Best Practices)Highlights of AWS ReInvent 2023 (Announcements and Best Practices)
Highlights of AWS ReInvent 2023 (Announcements and Best Practices)
 
Luận văn: Các nguyên tắc liên quan đến hoạt động xét xử, HOT
Luận văn: Các nguyên tắc liên quan đến hoạt động xét xử, HOTLuận văn: Các nguyên tắc liên quan đến hoạt động xét xử, HOT
Luận văn: Các nguyên tắc liên quan đến hoạt động xét xử, HOT
 

Similar a ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site designs as a developer

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
 

Similar a ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site designs as a developer (20)

Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection Navigation
 
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
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
 
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
 
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...
 
Your Intranet, Your Way
Your Intranet, Your WayYour Intranet, Your Way
Your Intranet, Your Way
 
Customize your UI in modern SharePoint workspaces
Customize your UI in modern SharePoint workspacesCustomize your UI in modern SharePoint workspaces
Customize your UI in modern SharePoint workspaces
 
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UICross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
 
O365: Attack of the Clones
O365: Attack of the ClonesO365: Attack of the Clones
O365: Attack of the Clones
 
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 ...
 
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
 
Modern_Site_Owner_M365_Ottawa.pdf
Modern_Site_Owner_M365_Ottawa.pdfModern_Site_Owner_M365_Ottawa.pdf
Modern_Site_Owner_M365_Ottawa.pdf
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
ECS19 - Katja Jokisalo - Modernize your Intranet
ECS19 - Katja Jokisalo - Modernize your IntranetECS19 - Katja Jokisalo - Modernize your Intranet
ECS19 - Katja Jokisalo - Modernize your Intranet
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
 
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
 
User Interface Tips and Tricks for the Power User - Penelope Coventry
User Interface Tips and Tricks for the Power User - Penelope CoventryUser Interface Tips and Tricks for the Power User - Penelope Coventry
User Interface Tips and Tricks for the Power User - Penelope Coventry
 
DogFoodCon - Understanding and customizing the modern SharePoint experience
DogFoodCon - Understanding and customizing the modern SharePoint experienceDogFoodCon - Understanding and customizing the modern SharePoint experience
DogFoodCon - Understanding and customizing the modern SharePoint experience
 
Synapse india reviews on share point development
Synapse india reviews on share point developmentSynapse india reviews on share point development
Synapse india reviews on share point development
 

Más de European Collaboration Summit

Más de European Collaboration Summit (20)

ECS19 - Bram De Jager - Design a secure collaboration solution with Azure In...
ECS19 -  Bram De Jager - Design a secure collaboration solution with Azure In...ECS19 -  Bram De Jager - Design a secure collaboration solution with Azure In...
ECS19 - Bram De Jager - Design a secure collaboration solution with Azure In...
 
ECS19 - Eric Harlan - Increasing throughput of Office 365
ECS19 - Eric Harlan - Increasing throughput of Office 365ECS19 - Eric Harlan - Increasing throughput of Office 365
ECS19 - Eric Harlan - Increasing throughput of Office 365
 
ECS19 - Ahmad Najjar - Logic Apps vs Microsoft Flow - When, how and where?
ECS19 - Ahmad Najjar - Logic Apps vs Microsoft Flow - When, how and where?ECS19 - Ahmad Najjar - Logic Apps vs Microsoft Flow - When, how and where?
ECS19 - Ahmad Najjar - Logic Apps vs Microsoft Flow - When, how and where?
 
ECS19 - Michael Van Horenbeeck - Divide Et Imperat Office 365 Mergers, Acquis...
ECS19 - Michael Van Horenbeeck - Divide Et Imperat Office 365 Mergers, Acquis...ECS19 - Michael Van Horenbeeck - Divide Et Imperat Office 365 Mergers, Acquis...
ECS19 - Michael Van Horenbeeck - Divide Et Imperat Office 365 Mergers, Acquis...
 
ECS19 - Christina Wheeler - Become Data Modeling Superhero
ECS19 - Christina Wheeler - Become Data Modeling SuperheroECS19 - Christina Wheeler - Become Data Modeling Superhero
ECS19 - Christina Wheeler - Become Data Modeling Superhero
 
ECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
ECS19 - Ahmad Najjar and Serge Luca - Power Platform TutorialECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
ECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
 
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClassECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
 
ECS19 - Paolo Pialorsi - Building Portals with modern SharePoint experiences
ECS19 - Paolo Pialorsi - Building Portals with modern SharePoint experiencesECS19 - Paolo Pialorsi - Building Portals with modern SharePoint experiences
ECS19 - Paolo Pialorsi - Building Portals with modern SharePoint experiences
 
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
 
ECS19 - Nicki Borell - Microsoft Cybersecurity Reference Architecture
ECS19 - Nicki Borell - Microsoft Cybersecurity Reference ArchitectureECS19 - Nicki Borell - Microsoft Cybersecurity Reference Architecture
ECS19 - Nicki Borell - Microsoft Cybersecurity Reference Architecture
 
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
ECS19 - Mike Ammerlaan - Microsoft Graph Data ConnectECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
 
ECS19 - Vesa Juvonen, Paolo Pialorsi - Building “modern” portals with SharePo...
ECS19 - Vesa Juvonen, Paolo Pialorsi - Building “modern” portals with SharePo...ECS19 - Vesa Juvonen, Paolo Pialorsi - Building “modern” portals with SharePo...
ECS19 - Vesa Juvonen, Paolo Pialorsi - Building “modern” portals with SharePo...
 
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - RoadmapECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
 
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
 
ECS19 - Toni Pohl - Develop intelligent apps for the Modern Workplace
ECS19 - Toni Pohl - Develop intelligent apps for the Modern WorkplaceECS19 - Toni Pohl - Develop intelligent apps for the Modern Workplace
ECS19 - Toni Pohl - Develop intelligent apps for the Modern Workplace
 
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
 
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
 
ECS19 - Thomas Goelles, Stephan Bisser - Unite your workplace with Microsoft'...
ECS19 - Thomas Goelles, Stephan Bisser - Unite your workplace with Microsoft'...ECS19 - Thomas Goelles, Stephan Bisser - Unite your workplace with Microsoft'...
ECS19 - Thomas Goelles, Stephan Bisser - Unite your workplace with Microsoft'...
 
ECS19 - Steven Collier - Live Events in Teams, Yammer and Stream using Extern...
ECS19 - Steven Collier - Live Events in Teams, Yammer and Stream using Extern...ECS19 - Steven Collier - Live Events in Teams, Yammer and Stream using Extern...
ECS19 - Steven Collier - Live Events in Teams, Yammer and Stream using Extern...
 
ECS19 - Serge Luca - MICROSOFT FLOW IN REAL WORLD PROJECTS: 3 YEARS LATER AN...
ECS19 - Serge Luca -  MICROSOFT FLOW IN REAL WORLD PROJECTS: 3 YEARS LATER AN...ECS19 - Serge Luca -  MICROSOFT FLOW IN REAL WORLD PROJECTS: 3 YEARS LATER AN...
ECS19 - Serge Luca - MICROSOFT FLOW IN REAL WORLD PROJECTS: 3 YEARS LATER AN...
 

Último

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 

ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site designs as a developer

  • 1.
  • 2.
  • 3. ‖ Senior Developer ‖ SharePoint, Office 365, Azure ‖ Finland ‖ ‖ LAURAKOKKARINEN.COM ‖ @LauraKokkarinen
  • 5. ‖ What are SharePoint site designs and site scripts? ‖ How to create and deploy custom site design? ‖ PnP provisioning templates vs. SharePoint site designs ‖ Maintenance ‖ Customizing the default site designs ‖ Applying site designs programmatically ‖ Large site designs and hub associations
  • 6. ‖ A set of pre-defined configurations to be automatically applied on a site ‖ Create site column ‖ Create content type ‖ Create list • Add/remove content type • Add/remove field • Add column/view formatting • Add field customizer • Add ListViewCommandSet ‖ Register an extension ‖ Install an add-in or solution ‖ Configure regional settings ‖ Manage guest access ‖ Add AD principals to SharePoint Groups ‖ Join a hub site ‖ Add navigation link ‖ Remove navigation link ‖ Set site logo ‖ Apply a theme ‖ Trigger a Flow (or a Logic App)
  • 7. ‖ Automated workspace provisioning • Avoid manual work → higher level of productivity • Every site is setup the same way → consistent & correct
  • 8. ‖ Out-of-the-box site designs for modern sites • 1 for Team sites (group-connected and groupless) • 3 for Communication sites ‖ Create your own! ‖ Apply them in different ways • GUI • PowerShell • REST • CSOM
  • 9.
  • 10. ‖ A popular misconception • “If I modify or delete a site design or site script, the configurations get altered or reversed on the sites where the design has been applied to”
  • 11. Id Title Description Version Content: {…} Contains the actual actions. Id Title Description … SiteScriptIds • Seen in the UI • Triggers action execution • Groups scripts Id Title Description … SiteScriptIds Id Title Description Version Content: {…}
  • 12. ‖ Check the JSON schema for up-to-date information • https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/site- design-json-schema ‖ The schema is case sensitive • If something doesn’t work, check your letter casing/typos! ‖ Alternative option: create with a third-party tool • https://www.sitedesigner.io ‖ Which way to create? • Which is faster for you? • Tool avoids typos • Documentation updated first ‖ Future: Microsoft’s own site design editor!
  • 13. ‖ Recently added feature ‖ Speed up the creation of your site scripts 1. Configure a list the way you want it to appear on a new site 2. Print the actions required for creating a similar list on another site Get-SPOSiteScriptFromList –ListUrl https://org.sharepoint.com/sites/sitename/doclib 3. Copy-paste the printed result to complete your site script
  • 14.
  • 15. ‖ Deployment options • PowerShell • REST • PnP provisioning tenant templates ‖ Max 100 site designs and 100 site scripts per tenant
  • 16.
  • 17. ‖ Defines in which dropdown your site design appears in the Create site UI ‖ Regardless of the WebTemplate value, all site designs can be applied on any site ‖ If some action is not compatible with the site type, it will be skipped, or it fails gracefully. 64 Team site dropdown for users who can create Office 365 groups. 68 Communication site dropdown. 1 Team site dropdown for users who are not allowed to create Office 365 groups. Any other value Only the site design panel on existing modern sites.
  • 18. ‖ Defines which one of the default communication site designs is used as a base ‖ Want to use Showcase or Blank layout on a comm. site? → Use DesignPackageId property ‖ Possible values: • Topic: null • Showcase: 6142d2a0-63a5-4ba0-aede-d9fefca2c767 • Blank: f6cc5403-0d63-442e-96c0-285923709ffc
  • 19. ‖ PnP provisioning templates • Open source project on GitHub • Started 4 years ago ‖ Differences • XML vs. JSON • PnP provisioning is more feature rich • Site scripts can do some things PnP provisioning can’t (yet) • Export scopes • Application methods and syntax
  • 20. ‖ PnP provisioning templates • Adjust web settings • Supported UI languages • More advanced security settings • Manage site features • Add terms to term store • Populate list data • Create folders • Add files and pages • Modify page layouts and web parts • etc. ‖ SharePoint site designs • Column and view formatting • Trigger Flow/Logic App Why would I use site designs over PnP templates? • You need the features available only through site designs • Can be applied from default SP UI • If the features offered by site designs are enough
  • 21. Use a custom site design Trigger a Flow/LA Call an Azure function Apply a PnP template
  • 22.
  • 23. ‖ One site design can consist of several site scripts → Modular structure is encouraged • Common site script(s) – shared by many site designs • Site design specific site script – what makes it different from the others? • Different combinations ‖ All site script IDs need to be included when a site design is updated Set-SPOSiteDesign –Identity 6ce35cf6-9d20-44ca-8c1e- 5980d46337a6 –SiteScripts 361b3467-8191-4254-be4d- 541d038ab07a, 6fad0f7e-6b32-4a37-bfa1-2c0075a6c80e
  • 24. ‖ Save the site script JSON file to version control • Easier to update • Later see what was changed ‖ Update a deployed site script by updating its Content property Set-SPOSiteScript –Identity $siteScriptId –Content (Get-Content $siteScriptFile -Raw)
  • 25. ‖ View all site design and site script settings • Get-SPOSiteDesign • Get-SPOSiteScript ‖ View site script content (JSON) with script ID • Get-SPOSiteScript –Id 361b3467-8191-4254-be4d-541d038ab07a
  • 26. ‖ Removing one doesn’t remove the other ‖ When deleting a site script • Check if another site design is using the same site script → OK to delete? • Clean up site script IDs from site designs ‖ When deleting a site design • Check if another site design is using the same site script(s) → should site scripts also be deleted as obsolete?
  • 27. ‖ By default everyone can see and use site designs ‖ You can limit permissions through PowerShell or REST → Specify users or groups ‖ To make the site design visible to everyone again, remove permissions ‖ You can’t hide the default site designs ‖ Future: Admin center?
  • 28. ‖ Default site designs • Team site, Topic, Showcase, Blank ‖ Add additional functionality • IsDefault:$true ‖ Your custom site design will no longer appear in the dropdown → Triggered whenever any of the default site designs is used! ‖ Alternatively use DesignPackageId
  • 29.
  • 30. ‖ Options • CSOM • REST • PowerShell $siteUrl = ”https://org.sharepoint.com/sites/sitename” $siteDesignId = ”eb13d8b6-v835-4b07-80fd-d01bd1-de666” Invoke-SPOSiteDesign –Identity $siteDesignId –WebUrl $siteUrl
  • 31. ‖ CSOM public void ApplySiteDesign(string siteUrl, Guid siteDesignId) { try { using (var ctx = GetClientContext(GetAdminSiteUrl(siteUrl)) { var tenant = new Tenant(ctx); tenant.ApplySiteDesign(siteUrl, siteDesignId); ctx.ExecuteQuery(); } } catch (Exception e) { Console.WriteLine($”Failed to apply site design: {e.Message}”); } }
  • 33. ‖ The site design gets executed to all sites that are joined the hub ‖ Is run regardless of site type ‖ Incompatible actions are skipped or fail gracefully ‖ Set via hub site settings • UI, PowerShell (no REST, or undocumented) → $hubSiteUrl = “https://org.sharepoint.com/sites/hub” Set-SPOHubSite $hubSiteUrl –SiteDesignId $siteDesignId ‖ Nature of site designs: executed actions won’t get reversed if site is removed from the hub
  • 34. ‖ “Normal” site designs are limited to 30 actions or 20 000 characters ‖ Large site designs: 300 actions or 100 000 characters ‖ Different commandlets for application • Invoke-SPOSiteDesign → Can only be run for site designs that contain 30 or fewer actions • Add-SPOSiteDesignTask → Can be used for large site designs
  • 35. ‖ Add-SPOSiteDesignTask • Site design gets added to a queue and is executed on a schedule • Executed asynchronously in the background • Can also be used for smaller • REST ‖ Large site designs can’t be used for creating sites via UI
  • 36. ‖ 100 site designs and 100 site scripts per tenant ‖ Many-to-many connections ‖ Take advantage: JSON schema, third party tools, export list command ‖ Trigger a Flow or a Logic App: use your imagination! ‖ Deployment via PowerShell, PnP or REST. WebTemplate property defines dropdown visibility. ‖ You can limit who can use site designs ‖ Want to customize default site designs instead of creating separate ones? You can! ‖ Plan your site design and script hierarchy for easier maintenance ‖ Browse what configurations have been done for a site through site designs ‖ Hub site associations → same configurations for all sites that get added to the hub ‖ To be on the safe side, you can always run site designs with the large site design command
  • 37. ‖ Site design management from the admin center ‖ Site script editor ‖ Site script actions for site pages and web parts ‖ Script actions for other Office 365 applications