2. aOS Luxembourg
6 décembre 2018
Yannick Plenevaux
SharePoint & Office 365 Architect
MCSD App Builder
@ yannick.plenevaux@pvx-solutions.com
@yp_code
https://ypcode.wordpress.com
Founder of PVX Solutions
www.pvx-solutions.com
3. aOS Luxembourg
6 décembre 2018
Agenda
• What is provisioning ?
• Provisioning approaches
• Provisioning through ages
• Feature Framework
• Remote provisioning
• Site Designs
• Q&A
4. aOS Luxembourg
6 décembre 2018
What is provisioning ?
“Put stuff into SharePoint”
Assets
Images
JS
…
IA Artifacts
Site Columns
Content Types
Lists
Libraries
Taxonomy
…
Customizations
Pages
Custom Actions
WebParts
Settings
…
5. aOS Luxembourg
6 décembre 2018
Provisioning approaches
Manually Automated
Ease Scalability
• Get quickly expected result
• No deep technical skills
BUT
• Need to redo all the steps
for each new deployment
• Adapted only for single environment
• Need automation tools (Code, scripts, …)
• Quite deep technical skills
BUT
• Ready to repeat many times
• Adapted for targeted environments
• Adapted for continuous integration/delivery
6. aOS Luxembourg
6 décembre 2018
Provisioning through ages
2007 2010 2014 2018
Site Definitions
Onet.xml & .STP
Microsoft
Web Templates
List Templates
WSP
Microsoft
Feature Framework
PnP Provisioning Engine
PnP Community /
Open Source project
Site Designs
Microsoft
Remote
Provisioning
Remote
Provisioning
principles
7. aOS Luxembourg
6 décembre 2018
Feature Framework
Provisioning
Artifacts declarations
Definition XML files
Artifacts might be based on provisioned
custom templates (List Templates,…)
Highly bound to features
Supported on SP Online & SP On-prem
only if the WSP doesn’t contain code
Fundamentals of Farm
Solutions
Custom server-side code
Event Receivers
…
Only supported on SP On-Prem
8. aOS Luxembourg
6 décembre 2018
Feature Framework
Inconvenients
If the package content is unavailable
the feature gets broken !
Farm solutions with code deployed on
the farm servers
possible downtimes on deployment
Very limited upgrade capabilities
Even the supposed existing one don’t work
well (Content Types upgrade)
Advantages
The provisioning is packaged
with a custom code solution
(Only for on-premises)
9. aOS Luxembourg
6 décembre 2018
Feature Framework - Tooling
Visual Studio
Visual Studio offers UI tools to define artifacts
Content Types
Fields
Lists schema
…
When provisioning customized lists/libraries
Visual Studio generates a custom list template
10. aOS Luxembourg
6 décembre 2018
Remote provisioning
In other terms
Achieve programmatically same
as manual provisioning
Not bound to Feature
Framework
Configure/Customize the
standard artifacts
“Remote”
it mainly relies on using
remote API (CSOM,
REST API) to provision
SharePoint
“Remote”
is not the principle
could be achieved with
Server-side code as
opposition to “Feature
Framework provisioning”
11. aOS Luxembourg
6 décembre 2018
Remote provisioning
Inconvenients
Remote APIs are obviously slower than
server-side code
Remote API calls are subjects to
throttling
If done exclusively by code or scripts, will
take longer than the declarative way
used by Feature Framework provisioning
Advantages
Can be done from any host
No need to access the
physical server
No down-time due to
provisioning
The provisioned elements are
not bound to any feature
14. aOS Luxembourg
6 décembre 2018
Site Designs
Remote provisioning
principles
Applies to sites after they are
created
The sites always created based
on generic templates
Modern Team Site
Communication Site
Customized after the creation
The latest provisioning
method
Only on SPO (currently)
Only for Modern UI
16. aOS Luxembourg
6 décembre 2018
HR Design R&D Design
Site Designs & Site Scripts
• Site Script
• a declarative set of customization
actions to apply to a site
• Is described in JSON Apply HR Branding
Provision corporate
libraries
Apply Corporate
Branding
Apply R&D
Branding
• Site Design
• the logical container for Site Scripts
Provision
corporate libraries
Apply Corporate
Branding
Provision
corporate libraries
Apply Corporate
Branding
Apply HR Branding Apply R&D
Branding
17. aOS Luxembourg
6 décembre 2018
Site Designs & Site Scripts
• The Site Designs mechanism is continuously evolving…
• Available Site Scripts actions (dec. 2018)
Create (or update) lists
Set title
Add/Remove field
Add/Remove view
Add/Remove content type
Set custom field formatter
Associate field customizer
Associate list view
command set
Create a Site column
Create a Site Content Type
Add/Remove Site column
Add/Remove a navigation
link
Apply a theme
Set a site logo
Join a Hub Site
Install SPFx or Add-in
solution
Register an SPFx extension
Trigger a Flow
Configure regional settings
Add users to groups
Manage Guest access
18. aOS Luxembourg
6 décembre 2018
Site Designs & Site Scripts
The Microsoft supported way to create and manage Site Scripts
and Site Designs is through PowerShell or REST API
No official UI available yet
The official documentation is available here:
https://docs.microsoft.com/en-us/sharepoint/dev/declarative-
customization/site-design-overview
Many Site Scripts samples can be found here:
https://github.com/SharePoint/sp-dev-site-scripts
Might be complex for power users to deal with PowerShell and
JSON
20. aOS Luxembourg
6 décembre 2018
Site Designs Studio
A SharePoint Framework solution allowing to
Create and Edit Site Scripts
Manage Site Designs in the current tenant
Associate Site Scripts to Site Designs
Without editing JSON or using PowerShell or REST !