What is SharePoint Patterns & Practices (PnP)?
SharePoint Patterns & Practices (PnP) is an initiative that was launched in 2013 with the vision to simplify development by providing an open source, reusable components, and solutions that have been built collaboratively between the community and Microsoft. Through sharing of knowledge of implementation practices in SharePoint and Office 365, Microsoft and the community collaboratively create the starting points for PnP guidance and code samples.
How does it look like?
There are three levels of engagement. Imagine a target with 3 concentric circles with the centre of the target being the Core Team. Encircling the Core Team is the second layer comprised of the Special Interest Groups (SIGs) while the final outer third layer is the Community.
1. Core Team: As the title implies, the Core Team has the greatest direct involvement with the PnP library of code samples and guidance documentation. Comprised of a small group of individuals from Microsoft and the community, they have been granted permission and direct access to the PnP library to merge approved changes in the PnP library. By keeping the Core Team small, control can be maintained to ensure proper and appropriate value is added to the PnP library.
2. Special Interest Groups (SIGs): Special Interest Groups are being brought together and are currently being piloted with SharePoint client side development to develop the JavaScript Library. SIGs meet weekly to exchange thought, processes, and code to build the JavaScript Library. SIGs do not have access to the PnP library though what they produce will have an impact on the PnP Library.
3. Community: With the least access to the PnP Library, this group is comprised of both the internal and external community. Their involvement is through either of the following methods:
a. Bi-weekly office hours: hosted by members of the PnP initiative, they review and explain what the Core Team is doing, what they plan to do, and they provide suggestions as to the various areas or topics that could use community contribution. At the end of the session is an open mic where the community is provided the opportunity to voice suggestions as to what they would like to contribute to the initiative. These are then pitched to the Core Team, who is then tasked to render the final decisions.
b. Monthly Community Calls: a unidirectional communication informing the community what changes have been proposed, names of members who have been contributing, and names of those who have been doing demos or presentations for the bi-weekly office hours. Recognition during these calls improves the exposure of members who participate, which in turn, provide endless networking opportunities. These Monthly Community Calls are held the first Friday of every month. On every second Tuesday of every month, the community is provided the latest changes in the PnP Library.
What benefits do I receive from PnP?
By becoming an active member and recipient of PnP, not only will you gain a community of peers and experts, but you will also have access to useful libraries and an unfathomable amount of code. Some of the libraries include the PnP Core Library, which is a NuGet ready to go package, PnP Components, Samples and Solutions, PnP Provisioning Engine, and PnP PowerShell. These are just a few examples of the libraries that you will gain access to. Under one umbrella, there will be an establishment of common architectural patterns and standardize guidance that is available upon immediate publication of the code. For those who would like more detailed instructions, there are webcasts available as well as on-line training material. The best part of joining and participating in the PnP Initiative is that all materials, including videos, presentations, webcasts, are not only available for your viewing, but they are free for re-use in any way that you want!
How am I supported in the PnP Initiative?
Being an open source community program, there are no sales level agreements (SLAs) for Microsoft support. As PnP is not a product like Word or MS Office, it is not supported through Premier Support or other official support channels. Instead, support can be accessed through the SharePoint Developer Group in the Microsoft Tech Community to provide input and/or to ask any questions regarding existing material.
Microsoft and the community work collaboratively to provide open source code samples with standardized guidance documentation. Both the code samples and guidance adhere to the PnP guidelines for support and recommended techniques. These materials are maintained by Microsoft while all PnP implementations are reviewed and approved by SharePoint Engineering. Most importantly, PnP retains its uniqueness by being supported from within the community by the community.