Skip to main content

SharePoint: Developer Blog

SharePoint Add-ins Extensions

SharePoint Development Community (PnP) – April 2019 update

SharePoint Dev Ecosystem / SharePoint Patterns and Practices (PnP) April 2019 update is out with a summary of the latest guidance, samples, and solutions from SharePoint engineering or from the community for the community. This article is a summary of all the different areas and topics around the SharePoint Dev ecosystem during the past month.

What is SharePoint Patterns & Practices (PnP)?

SharePoint PnP is a nick-name for SharePoint Dev Ecosystem activities coordinated by SharePoint engineering. SharePoint PnP is a community-driven open source initiative where Microsoft and external community members are sharing their learning’s around implementation practices for SharePoint and Office 365. Active development and contributions happen in GitHub by providing contributions to the samples, reusable components, and documentation. PnP is owned and coordinated by SharePoint engineering, but this is work done by the community for the community.

The initiative is currently facilitated by Microsoft, but already at this point, we have multiple community members as part of the PnP Core team (see team details in end of the article) and we are looking to extend the Core team with more community members. Notice that since this is open source community initiative, there’s no SLAs for the support for the samples provided through GitHub. Obviously, all officially released components and libraries are under official support from Microsoft. You can use the SharePoint Developer group in the Microsoft Tech Community for providing input and to ask any questions about the existing materials or report issues using the sp-dev-docs issue list.

Some key statistics around SharePoint Developer topics from March 2019

  • GitHub repository forks at most popular repositories in SharePoint GitHub organization
  • Unique visitors during the past 2 weeks in SharePoint organization repositories – 43,769
  • Merged pull requests across SharePoint repositories (cumulative) – 6,737
  • Closed issues and enhancements ideas cross SharePoint repositories (cumulative) – 6,583
  • SharePoint Online CSOM NuGet package downloads (cumulative) – 996,837
  • Page views in SharePoint Dev pages at docs.microsoft.com – 1,234,290
  • Unique tenants using open-source PnP components – 22,702
  • Http requests towards SharePoint Online from PnP components (CSOM Core, PowerShell, PnP JS Core) – 15,000,453,094
  • SharePoint Dev YouTube channel had 37,922 views with 220,920 minutes of watch time

Most viewed articles in the SharePoint Dev documentation during March 2019.

  1. Use column formatting to customize SharePoint
  2. Build your first SharePoint client-side web part (Hello World part 1)
  3. SharePoint site design and site script overview
  4. SharePoint Development
  5. Overview of the SharePoint Framework (SPFx)
  6. Complete basic operations using SharePoint REST endpoints
  7. Set up your SharePoint Framework development environment
  8. Get to know the SharePoint REST service
  9. Working with lists and list items with REST
  10. Complete basic operations using SharePoint client library code

Main resources around SharePoint PnP and SharePoint development

April 2019 monthly community call

Agenda for the Tuesday 9th of April 2019 SharePoint Dev Ecosystem / Patterns and Practices community call at 8 AM PDT / 5 PM CEST:

  • Monthly summary of SharePoint Development topics – Latest SharePoint roadmap and community news – Mikael Svenson (Puzzlepart) ~15 min
  • Demo – Sharepoint Page Transformation – Transform your classic publishing to modern pages – Bert Jansen (Microsoft)
  • Demo – Building business applications to Microsoft Teams using Microsoft Graph with SharePoint Framework – Andrew Connell (Voitanos)
  • Q&A

Monthly community call will get recorded and release to PnP YouTube channel typically within 24 hours after the recording is ended. If you have any questions, comments or feedback, please participate in our discussions in the Microsoft Tech Community under the SharePoint developer group.

SharePoint Dev Blog posts

Here are the latest blog posts and announcements around SharePoint development topics from developer.microsoft.com/en-us/sharepoint/blogs

PnP Community Calls

SharePoint Dev community has 3 different recurrent community calls, which you can choose to participate based on your interest and availability. All calls are recorded and published in the SharePoint Dev YouTube channel typically within the following 24 hours after the call. You can find a detailed agenda and links to specific covered topics on blog post articles at the SharePoint developer blog when the videos are published.

If you are interested in doing a live demo of your solution or sample in these calls, please do reach out to the PnP Core Team members (contacts later in this post). These are great opportunities to gain visibility for example for existing MVPs, for community members who would like to be MVPs in the future or any community member who’d like to share some of their learnings.

SharePoint Dev Ecosystem in GitHub

There are quite a few different GitHub repositories under the SharePoint brand since we wanted to ensure that you can easily find and reuse what’s relevant to you. We do also combine multiple solutions to one repository so that you can more easily sync and get the latest changes to our released guidance and samples.

PnP specific repositories – solution designs and tooling

  • PnP – Main repository for SP add-in, Microsoft Graph etc. samples
  • PnP-Sites-Core – Office Dev PnP Core component
  • PnP-PowerShell – Office Dev PnP PowerShell Cmdlets
  • PnP-Tools – Tools and scripts targeted more for IT Pro’s and for on-premises for SP2013 and SP2016
  • PnP-Transformation – Material specifically for the transformation process. Currently, includes samples around InfoPath replacement and transformation tooling from farm solutions to add-in model.
  • PnP-Provisioning-Schema – PnP Provisioning engine schema repository
  • PnP-IdentityModel – Open source replacement of Microsoft.IdentityModel.Extensions.dll

Repositories in the GitHub PnP organization

  • PnPjs – PnPjs Framework repository
  • o365 CLI – Cross-OS command line interface to manage Office 365 tenant settings
  • generator-spfx – Open-source Yeoman generator which extends the out-of-the-box Yeoman generator for SharePoint with additional capabilities

What’s supportability story around PnP material?

Following statements apply across all of the PnP samples and solutions, including samples, core component(s) and solutions, like SharePoint Starter Kit.

  • PnP guidance and samples are created by Microsoft & by the Community
  • PnP guidance and samples are maintained by Microsoft & community
  • PnP uses supported and recommended techniques
  • PnP implementations are reviewed and approved by Microsoft engineering
  • PnP is an open-source initiative by the community – people who work on the initiative for the benefit of others, have their normal day job as well
  • PnP is NOT a product and therefore it’s not supported by Premier Support or other official support channels
  • PnP is supported in similar ways as other open source projects done by Microsoft with support from the community by the community
  • There are numerous partners that utilize PnP within their solutions for customers. Support for this is provided by the Partner. When PnP material is used in deployments, we recommend being clear with your customer/deployment owner on the support model

Updated SharePoint Framework training package

Since the last monthly update, we also released an updated SharePoint Framework training package with 3 new modules. This training package can be used for self-learning or you can use it for redelivering the training locally just by reusing the provided material. No additional permissions are needed. Each module has a recorded video of the delivery, presentation, demo, and hands-on lab materials.

Area-specific updates

SharePoint Provisioning Service

SharePoint Provisioning Service is now available for public preview usage. This service is designed to help you to provisioning sample content and solutions to your own tenant(s) for showing what’s possible in the context of SharePoint modern experiences. You will need to be a tenant administrator to be able to provision provided example tenant templates to your own tenant. Initially, service provides a set of SharePoint Look Book templates, SharePoint Starter Kit sample template and Office 365 Custom learning solution.

We are looking into improving the end user experience and to provide additional templates in the future.

SharePoint Starter Kit

SP Starter Kit SharePoint Starter Kit demonstrates how to extend out of the box modern experiences in the SharePoint. It demonstrates multiple different techniques and uses different patterns and practices to build an end-to-end demonstration solution which can be provisioned to any Office 365 tenant. It contains for example following capabilities, which you can learn from or use them as your reference:

  • Using Microsoft Graph APIs in SharePoint Framework solutions
  • Implementing Microsoft Teams tabs using SharePoint Framework

Following are the key changes in the Starter Kit since the previous monthly summary

  • Solution updated to the SharePoint Framework 1.8 version
  • All web parts have been configured to be also usable as Microsoft Teams tabs
  • Documentation updates
  • Additional language translations

We do welcome contributions on this open-source community project.

Modernization tooling

SharePoint Online is continuously evolving and improving, which is a great thing for you as a consumer of the service. One of the key improvements is the availability of modern sites, which are modern Office 365 group-connected team sites or communication sites, combined with improved functionality that can be consumed from a beautiful modern user interface. There are however plenty of customers who have already existing content in the classic sites and in classic pages, which would be great to get moved on the modern experience. This is where the open-source modernization tooling will help you.

Following are the key changes in modernization tooling and guidance since the last monthly summary

  • Support for transforming classic publishing pages to modern SharePoint pages
  • Support for transforming pages living outside fo the sitepages library
  • Updates on the modernization framework

SharePoint development samples

These are samples which are available from the SharePoint client-side web part sample repository at https://github.com/SharePoint/sp-dev-fx-webparts or from the SharePoint Framework Extensions repository at https://github.com/SharePoint/sp-dev-fx-extensions.

Web parts

  • A new MultilingualPages solution contains an application customizer and a web part that when used together provide a client-side solution to managing multilingual pages in a SharePoint site collection
  • A new sample section-backgrounds showing how to implement section background capability in custom web parts. Contains web parts without any framework, with React and withOffice UI Fabric
  • A new sample react-tenant-properties showing how to build an admin experience to manage tenant properties using a client-side web part
  • A new sample react-manage-sitedesigns showing how to build an admin experience to manage site designs in a tenant
  • A new sample react-ioc-tests provided as an example of implementing an IoC (Inversion of Control) pattern in the context of a SharePoint Framework web part
  • An updated version of the ModernSeach solution with changes on both web part and the renderer extension
  • An updated version of the js-skype-status sample showing presence integration in SharePoint pages
  • An updated version of the react-skype-status sample showing presence integration in SharePoint pages
  • Numerous other updates on updating solutions to the latest version and other adjustments

SharePoint Framework Extensions

  • New sample react-command-page-model-pnpjs illustrating how to build a custom solution to create and manage page layouts with metadata and application customizer
  • New sample react-application-logo-festoon adding how to include custom images on the side of the site logo based on the holiday theme
  • Numerous other updates on updating solutions to the latest version and other adjustments

Other open-source projects and assets

  • Reusable SharePoint Framework controls – Reusable controls for SharePoint Framework web part and extension development. Separate projects for React content controls and Property Pane controls for web parts. These controls are using Office UI Fabric React controls under the covers and they are SharePoint aware to increase the productivity of developers.
  • Office 365 CLI – Using the Office 365 CLI, you can manage your Microsoft Office 365 tenant and SharePoint Framework projects on any platform. See release notes for the latest updates.
  • PnPJs – PnPJs encapsulates SharePoint REST APIs and provides a fluent and easily usable interface for querying data from SharePoint sites. It’s a replacement of already deprecated pnp-js-core library. See changelog for the latest updates.
  • PnP Provisioning Engine and PnP CSOM Core – PnP provisioning engine is part of the PnP CSOM extension. They encapsulate complex business driven operations behind easily usable API surface, which extends out-of-the-box CSOM NuGet packages. See changelog for the latest updates.
  • PnP PowerShell – PnP PowerShell cmdlets are open-source complement for the SharePointOnlinee cmdlets. There are more than 300 different cmdlets to use and you can use them to manage tenant settings or to manipulate actual SharePoint sites. They See changelog for the latest updates.
  • List formatting definitions – Community contributed samples around the column and view formatting in GitHub.
  • Site Designs and Site Scripts – Community contributed samples around SharePoint Site Designs and Site Scripts in GitHub.
  • DevOps tooling and scripts – Community contributed scripts and tooling automation around DevOps topics (CI/CD) in GitHub.

SharePoint Dev articles

SharePoint Dev articles are surfaced at docs.microsoft.com/en-us/sharepoint/dev. Since the last release, also classic SharePoint server-side API reference documentation has been moved to the docs.microsoft.com platform. You can provide contributions to these documents by submitting documentation improvements using GitHub tooling. All of the SharePoint Dev docs are stored and surfaced from the sp-dev-docs repository. Here are new/updated articles on SharePoint Development.

SharePoint Dev YouTube video channel

You can find all SharePoint Dev videos on our YouTube Channel at http://aka.ms/spdev-videos. This location contains already a significant amount of detailed training material, demo videos, and community call recordings. Here are the new demo or guidance videos released since the last monthly summary.

Key contributors to the April 2019 update

Here’s the list of active contributors (in alphabetical order) since last release details in SharePoint Dev repositories or community channels. PnP is really about building tooling and knowledge together with the community for the community, so your contributions are highly valued across the Office 365 customers, partners and obviously also at Microsoft. Thank you for your assistance and contributions on behalf of the community. You are making a difference!

Companies: Here’s the companies, which provided support for PnP initiative for this month by allowing their employees working for the benefit of others in the PnP initiative. There were also people who contributed from other companies during last month, but we did not get their logos and approval to show them in time for these communications. If you still want your logo for this month’s release, please let us know and share the logo with us. Thx.

2toLead aequos Arvo Systems    Catapult Systems Content and Code  CPS   DMI      Mavention piasys   Puzzlepart onebit software  Pramerica   PVX Solutions   Rapid Circlerencore  SharePointalist   Sogeti    Solvion   Stefan Bauer Valo  Voitanos  Voitanos

Microsoft people: Here’s the list of Microsoft people who have been closely involved with the PnP work during last month.

SharePoint PnP Core Team

SharePoint PnP Core team manages SharePoint PnP community work in the GitHub and also coordinates different open-source projects around SharePoint development topics. PnP Core Team members have a significant impact on driving adoption of Office 365 and SharePoint development topics. They have shown their commitment to the open-source and community-driven work by constantly contributing to the benefit of the others in the community. Thank you for all that you do!

Here are the Microsoft Internal PnP Core team members:

Next steps

  • April 2019 monthly community call is on Tuesday 9th of April at 8 AM PDT / 5 PM CEST for latest release details with demos – Download recurrent invite to monthly community call with a detailed schedule for your time zone from http://aka.ms/sppnp-call.

Learn, Reuse, Share - aka.ms/sppnp

“Sharing is caring”


SharePoint Team, Microsoft – 9th of April 2019

filter-icon