Office 365 Developer Patterns and Practices (PnP) October 2015 release is out with new contributions from community for the community. This post contains all the details related on what was included with the release and what else has been happening in the PnP world during the past month.
What is Office 365 Developer Patterns and Practices (PnP)?
PnP is community driven open source project where Microsoft and external community members are sharing their learning’s around implementation practices for Office 365 and SharePoint on-premises (add-in model). Active development and contributions happen our GitHub project under Dev branch and each month there will be a master merge (monthly release) with more comprehensive testing and communications.
This is work done by the community for the community without any actual full time people. It’s been great to find both internal and external people who are willing to assist and share their learning’s for the benefit of others. This way we can build on the common knowledge of us all. Currently program is facilitated by Microsoft, but already at this point we have multiple community members as part of the Core team and we are looking to extend the Core team with more community members.
Notice that since this is open source community program, there’s no SLAs for the support what we provide from program. There is however highly active PnP Yammer group, where you can get fast support on any questions around the existing materials. If you are interested on getting more closely involved, please check the following guidance from our GitHub wiki.
Some key statistics around PnP program from October 2015 release
- GitHub repository forks at different repositories
- PnP main repository – 989
- PnP Sites Core – 51
- PnP PowerShell – 42
- Yammer group members – 3301
- Unique visitors during past 2 weeks cross repositories – 4.757
- Merged pull requests cross repositories – 969
- Closed issues and enhancements ideas cross repositories – 209
- PnP Core component NuGet package downloads – 13.087
Main resources around PnP program
- PnP under dev.office.com – http://aka.ms/OfficeDevPnP – One location for all the resources and news around PnP
- PnP GitHub – http://aka.ms/OfficeDevPnPGitHub – main repository, more on this below
- PnP MSDN pages – http://aka.ms/OfficeDevPnPMSDN
- PnP Yammer group – http://aka.ms/OfficeDevPnPYammer
- PnP Videos at Channel 9 – http://aka.ms/OfficeDevPnPVideos
- PnP training package (videos in Channel 9) – http://aka.ms/OfficeDevPnPTraining
- PnP Guidance Repository – http://aka.ms/OfficeDevPnPGuidance
October 2015 monthly community call
Agenda for the Tuesday 13th of October community call (Download ics invite from http://aka.ms/OfficeDevPnPCall):
- Summary on the October release and other updates in program – Vesa Juvonen ~30 min
- Real life enterprise development for customer projects using PnP – KnowIt – Mårten af Sandeberg ~15 min
- External sharing API with CSOM – Introduction – Vesa Juvonen ~15 min
If you have any questions, comments or feedback, please participate in our discussions in the Office 365 Patterns and Practices Yammer group at http://aka.ms/OfficeDevPnPYammer. We already have more than 3200 members in this group with lively discussions on different add-in model related topics. This is the most active developer group in the Office 365 Technical network and we are definitely proud and thankful of this.
New PnP Weekly Web Cast series coming soon
We’ll start new PnP Weekly Web Cast with video releases on each Monday around key topics around the guidance or around hot topics from the community. We have already following scheduled for upcoming weeks as a preliminary plan. Videos will be released to the PnP Channel 9 section.
- 12th of Oct – OneDrive for Business changes from customization perspective with latest changes
- 19th of Oct – Background job patterns – Remote timer jobs – Scenarios and approaches
- 26th of Oct – Using PnP PowerShell for automating tasks with Office 365
Splitting of PnP repo’s in GitHub
We did go through GitHub restructuring already as part of the September release. There’s one small change on the model, which is that we did drop the initially planned separate Office-365-API repository from the structure, since sooner or later that would overlap with the SP add-in material. This means that PnP repository is the main location for all Office 365 API and SP add-in samples in future as well. We will also clean up the sample section by combining some of the “stepping stone” samples around SP add-in. This will reduce the size and make it easier to find what you are actually looking for.
We recommend you to use the PnP sample search tool at dev.office.com for locating relevant material for you. This should be easier and faster than trying to locate relevant material from GitHub.
Here’s the current repository structure, including short description for each of them.
- PnP – Main repository for SP add-in, Office 365, Unified API etc. samples
- PnP-Guidance – Guidance, presentations and articles which are partly sync’d to MSDN
- PnP-Sites-Core – Office Dev PnP Core component
- PnP-PowerShell – Office Dev PnP PowerShell Cmdlets
- PnP-Office-Addins – Office Add-in samples and models
- PnP-Partner-Pack – Packaged guidance with detailed instructions on setting things up in Office 365 and in Azure. Actual delivery around mid-Oct.
- PnP-Transformation – Material specifically for the transformation process. Currently includes samples around InfoPath replacement. Some tools coming also soon.
Latest changes
Provisioning Engine
The first version of the PnP remote provisioning engine was released with the April 2015 release. For the October release we have continued to add new supported capabilities and made improvements from stability perspective for both Office 365 and on-premises. This list contains the main updates that have been added in the October release:
- Improved and updated delta handling
- Overall quality and performance improvements
- Implementation of 201508 provisioning schema version support – see this documentation for latest supported capabilities.
- Regional settings for sites
- Language settings for sites
- Workflow definitions and associations
- Publishing settings for sites – Deployment of Design package. Available web templates and page layouts
- Auditing settings
- Display/New/Edit-form support for content types
- Document Set provisioning support
- Add-in deployment support – Notice that requires tenant permission add-ins to be used to avoid requirement for Trust operation. More documentation for this one coming soon.
- Significant improvements on the on-premises support
PnP library
- PnP Core: Lots of re-factoring done to improve code quality and completeness:
- provisioning engine updates (see above)
- Bug fixing around term group provisioning
- Delete navigation nodes from sites
- External sharing capabilities – see ExternalSharingExtensions.cs for full list
- Build and test automation improvements
- Both PnP Core Nuget packages (cloud and on-premises) have been also updated accordingly.
- New sample Core.ExternalSharing demonstrates how to use external sharing APIs with SharePoint or OneDrive for Business sites in Office 365. With external sharing APIs, you can automate document or site sharing for external users. With site level sharing, you can assign external user with view, edit or owner permissions.
- New sample Diagnostics.Logging containing a SharePoint provider hosted add-in and an Azure Web Job, which are used to demonstrate the flexibility and rich output of OfficeDevPnP.Core component trace logging functionality. This is good reference sample for diagnostics handling in your provider hosted add-ins.
- New sample EmployeeRegistration.Forms shows an application that’s leveraging ASP.Net web forms to offer an alternative for an InfoPath form.
- New sample EmployeeRegistration.KnockOut.SinglePageApp shows an application that’s leveraging JavaScript and HTML to offer an alternative for an InfoPath form. The application is using the knockoutjs library to realize a dynamic JavaScript UI.
- New sample EmployeeRegistration.MVC shows an application that’s leveraging ASP.Net MVC to offer an alternative for an InfoPath form.
- Updated component Core.JQuery to include example around jQuery promises. See specific readme around this for addition information.
- Significant updates to Solution Provisioning.UX.App with cleaning up the code and few other bug fixes for this reference solution.
- Updated PnP-PowerShell Commands with new CommandLets and with few fixes
- Overall quality improvements
- Support for 201508 schema provisioning model
- Updated documentation
- Updated contribution guidance
- New Get-SPOProperty cmdlet
- Updated Add-SPOWebPartToWebPartPage cmdlet
- Updated Add-SPOTaxonomyField cmdlet
- Updated unit tests for cmdlet’s
PnP Guidance articles
The PnP Guidance repository has been setup for working on articles. Part of these articles are already available on MSDN and more will follow. Everyone can contribute or update these articles via updating them in GitHub and the changes will flow back to MSDN once the synchronization setup has been completed.
During this month we did some general updates on the articles, but there’s no actual new guidance published. You can easily find the relevant guidance for you using our search tool at dev.office.com.
There’s already a significant amount of articles that has been added to the PnP MSDN section at http://aka.ms/OfficeDevPnPMSDN
PnP Guidance videos
We did release two new videos to our Channel 9 section at http://aka.ms/OfficeDevPnPVideos. Both of the videos are related on the PnP add-in transformation training package, which contains ready to be used presentations, demos and hands on labs on the key topics around implementing typical SharePoint customizations using add-in model techniques. This location contains already significant amount of detailed training material, demo videos and community call recordings.
- PnP Add-In Transformation Training module 4: Building UX components with add-in model
- PnP Add-In Transformation Training module 7: User Personalization and One Drive for Business operations using add-in model
Key contributors for the October 2015 release
Here’s the list of active contributors (in alphabetical order) during past month in PnP repositories. It’s great to see familiar names and also new people joining on the the community effort and assisting others. We are looking forward to continue working with such a talent and hope to get more additional people involved on this joint effort to help the community in the transition towards Office 365 and SharePoint add-in model/app model techniques.
Thank you for your assistance and contributions from the behalf of the community. You are making a difference!
- Erwin van Hunen (Knowit AB) – @erwinvanhunen
- Ivan Vagunin (Knowit AB) – @ivagunin
- Paolo Pialorsi (PiaSys.com) – @PaoloPia
- Paul Pascha (Wortell) – @paulpascha
- Radi Atanassov (OneBit Software) – @RadiAtanassov
- rajashekarusa – GitHub alias
- Sergei Sergeev – s-KaiNet
- Tatjana Starovoitova – @voyta
- Tim Schoch (IOZ ag) – @tim_schoch
- Wictor Wilen – @wictor
- Vivek Athalye – vnathalye
Here’s the list of Microsoft people who have been closely involved on the PnP work during last month.
- Antons Mislevics (Microsoft)
- Bert Jansen (Microsoft) – @O365Bert
- Brian Michely (Microsoft) – @brianmichely
- Dan Budimir (Microsoft) – MSDN blog
- Frank Marasco (Microsoft) – @frank_marasco
- Jeremy Thake (Microsoft) – @jthake
- Kiki Shuxteau (Microsoft)
- Patrick Rodgers (Microsoft)
- Ron Tielke (Microsoft)
- Sami Nieminen (Microsoft)
- Steve Walker (Microsoft) – @sharepointing
- Vesa Juvonen (Microsoft) – @vesajuvonen
Latest statistics
Here’s some statistics from the PnP, PnP PowerShell and PnP Sites Core repositories. It’s great to see the growing contribution numbers and for example how our punch card looks like, since it proofs that this is truly a global effort with contributions 24/7.
Contributions at PnP repository
Traffic at PnP repository
Punch Card from PnP repository
Only 4 spots missing.
Traffic from PnP Sites Core repository
Traffic from PnP PowerShell repository
See About Repository Graphs for more details on above statistics.
Next steps
- October monthly community call is on 13th of October for latest release details – Download invite from http://aka.ms/OfficeDevPnPCall.
- Following master merge will happen on 6th of November and November community call is on 10th of November
“Sharing is caring”
Vesa Juvonen, Senior Program Manager, Office 365, Microsoft