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.
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!"
- New API updates in Client Side Object Model (March 2015 CU for SP2013)
- Monthly Update 2015 March
- Hybrid site collection provisioning from Azure to on-premises SharePoint
- Asynchronous on-demand site collection provisioning to Office 365 with Azure WebJobs
- Using Azure storage queues and WebJobs for async actions in Office 365
- Office 365 Dev PnP Core team extended with new community members
- Customizing OneDrive for Business sites with app model
- Office 365 Dev PnP Core team extended with first community member
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.
We have a bunch of on-demand videos and hands on labs around transforming your Full Trust Code Solutions to the App Model. You can check them out here:
- Introduction to App Model Transition Tasks
- Practices for Converting Existing Sites to App Model Functionality
- Site Collection and Site Provisioning with App Model
- User Profile and Personalization with App Model
- UX Components and Site Modifications Using Apps Techniques
- Controlling Branding in SharePoint Using App Model
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
Demonstrates how to build an asynchronious self-service site collection engine which provisions new site collections from Azure to on-premises
Demonstrates how to build an asynchronous self-service site collection provisioning solution using Azure Storage Queues and Azure WebJobs
Shows how to perform operations on-demand with Azure WebJobs as continuously running operation, which will handle incoming requests from message queue.
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.
Shows information about the current site collection with a "Site Information" custom action menu item.
- 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