The Codex of Business Writing Software for Real-World Solutions 2.pptx
Dev con pnp-engine-presentation
1. PnP Provisioning Deep Dive
Pune DevCon 2019
Gautam Sheth, Technical Consultant @RapidCircle
https://twitter.com/gautamdsheth
https://www.linkedin.com/in/gautamdsheth
https://gautamdsheth.wordpress.com/
https://github.com/gautamdsheth/
#PuneDevCon 1
2. #PuneDevCon
More than 80,000tenants have
used open-source PnP components and
controls in SharePoint Online.
More than 52,000 unique
visitors during past 2 weeks in GitHub
repositories
More than 2.2 million
watch time minutes in SP Dev YouTube
channel in past 365 days
More than 500 samples to learn and
take advantage in your work
More than 1000contributors in
GitHub organization.
4. So what is PnP Provisioning engine ?
#PuneDevCon
5. So what is PnP Provisioning engine ?
#PuneDevCon
6. Basics about the engine
#PuneDevCon
• Delta handling is a key feature of the engine
• Comes with PnP PowerShell ( for use with Azure automation, Azure
functions* etc.)
• Can be used with C# ( for Azure functions*, Azure web jobs, Provider-
hosted apps, Console apps, windows apps etc.)
• Template based
• Templates can be extracted from existing sites
• Token support
*conditions apply
7. Delta handling capability
#PuneDevCon
• Extraction
• Engine extracts the raw template
• Engine has embedded raw template of every site definition
• Engine compares raw template with embedded template
• If an artifact exists in both the places, it is removed from raw template.
• Provisioning
• If an artifact in the template exists in the site, where possible, properties will
be updated with values in the template.
9. Multiple usage scenarios
#PuneDevCon
• Replacement for content type hub
• Taxonomy synchronization
• Embedded in provisioning service
• Copying sites*
• User profile properties sync*
* In progress
10. Extracting a template
#PuneDevCon
In the upcoming releases, it will be possible:
1) To export all document library files to a provisioning template
2) To export all list items to a provisioning template
3) Maybe Flow or PowerApps as well ??
12. Version 2019-09 and 2019-03 are MAJOR
releases of this year
These releases are now more and more focused on tenant level artifacts and
settings. It allows you to:
• Create modern site collections
• Provision taxonomy to your tenant (you
need to taxonomy admin)
• Provision themes to your tenant or sites
• Apply multiple templates to the sites
• Provision site design and site scripts
* Work in progress, support added in
schema. Not in the engine
** Tenant level artefacts do require Global
admin support
• Create Teams, team channels and tabs
• Add users to Azure AD
• Provision custom webhooks
• Approve Azure AD permissions ( for SPFx
solutions requiring access to Graph/3rd
party APIs)
• Create files and folders in OneDrive for
Business*
• Set user profile properties*
• Set Azure AD settings*
#PuneDevCon
13. Supported Artifacts
#PuneDevCon
Apps Audit Settings Classic pages
Composed
looks
Modern
themes
Content types
Custom
Actions
Fields Files Lists
Feature
activation
Navigation
Teams
Modern
header and
footer
Taxonomy Web Settings Site settings
Workflows
(classic)
30. #PuneDevCon
Demo - Creating Teams & Site collection:
Multiple Access tokens
• In order to connect to both SharePoint and Microsoft Graph, we need
2 access tokens
• Execute the following commandlet:
Connect-PnPOnline –Url “https://<your-tenant>” –Scopes
“Group.ReadWrite.All”,”User.ReadBasic.All”
Apply-PnPTenantTemplate –Path “template.xml”