Microsoft 365 Microsoft Teams Office 365 SharePoint Add-ins Extensions Microsoft Bot Framework Microsoft Graph SharePoint Framework Tabs

Microsoft 365 Patterns and Practices (PnP) – September 2020 update

Microsoft 365 Patterns and Practices (PnP) Community September 2020 update is out with a summary of the latest guidance, samples, and solutions from Microsoft or from the community for the community. This article is a summary of all the different areas and topics around the community work we do around Microsoft 365 and SharePoint ecosystem during the past month. Thank you for being part of this success. Sharing is caring!

What is Microsoft 365 Patterns & Practices (PnP)?

Microsoft 365 PnP is a nick-name for Microsoft 365 Ecosystem activities coordinated by OneDrive & SharePoint engineering together with other Microsoft 365 engineering organizations. PnP is a community-driven open source initiative where Microsoft and external community members are sharing their learning’s around implementation practices for Microsoft 365. Topics vary from Microsoft Graph, Microsoft Teams, OneDrive and SharePoint. Active development and contributions happen in GitHub by providing contributions to the samples, reusable components, and documentation for different areas. 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 team (see team details in end of the article) and we are always looking to extend the PnP team with more community members. Notice that since this is open source community initiative, so 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.

Some key statistics around SharePoint Developer topics and Microsoft 365 PnP initiative from August 2020

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

  1. Working with Microsoft Lists (webinar) | Harini Saladi, Miceile Barrett, Chakkaradeep Chandran and Mark Kashman | 7,542
  2. Getting started with Site Designs in SharePoint OnlineLaura Kokkarinen (Sulava) | 4,126
  3. Microsoft Lists – Share and track information across Microsoft 365 | Lincoln DeMaris (Microsoft) | 3,015
  4. SharePoint Framework Tutorial 1 – HelloWorld web part | 1,664
  5. Latest on Power Automate integration within SharePoint Online | Chakkaradeep Chandran (Microsoft) | 1,584
  6. PnP Webcast – SharePoint Framework Modern Search Web PartTarald Gåsbackk (Puzzlepart), Franck Cornu (aequous) | 1,173
  7. Getting started on using custom search result page in SharePoint Online | 1,119
  8. Microsoft 365 Collaboration [keynote] – Jeff Teper and friends | 2,086
  9. SharePoint Framework Tutorial – Setup your Office 365 tenant for development | 1,033
  10. SharePoint Framework Tutorial – Setting up your development environment | 843

Main resources around SharePoint PnP and SharePoint development

Latest Dev Blog posts

Here are the latest blog posts and announcements around Microsoft 365 development topics from https://developer.microsoft.com/en-us/microsoft-365/blogs.

Community call recording blog posts

PnP Weekly video blog / podcast shows

PnP Virtual Conference – September 2020

PnP team delivered a completely free virtual conference on 1st of September with >2200 registered attendees. This was really focusing on providing an update around the different topics and features community can take advantage on day to day work already today. 

It was great the see the interest for this setup and we are planning to potentially to transform this as a free quarterly conference for also community members to present. See more details and the references on the covered topics, including recordings, from the following blog post.

Community Calls

There are numerous different community calls on different areas. All calls are being recorded and published either from Microsoft 365 Developer or Microsoft 365 and SharePoint Community (PnP) YouTube channels. Recordings are typically released 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 Microsoft 365 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  Team members (contacts later in this post) and they are able to help with the right setup. 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.

Microsoft 365 PnP community  Ecosystem in GitHub

Most of the community driven repositories are in the PnP GitHub organization as samples are not product specifics as they can contain numerous different solutions or the solution works in multiple different applications.

  • 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
  • teams-dev-samples – Microsoft Teams targeted samples from community and Microsoft engineering
  • Sharing is Caring – Getting started on learning how to contribute and be active on the community from GitHub perspective.
  • pnpcore – The PnP Core SDK is an SDK designed to work against Microsoft 365
  • sp-dev-fx-webparts – Client-side web part samples from community and Microsoft engineering
  • sp-dev-fx-extensions – Samples and tutorial code around SharePoint Framework Extensions
  • sp-dev-fx-library-components – Samples and tutorial code around the SharePoint Framework library components
  • sp-dev-fx-vs-extension – Open source Visual Studio IDE extension for creating SharePoint Framework solutions in the Visual Studio 2015 or 2017
  • sp-dev-build-extensions – Different build extensions like gulp tasks and gulp plugins from the community and engineering around SharePoint development
  • sp-dev-solutions – Repository for more polished and fine-tuned reusable solutions build with SharePoint Framework
  • sp-dev-samples – Repository for other samples related on the SharePoint development topics – WebHooks etc.
  • sp-dev-fx-controls-react – Reusable content controls for SharePoint Framework solutions build with React
  • sp-dev-fx-property-controls – Reusable property pane controls to be used in web parts
  • sp-dev-list-formatting – Open-source community-driven repository for the column and view formatting JSON definitions
  • sp-dev-site-scripts – Open-source community-driven repository for community Site Designs and Site Scripts
  • sp-dev-modernization – Tooling and guidance around modernizing SharePoint from classic to modern
  • sp-power-platform-solutions – Solution and sample code for SharePoint Power Platform solutions

All SharePoint specific repositories or services supported directly by Microsoft are located in the SharePoint GitHub organization

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 Microsoft Search organization controlled by the PnP initiative

Other related resources from GitHub

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 or PnP PowerShell.

  • 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

Microsoft 365 PnP team model

PnP Team announcement

In April we announced our new Microsoft 365 PnP team model and grew the MVP team quite significantly. During August, we also crew the team with 5 new members. PnP Team coordinates and leads the different open-source and community efforts we execute in the Microsoft 365 platform.

Got feedback, suggestions or ideas? – Please let us know. Everything we do in this program is for your benefit. Feedback and ideas are more than welcome so that we can adjust the process for benefitting you even more.

Area-specific updates

Microsoft 365 Community docs

Community docs model was announced in the April release and it’s great to see the interest for community to help each other by providing new guidance on the non-dev areas. See more on the announcement from the SharePoint blog – Announcing the Microsoft 365 Community Docs. You might be interested on following assets to learn amore on this area: Here are the new articles on the Microsoft 365 Community Docs after the previous update

Here are also some additional resources explaining the model more detailed.

Get involved! All contributors will be also called out in our quarterly summary released soon as a separate post in SharePoint blog at https://aka.ms/sp-blog.

Microsoft Look Book – Provisioning service

We have been releasing numerous updates for the SharePoint Look Book (http://lookbook.microsoft.com) within past month. Look book exposes numerous new templates which are demonstrating the possibilities of modern SharePoint designs. Typically you will need to be a tenant administrator to apply the template, but we are also soon enabling basic templates for normal users. All the hosted templates are also provided as an open-source solutions from the sp-dev-provisioning-templates repository, which means that you can also modify them based on your interest and use them option directly using PnP PowerShell.

Look Book site source code is also released as an open-source solution at sp-provisioning-service GitHub repository and we keep on evolving the experience further. 

yo Teams – Yeoman generator for Microsoft Teams

PnP Team announcement 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:

  • Latest version is 2.15.0
  • All Adaptive Cards are now version 1.2
  • Node v8 is no longer supported
  • Fixes on flickering issues with high constrast themes
  • Multiple fixes on general components

Upcoming features

We are also working on having better integration and story between yo teams and the Microsoft Teams Toolkit – more on this one later this autumn. Got ideas and suggestions on this side? Please let us know!

SharePoint Starter Kitstarter-kit-v2

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. We did release new v2 of the package during May and Eric Overfield (PixelMill) demonstrated the power of this structure in the recent PnP Virtual Conference.

Key changes in the v2 release were following:

  • Individual web parts are packaged to isolated solutions enabling you to take them into use one-by-one as needed
  • Suitable web parts also work in SharePoint 2019 platform
  • Suitable web parts are also enabled to be Microsoft Teams tabs or personal apps
  • New updated layout aligned with the designs from the Look Book site.

We are looking into incorporating more and more cross Microsoft 365 capabilities on this starter kit with potential renaming as Microsoft 365 Starter Kit with bots, web hooks, improved Graph example usage etc. Your feedback more than welcome. Got feedback or ideas around the Starter Kit? – Please let us know. All input is more than welcome.

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. SharePoint look book provisioning experience is based on PnP Tenant templates which are applied to tenant using PnP provisioning engine.

New capabilities as part of the September 2020 release:

  • 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

Notice that the SharePoint 2010 Workflows will be going away in SharePoint Online. Take advantage of the SharePoint Modernization Scanner to understand if any are used in your environment.

SharePoint / Microsoft 365 development samples

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

How to find what’s relevant for you? Take advantage of our SharePoint Framework web part and extension sample galleries – includes also solutions which work in Microsoft Teams

If you are interested on Microsoft Teams samples, we have just released also new Microsoft Teams sample gallery. Contributions to Microsoft Teams samples is also more than welcome.

Teams sample gallery

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 in GitHub in general. Take advantage of this instructor lead training for learning how to contribute to docs or to open-source solutions.

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.

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 adjustments and updates on the existing

Microsoft 365 Dev and PnP Dev YouTube video channels

You can find all Microsoft 365 and SharePoint PnP community videos on our YouTube Channel at http://aka.ms/m365pnp-videos or at Microsoft 365 Dev. These channels contains already a significant amount of detailed training material, demo videos, and community call recordings.

Here are new Microsoft demo or guidance videos released since the last monthly summary:

Community demos as following:

PnP Weekly sessions – Community visitors and latest articles from Microsoft and community on Microsoft 365 topics.

As mentioned in the this blog post earlier, we also have released the recordings form the PnP Virtual Conference as follows:

Key contributors to the September 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
NTT Ltd
piasys
PixelMill
Portiva
onebit software
Pramerica
PVX Solutions
rencore
SharePointalist
Solvion
Strom Technology
Sulava
Sympraxis Consulting
ThreeWill
Valo
Voitanos

 

WorkPoint

 

 

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. Thank you for all that you do!

Here are the Microsoft Internal PnP Core team members:

Next steps

“Sharing is caring”


Microsoft 365 Community (PnP) – September 10th 2020

filter-icon