In this PnP Web Cast we concentrate on the classic discussion around the flexibility and future of the SharePoint feature framework based provisioning models comparing to remote provisioning patterns. Purpose of the web cast was to explain challenges around the classic feature framework based provisioning so that these challenges won't come as a surprise and also how to potentially avoid them with remote provisioning patterns.
Feature framework usage is fully supported with SharePoint on-premises and in SharePoint Online, but it does have multiple challenges around the life cycle management of your deployments and around farm or tenant level governance. Due these issues, it's quite common that customers and partners move into code based provisioning, which in many cases is much more reliable and future proof model for your deployment.
There are two commonly known remote provisioning frameworks available as open source, which can be used to avoid the challenges around the feature framework. Remote provisioning models are also something what we are looking into more closely in the Office 365 engineering to provide native service level capability for replacing the classic patterns. For now, here's the commonly used frameworks, which are both community and open source initiates.
Web cast was done with three persons who all have up to 10 years' hands-on development and consulting experience with SharePoint starting at least from SharePoint 2007 version when feature framework was initially introduced. Vesa used to also own the feature framework specific topics in the legendary Microsoft Certified Master for SharePoint program during the life cycle of the MCM program (from 2008 to 2014).
Presentation used in this web cast is available from http://doc.com/OfficeDevPnP.
In the demo Erwin shows how you can apply required changes to existing sites using remote provisioning patterns with PowerShell. More specifically in this case demonstration shows how you can add and manipulate already provisioned lists by adding a new site column to existing list instances cross site collections in your farm or tenant. With feature framework based models, this would also require you to perform changes by running code regardless if they initial lists are provisioned using farm or sandbox solutions.
See following additional links around the covered topics and for additional documentation around the remote provisioning models.
- PnP Web Cast - Introduction to Office Dev PnP Provisioning Engine
- PnP Web Cast - Introduction to PnP Partner Pack
- PnP Web Cast - Introduction to PnP PowerShell
- PnP Add-in Transformation Training Module 2: Managing site settings using add-in model
- PnP Add-In Transformation Training Module 6: Site provisioning with add-in model
- PnP Core Component GitHub repository
- Welcome to SPMeta2 - Documentation for SPMeta2
- SPMeta2 GitHub repository
See following guidance article from the PnP guidance library for additional reference around the covered topics.
See following samples from the PnP sample library for additional reference around the covered topics.
- Provisioning.Framework.Console - Demonstrates usage of the PnP provisioning engine for applying branding and needed customizations to created site collections
- Provisioning.Framework.Cloud.Async - Provisioning solution which shows how to take advantage of the PnP provisioning engine from Azure Web Job. Simplistic UI, but shows the overall process nicely.
- PnP Partner Pack - Starter kit for the partners and customers around the site provisioning topics. Adds for example "Save provisioning template" capability to site settings page for site collection and tenant wide templates
If you have any feedback or comments related on this web cast, please use the Office 365 Developer Patterns and Practices Yammer group to provider your input. Thx for your interest advance.