Microsoft 365 / SharePoint Community (PnP) – April 2020 update

SharePoint team

SharePoint Dev Ecosystem / SharePoint Patterns and Practices (PnP) April 2020 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)?

Microsoft 365 / SharePoint PnP is a nick-name for Microsoft 365 / SharePoint Dev Ecosystem activities coordinated by SharePoint engineering together with other Microsoft 365 areas. 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 Microsoft 365. Active development and contributions happen in GitHub by providing contributions to the samples, reusable components, and documentation. PnP is owned and coordinated by Microsoft engineering, but this is work done by the community for the community.

The initiative is currently facilitated by Microsoft, but 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 (more details on the model comin gup soon). 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 or other GitHub repositories.

Some key statistics around SharePoint Developer topics from March 2020

Most viewed articles in the SharePoint Dev documentation during March 2020:

  1. Use column formatting to customize SharePoint | 32,888
  2. Build your first SharePoint client-side web part (Hello World part 1) | 23,262
  3. Complete basic operations using SharePoint REST endpoints | 21,135
  4. SharePoint Site Design and Site Script overview | 20,540
  5. Working with lists and list items with REST | 19,774
  6. Set up your SharePoint Framework development environment | 19,360
  7. Get to know the SharePoint REST service | 18,678
  8. Overview of the SharePoint Framework (SPFx) | 15,931
  9. SharePoint Development | 15,848
  10. Working with folders and files with REST | 15,033

Most viewed videos in the Microsoft 365 & SharePoint Community (PnP) YouTube channel during March 2020:

  1. Getting started with Site Designs in SharePoint OnlineLaura Kokkarinen (Sulava) | 3,438
  2. SharePoint Framework Tutorial 1 – HelloWorld web part | 1,538
  3. SharePoint Framework Tutorial – Setup your Office 365 tenant for development | 1,380
  4. Community topic – Microsoft Teams and SharePoint Integration – Latest current and future capabilities – Tejas Mehta (Microsoft),  Prateek Dudeja (Microsoft) | 1,274
  5. PnP Webcast – SharePoint Framework Modern Search Web PartTarald Gåsbackk (Puzzlepart), Franck Cornu (aequous) | 1,246
  6. SharePoint Framework Training – Using react and Office UI Fabric React components | 1,231
  7. SharePoint Framework Tutorial 2 – HelloWorld, talking to SharePoint | 912
  8. SharePoint Framework Tutorial – Setting up your development environment | 882
  9. Community Demo – Office 365 group management solution using SharePoint FrameworkNanddeep Nachan, Smita Nachan | 815
  10. Building Microsoft teams personal apps using SharePoint Framework | 705

Main resources around SharePoint PnP and SharePoint development

April 2020 monthly community call

April 2020 monthly community happened on Tuesday 14th of April 9 AM PST with following agenda:

  • Monthly summary of SharePoint Development topics – Latest SharePoint road map and community news – Vesa Juvonen (Microsoft) ~15 min
    • SharePoint Dev engineering update with latest news and road map
    • UserVoice status for SharePoint Dev
      • Community contributors and companies
  • Topic – Multilingual portals on modern SharePoint
  • Q&A

You can find recording of the community call from PnP YouTube channel. 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
  • generator-teams – Open-source Microsoft Teams Yeoman generator – Bots, Messaging Extensions, Tabs, Connectors, Outgoing Webhooks and more
  • Sharing is Caring – Getting started on learning how to contribute and be active on the community from GitHub perspective.

Repositories in the GitHub Microsoft Search organization

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 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

Area-specific updates

Microsoft 365 Community docs

Microsoft 365 Community docs announcement

We are happy announce new non-development oriented document set targeted to all different community guidance articles. Intention of this Microsoft 365 Community Docs is to have a centralized location from where customers and partners can find additional guidance documentation contributed by the community. So – having real world learnings from the community for the community. 

Traditionally Microsoft provided documentation has concentrated mainly on the development or administrative operations. On top of this, then community has written awesome additional guidance for example on the topics of governance, information architecture or other learnings across the Microsoft 365 topics. This document set is targeted for this kind of topics and to make it easy for anyone in the community to get their articles published in centralized location.

See more from the announcement blog post a the SharePoint blog – Announcing the Microsoft 365 Community Docs. Notice that this is not just about the SharePoint articles even though many of the original documents concentrate on it. Articles on any areas around Microsoft 365 are welcome. Your submission will be then reviewed by Microsoft technical writers before they will be published in the docs.microsoft.com platform.

See the GitHub issue list for the article ideas and get involved on sharing!

SharePoint Provisioning Service (look book provisioning)

New version of the SharePoint Provisioning Service has been released together with a seamless integration to SharePoint Look Book (http://lookbook.microsoft.com). Look book exposes numerous new templates which are demonstrating the possibilities of modern SharePoint designs. You will need to be a tenant administrator to be able to provision provided example tenant templates to your own tenant. New SharePoint look book templates (v2 designs) have been released in Ignite 2019 and are available also as open-source assets from the sp-dev-provisioning-templates repository.

SharePoint Provisioning Service source code is also released as an open-source solution at sp-provisioning-service GitHub repository and we keep on evolving the experience further. Changes during the past month:

yo Teams – Yeoman generator for Microsoft Teams

Yo teams is a Yeoman Generator for Microsoft Teams Apps projects. This generator is for developers who prefers to use TypeScript, React and node as their primary technologies. The generator allows you to simply create and scaffold projects that includes one or more Microsoft Teams features such as: Bots, Messaging Extensions, Tabs, Connectors, Outgoing Webhooks. You can easily get started by following the guidance available from the GitHub wiki. Latest changes on the project:

  • Move to PnP GitHub repository and move the work model to PnP process
  • Native support for Single Sign On Tabs
  • Switch from request to Axios modules
  • First GA release through the PnP repo, after three previews

Got ideas and suggestions on this side? Please let us know!

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

We are currently building a new version of the SharePoint Starter Kit (v2), which will also support SharePoint 2019 where possible with new updated designs for SharePoint Online. This is planned to get released by end of April with new updated web parts and portal design.

PnP Tenant template updates

PnP tenant templates can be used to create Office 365 scoped templates, which can be applied to any tenant in the world with define configurations. Tenant templates provides a capability to have pre-defined configurations of complex tenant scoped settings in a single pnp file. PnP file is an OpenXml file containing all assets which are part of the template.  Tenant templates can contain form example definitions around multiple site collections, custom tenant themes, SharePoint Framework solutions, site level confirmations etc.

New capabilities as part of the April 2020 release:

  • EnsureAppCatalogAsync extension method
  • Support for creating modern team sites with app-only access token
  • Fixes and various small improvements

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

  • GA of the term mapping support
  • Support for site pages list columns for receiving metadata when receiving modernized publishing pages
  • Numerous other improvements on the modernization framework

SharePoint / Office 365 development samples

These are samples which are available from the the different repositories around the SharePoint area samples. Includes though also samples purely targeted for Microsoft Teams or Power Platform samples.

Web parts

 Extensions

Other sample solutions

  • Updated ChangeRequests to support to be used as a Microsoft Teams personal app or as a Microsoft Teams tab
  • Updated MultilingualPages to include a converter tool to use out-of-the-box multilingual solution
  • Numerous other updates on updating solutions to the latest version and other adjustments

How to find what’s relevant for you? Take advantage of our SharePoint Framework web part and extension sample galleries

Sharing is Caring initiative

The “Sharing Is Caring” repository is targeted for learning the basics around making changes in GitHub, submitting pull requests to the PnP repositories and coming soon… PnP Contribution Rewards.

Sharing is caring

PnP Modern Search solution

PnP Modern Search solution allows you to build user friendly SharePoint search experiences using SPFx in the modern interface. The main features include:

  • Fully customizable SharePoint search query like the good old Content Search Web Part.
  • Can either use a static query or be connected to a search box component using SPFx dynamic data.
  • Live templating system with Handlebar to meet your requirements in terms of UI + built-in layouts. Can also use template from an external file.
  • Search results including previews for Office documents and Office 365 videos.
  • Customizable refiners supporting multilingual values for taxonomy based filters.
  • Sortable results (unique field).
  • Refiners Web Part.
  • Pagination Web Part.
  • SharePoint best bets support.
  • Search query enhancement with NLP tools (like Microsoft LUIS).
  • Extensibility model allowing to write your own components.

See more details from the documentation, including latest changes included in the March 2020 release.

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 SharePoint Online 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.
  • Teams provisioning solution – Set of open-source Azure Functions for Microsoft Teams provisioning. See more details from 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.

  • Numerous updated articles related on transitioning of the capabilities from targeted release to world wide availability
  • And countless other adjustments and updates on the documentation

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 new demo or guidance videos released since the last monthly summary.

Key contributors to the April 2020 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 truly making a difference! If we missed someone, please let us know.

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 community. 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.

AddIn365
aequos
Arvo Systems
Catapult Systems
ClearPeople
Content and Code
CPS
DMI
DQC Sverige AB
Monday Coffee
N8D
piasys
PixelMill
Portiva
onebit software
Pramerica
PVX Solutions
rencore
SharePointalist
Sogeti
Strom Technology
Sulava
Sympraxis Consulting
ThreeWill
Valo
Voitanos

 

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

PnP Team

PnP Team manages the PnP community work in the GitHub and also coordinates different open-source projects around SharePoint development topics. PnP 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. More details on updated PnP Team model coming up soon. Thank you for all that you do! 

Here are the Microsoft Internal PnP Core team members:

Next steps

learn reuse share
  • April 2020 monthly community call was on Tuesday 14th of April (recording) and next monthly call is on Tuesday 12 of May. Weekly SharePoint dev community calls are on Thursday and you can download invite from http://aka.ms/sppnp. Download recurrent invite to monthly community call with a detailed schedule for your time zone from http://aka.ms/spdev-call.

“Sharing is caring”


SharePoint Development Community (PnP) – April 16th 2020

Feedback usabilla icon