About Patterns and Practices

The Patterns & Practicies initiative was originally formed in 2013 by a group of Microsoft consultants who were working on the transformation effort of the Office 365 Dedicated customers to Multi-Tenant. This involved taking the SharePoint full Trust Code Solutions and transforming the customizations to the App Model. During this process there were many valuable assets created which are now shared pubically on GitHub.com. The PnP team has now extended to community contributions and is evolving rapidly to illustrate the common patterns and practices for the SharePoint App Model with contributions from the external and internal field.

Here's the actual PnP Core team who control miscellaneous efforts around this initiative.

 Vesa Juvonen - Senior Program Manager, Microsoft Steve Walker - Senior Program Manager, Microsoft Jeremy Thake - Senior Product Marketing Manager, Microsoft Bert Jansen - Senior Consultant, Microsoft Frank Marasco - Principal Consultant, Microsoft Erwin van Hunen - Senior Solution Architect Paolo Pialorsi - Senior Consultant, PiaSys.com Richard diZerega - Principal System Development Engineer, Microsoft Reeza Ali - Senior Content Developer, Microsoft Laura Graham - Senior Content Developer, Microsoft Brian Michely - Principal Consultant, Microsoft Radi Atanossov - Chief SharePoint Architect, OneBit Software Suman Chakrabarti - Senior Service Engineer, Microsoft Frank Chen - SharePoint Consultant, Microsoft Antons Mislevics - Senior Consultant, Microsoft Ronald Tielke - Principal Consultant, Microsoft Sami Nieminen - Senior Consultant  


You are more than welcome to join the team on helping to provide samples which shows different patterns and practices towards app model development with SharePoint, Office 365 APIs and Office client. Currently this project is very focused on the SharePoint scenarios, but we are keeping a keen eye towards including the all-up Office Developer story as we move forward. Your submissions on this area are more than welcome.

The Patterns and Practices team collaborate in the yammer group within the office 365 technical network. "Sharing is caring!"

Monthly Updates

PnP has two main branches. Master merge happens once a month with more comprehensive testing and release notes with detailed credits for the contirbutors. Dev branch has all the latest contributions and development.

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:

  • CSOM releases and new capabilities - latest API changes GitHub
  • Autotagging sample app for SharePoint MSDN Github
  • Bulk upload documents sample app for SharePoint MSDN Github
  • Upload large files sample app for SharePoint MSDN Github
  • Customization of OneDrive for Business sites GitHub
  • Getting Started with azure WebJobs ("timer jobs") for your Office 365 Sites GitHub

Community Calls

2nd Tuesday of each month at 5 PM CET / 8 or 9 AM PST - Conference ID: 2611083 Lync link - ics download

Recent Samples

  • Provisioning.Hybrid.Simple

    Demonstrates how to build an asynchronious self-service site collection engine which provisions new site collections from Azure to on-premises

  • Provisioning.Cloud.Async.WebJob

    Demonstrates how to build an asynchronous self-service site collection provisioning solution using Azure Storage Queues and Azure WebJobs

  • Core.QueueWebJobUsage

    Shows how to perform operations on-demand with Azure WebJobs as continuously running operation, which will handle incoming requests from message queue.

  • Core.AppEvents

    shows how to implement handlers for the AppInstalled and AppUninstalling events that: Incorporate rollback logic if the handler encounters an error; Incorporate "already done" logic to accommodate the fact that SharePoint retries the handler up to three more times if it fails or takes more than 30 seconds to complete.

  • Core.SiteInformation

    Shows information about the current site collection with a "Site Information" custom action menu item.

Office 365 Developer Patterns and Practices