About Patterns and Practices
SharePoint Patterns and Practices (PnP) is an open source initiative coordinated by SharePoint engineering. It's a channel for the SharePoint engineering to share documentation, guidance, samples and reusable component for the community. PnP initiative coordinates all SharePoint developer documentation and guidance across on-premises and online. Day to day work is coordinated by the PnP Core team, which consists of Microsoft internal people and external MVPs. If you have any input or feedback around SharePoint developer guidance, don't hesitate to start a discussion with the team at Microsoft Tech Community site at http://aka.ms/sppnp-community.
How to get started or contribute?
We would recommend you to have a look on the specific webcast as "How to get started with Office Dev PnP?" from our Channel 9 video blog. If you are looking to contribute back to the PnP initiative, would recommend to have a look at another webcast called "How to contribute to Office Dev PnP initiative?" or check details on how to get started from our PnP GitHub Wiki, which also contains step-by-step instructions on setting up your environment for GitHub usage. GitHub is a slightly different tool than classic TFS, if you have used that in the past, but this guide will provide you all you need to setup your environment with GitHub and how you can always pull down the latest code to your personal GitHub fork.
Monthly releases and community calls
SharePoint PnP releases are done typically first Friday of each month when we perform the master merge in GitHub and update NuGet packages among the other key actions. You can always access the latest development time version from the dev branch. We cover details on monthly releases in our monthly community calls. Here are all the community calls around SharePoint Development Ecosystem provided by SharePoint engineering:
- Monthly community call with monthly summary on samples, guidance, and other topics - https://aka.ms/sppnp-call (recurrent .ics)
- Bi-weekly Special Interest Group (SIG) for SharePoint Framework and PnP JS Core - https://aka.ms/sppnp-js-sig-call (recurrent .ics)
- Bi-weekly Special Interest Group (SIG) for General SharePoint Dev, PnP CSOM Core, PnP PowerShell and PnP Provisioning - https://aka.ms/sppnp-core-sig-call (recurrent .ics)
Latest News
Please check the dev.office.com blog section for always up to date news also around the Office Dev PnP program.
- SharePoint Patterns and Practices - August 2017 release
- Small summer break during July 2017, no webcasts or monthly releases during this time
- SharePoint Patterns and Practices - June 2017 release
- SharePoint Patterns and Practices - May 2017 release
- SharePoint Patterns and Practices - April 2017 release
- SharePoint Patterns and Practices - March 2017 release
- SharePoint Patterns and Practices - February 2017 release
- SharePoint Patterns and Practices - January 2017 release
- Office 365 Developer Patterns and Practices - December 2016 release
- SharePoint Patterns and Practices (PnP) repositories moving in GitHub
- Office 365 Developer Patterns and Practices - November 2016 release
- Office 365 Developer Patterns and Practices - October 2016 release
- Office 365 Developer Patterns and Practices - September 2016 release
- Office 365 Developer Patterns and Practices - August 2016 release
- Office 365 Developer Patterns and Practices - June 2016 release
- Contributing to Office Dev PnP and SharePoint PnP documentation just got easier
- Office 365 Developer Patterns and Practices–May 2016 release
- Office Dev PnP Core Component - Training package
- Office 365 Developer Patterns and Practices–April 2016 release
- Office 365 Developer Patterns and Practices–March 2016 release
- Introducing Office Dev Patterns and Practices Office Hours and Interest Groups
- Office 365 Developer Patterns and Practices–February 2016 release
- Office 365 Developer Patterns and Practices–January 2016 release
Monthly Updates
PnP has two main branches. Master merge happens once a month with more comprehensive testing and
- August 2017
- Break in July 2017
- June 2017
- May 2017
- April 2017
- March 2017
- February 2017
- January 2017
- December 2016
- November 2016
- October 2016
- September 2016
- August 2016
- Break in July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- Break in July 2015
- June 2015
- May 2015
- April 2015
- March 2015
- Feb 2015
- Jan 2015
Training
We have a bunch of on-demand videos, presentations, demos and hands-on labs around transforming your farm solutions to the Sharepoint add-in model and PnP guidance. All of this material is for you to use any way you want. You can create new training packages and deliver this for your customers as well. All videos are in Channel 9 and each of them contains links to module specific resources.
- #1 - Introduction to SharePoint add-in model transition
- #2 - Managing site settings using add-in model
- #3 - Controlling branding in SharePoint using add-in model
- #4 - Building UX components with add-in model
- #5 - Remote timer jobs and event receivers
- #6 - Site collection and site provisioning with add-in model
- #7 - User Personalization and One Drive for Business operations using add-in model
- #8 - Enterprise Content Management and SharePoint add-ins
- #9 - Using search capabilities with add-in model
- #10 - Transformation guidance from farm solutions to add-ins
Guidance documentation
We have guidance documentation for this initiative that is being built and collaborated on by both the community AND Microsoft in GitHub.com. This documentation is also then monthly published on MSDN too. You can check them out here:
- Guidance on building well-performing portals in SharePoint Online | MSDN
- Authorization considerations for tenants hosted in the Germany, China or US Government environments | MSDN
- Customizing the "modern" experiences in SharePoint Online | MSDN
- Introducing the API for bulk custom user profile properties update for SharePoint Online | MSDN
- Developing add-ins using Tenant permissions with App-Only in SharePoint Online | MSDN
- Sandbox solution transformation guidance | MSDN
- How to provide add-in app only tenant administrative permissions in SharePoint Online | MSDN
- Using correct Client-Side Object Model (CSOM) version for SharePoint customizations dev.office.com blog
- Introducing Bulk UPA Custom Profile Properties Update API for SharePoint Online dev.office.com blog
- PnP remote provisioning MSDN
- Transform farm solutions to the SharePoint app model MSDN
- CSOM releases and new capabilities - latest API changes GitHub
- Upload large files sample app for SharePoint (Updated) MSDN Github
- Branding and site provisioning solutions for SharePoint 2013 and SharePoint Online MSDN MSDN
- Customize your SharePoint site UI by using JavaScript MSDN Github
- Using Microsoft Azure WebJobs with Office 365 MSDN GitHub
Autotagging sample app for SharePoint MSDN GitHub
Transformation Process
Our internal Microsoft services teams have shared the project plans, kick-off presentation decks, solution assessment report templates, solution design templates and much more. This is a great kit to get you started as a Service Integrator in helping your customers.
PnP Core Team
PnP Core team coordinates actions around the PnP initiative.

Recent Samples
Please check the latest SharePoint and Office 365 development samples from the PnP Sample Gallery
PnP Web Casts
PnP webcasts are quick videos recorded around key topics for the Office 365 and SharePoint add-in model development. These are around 15-45 min long recordings on different resources, guidance and other patterns and practices. All webcasts will be published to PnP YouTube channel. Older videos are in the PnP Channel 9 video blog
PnP Short Videos
PnP Short videos are short videos on specific topics without additional discussions. They are targeted to
Recent Videos
- Getting started with Office 365 CDN - April 2017
- PnP Partner Pack v2 Setup Guide - December 2016
- Office 365 Public CDN - Developer Preview - September 2016
- SharePoint Sandbox Solution Scanner - August 2016
- PnP Provisioning Engine - Introducing PnP file type for template handling - June 2016
- Introducing Bulk UPA Custom Profile Properties Update API - April 2016
- SharePoint Responsive UI Package for on-premises (SP 2013 and SP 2016) - March 2016
- Introduction to Outlook Notifications REST API - March 2016
- Connecting to SharePoint Online from console application with Azure ADAL and PnP Core Component - January 2016
- Using TypeScript in Visual Studio Office add-in project - January 2016
- PnP Partner Pack - Setup and configuration - December 2015
- How to install add-in/app to SharePoint sites using CSOM - November 2015
- Introduction to PnP Transformation Process - June 2015
- Introduction to PnP PowerShell CmdLets - May 2015
- Getting started with PnP Provisioning Engine - May 2015
- Deep dive to PnP Provisioning Engine Schema - May 2015
- Ignite - Deep Dive into Safe SharePoint Branding in Office 365 Using Repeatable Patterns and Practices - May 2015
- Ignite - Future-Proofing Your On-Premises SharePoint Development - May 2015
- Ignite - Transforming Your SharePoint Full Trust Code to the Office App Model - May 2015
- Ignite - Deep Dive into Custom App Provisioning and Deployment in Microsoft Office 365 - May 2015
- Build - Tried and True Practices for Transforming SharePoint Solutions to Cloud-Ready Solutions - April 2015
- Introduction to PnP remote site provisioning engine - April 2015
- Introduction to the PnP timer job framework - March 2015
Recent Podcasts
- Episode 093 with Vesa Juvonen on PnP and the SharePoint Framework
- Episode 083 with Vesa Juvonen on PnP initiative updates
- Episode 071 with Paolo Pialorsi on PnP Partner Pack
- Episode 009 with Vesa Juvonen and Steve Walker
- Episode 031 on Application Lifecycle Management with Vesa Juvonen
- Episode 025 on Solutions, Scenarios & Samples in PnP
github repo - Episode 022 with Suman Chakrabarti on Dev PnP
- Episode 026 on ECM PnP Samples with Frank Marasco
- Episode 018 with Steve Walker on SharePoint UX developer guidance
PnP GitHub repositories
PnP has few different repositories in the GitHub with specific use cases. Here are links and description for each of them.
- PnP - Main repository for SP add-ins
- PnP-Guidance - Repository for guidance articles and materials
- PnP-Sites-Core - Repository for PnP Core component
- PnP-JS-Core - Repository for PnP JavaScript Core component
- PnP-PowerShell - Repository for PnP PowerShell Cmdlet's
- PnP-Provisioning-Schema - Repository for remote provisioning schema design
- PnP-Transformation - Repository for Transformation tooling
- PnP-Tools - Scripts and tools for SharePoint on-premises and Office 365
