Monthly Update 2015 August

Vesa Juvonen edited this page Aug 7, 2015 · 3 revisions

The Office 365 Developer Patterns and Practices project was announced at the end of July 2014 and there has been tremendous interest for the project since, which we truly appreciate! We have gone really far with the program in one year together with the community. The PnP program is an open source community program for community to contribute their learning between each other. We have received lots of valuable contributions from the community and input on the overall planning. This wiki page is collecting the highlights from the past month.

August 2015 master merge or release was enourmous also due the fact that we skipped July release due vacation period for key resources in the PnP core team. There's huge amount of new content around around code, guidance, presentations and videos.

We will also cover the details of the latest release during our August community call on Tuesday August 11th. If you are interested on seeing some of the new samples in action and hear about the future then feel free to join that call.

August 2015 monthly community call

Agenda for the 11th of August (8 AM PST) community call:

  • Summary on the August release and other updates in program - Vesa Juvonen ~30 min
  • Including PnP usage survey results from June community survey
  • New provisioning solution using PnP engine - Erwin van Hunen ~15 min
  • Additional community demo (TBD) ~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 We already have more than 3000 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.

Splitting of PnP repo's in GitHub

We have started now re-factoring of the PnP GitHub repo. Since repo has grown to be too big for easy management, it will be now split to multiple sub repos. Main PnP repo will still remain as the main location for the SharePoint Add-in/App samples and solutions, but other material is redistributed to smaller sub repos. Here's the detailed repository structure around PnP topics.

This will impact partly on the existing forks, but PnP repo still exists, so your fork is not orphaned. If you however want to contribute or consume material around more specific topics, you should fork the other repositories as needed. See guidance on getting started with PnP repositories from the PnP wiki with step-by-step instructions on how to fork and optionally contribute back for others in the community.

  • PnP - Main repository in future as well, but will be smaller
  • 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-Office365-API - Office 365 and Azure AD related add-ins
  • PnP-Partner-Pack - Packaged guidance with detailed instructions on setting things up in Office 365 and in Azure. This initiative will be started during August and target date for final delivery is on mid-Oct.

Notice that this change will be visible in the main branch after September release, but all development should be already done in dev branch of the right repository where the content is located. PnP Core team will guide the PRs to new locations as needed. Repo's are already visible, but some samples are still in progress of moving over.

Latest changes

Provisioning Engine

The first version of the PnP remote provisioning engine was released with the April release. For the August 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 August release:

  • Delta handling support for template provisioning where possible
    • For example for fields, content types, lists, views, custom actions
  • Overall quality and performance improvements
  • Significant improvements on the on-premises support
  • Support to provision URL Field into the DataRow of a ListInstance
  • JSLink provisioning support for views

Notice. There is a small breaking change introduced for the engine related for the CustomAction object where data type of CommandUIExtension has been changed from string to XElement. This will require some changes on your code only if you specifically manipulate CustomAction objects in your code by setting string value to this property. IF this is the case, you can just parse the string to XElement, so change is minimal.

customAction.CommandUIExtension =  XElement.Parse(xmlInStringFormat); 

In general engine is being considered now as pretty stable. Next improvements are on the capability side to enable for example regional settings, language settings, auditing settings support natively in the engine.

PnP library

  • PnP Core: Lots of re-factoring done to improve code quality and completeness:
    • provisioning engine updates (see above)
    • Azure AD Authentication support
    • Build and test automation improvements
    • Both PnP Core Nuget packages (cloud and on-premises) have been also updated accordingly.
  • New component Core.JQuery contains a set of jQuery extensions to enable extending SharePoint functionality to provider hosted apps using the familiar jQuery syntax.
  • New solution Core.ConnectedAngularAppsV2 shows AngularJS and SignalR way to perform connected web parts with enhanced implementation.
  • New sample BusinessApps.RemoteCalendarAccess shows a method of sharing a SharePoint site calendar with any calendar client via iCalendar. The sample reads events from a SharePoint calendar and converts those events into a standard iCalendar format utilizing SharePoint CSOM, Azure Active Directory Graph Client Library, SQL Azure via Entity Framework, and Azure Web Apps.
  • New sample Core.EmbedJavaScript.HeaderFooter provides a provision page to include a custom Header and Footer. The Header and Footer sample includes custom Global Breadcrumbs (SharePoint or JSON Data) and custom Global Ribbons that are acessible in all sites and subsites associated to Site Collection.
  • New sample AzureAD.RedisCacheUserProfile shows how to use windows Azure Active directory to get user profile information and how to use Azure REDIS Cache to make performant Add-Ins.
  • New sample AzureAD.WebAPI.SPOnline shows how to call a Web API secured by Azure AD and the API calls SharePoint Online on behalf the logged in user. This scenario is useful for situations where you need a protected API Proxy to interact with SharePoint Online using User's credentials.
  • Updated solution Core.TimerJobs.Samples with new sample code for the PnP timer job framework usage with real business scenarios.
  • Updated sample Core.MMSSync to support CustomSortOrder property replication cross taxonomy stores.
  • Updated solution Provisioning.UX.App with new UI capabilities and provisioning fixes.
  • Updated all Scenario code to use updated SharePoint CSOM Nuget package
  • Updated PowerShell.Commands with new CommandLets and with few fixes
    • Performance and overall quality improvements
    • Help and guidance improvements
    • Set/Get-SPOSearchConfiguration search configuration configuration
    • Remove-SPOWeb for removing sub webs from a web
    • Add-SPOMasterPage for easy deployment of master page to a site
    • ADFS authentication support for Connect-SPOnline
    • Adal authentication support for Connect-SPOnline

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.

Right now we are working on specific App Model Recipes (>30 articles overall) in this area together with Todd Baginski where Todd is collecting the key guidance from the Core team and community for collecting the learnings and recommendations with specific topics. You are more than welcome to also contribute on this work by providing input and feedback.

There's already a significant amount of articles that has been added to the PnP MSDN node at

In the this release the following new articles have been added or we have applied changes since last master merge:

PnP Guidance videos

After the last release, we have published numerous new videos around the PnP topics, incuding recording of the free PnP transformation training presentations. This training contains videos, presentations, demos and labs for anyone to reuse as they wish.

Notice that PnP transformation training videos are unfortuately still missing 2 modules, which will be included in the package during upcoming weeks.

Key contributors for the August 2015 release

Here’s the list of active contributors (in alphabetical order) during the month August in PnP repositories. It's great to see familiar names and also new people joining on the communnity effort and asisting 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!

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)
  • Eric Xu (Microsoft)
  • Frank Marasco (Microsoft) - @frank_marasco
  • Jeremy Thake (Microsoft) - @jthake
  • Jonathan Huss (Microsoft) -
  • Kiki Shuxteau (Microsoft)
  • Laura Graham (Microsoft)
  • Patrick Rodgers (Microsoft)
  • Reeza Ali (Microsoft)
  • Ron Tielke (Microsoft)
  • Sami Nieminen (Microsoft)
  • Steven Follis (Microsoft) - @steven_follis
  • Steve Walker (Microsoft) - @sharepointing
  • Vesa Juvonen (Microsoft) - @vesajuvonen

Latest statistics

Here's some statistics from the PnP repository. 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.



Punch Card

See About Repository Graphs for more details on above statistics.

Next steps

  • August monthly community call is on 11th of August for August release details
  • Following master merge will happen on 4th of September and September community call is on 8th of September