December 10th, 2020

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

Microsoft 365 Patterns and Practices (PnP) Community December 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 ecosystem during the past month. Thank you for being part of this success. Sharing is caring!

What is Microsoft 365 (PnP) Community 

Microsoft 365 PnP is a nick-name for Microsoft 365 Community activities coordinated by numerous teams inside of the 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 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 Microsoft 365 PnP initiative from November 2020

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

  1. Working with Microsoft Lists (webinar) | Harini Saladi, Miceile Barrett, Chakkaradeep Chandran and Mark Kashman | 3,904
  2. Getting started with Site Designs in SharePoint OnlineLaura Kokkarinen (Sulava) | 3,383
  3. Introducing: New Employee Onboarding  – a Microsoft Teams app templateNidhi Sharma (Microsoft) | 2,207
  4. Architecting Your Intranet | Melissa Torres (Microsoft) | 1,730
  5. SharePoint Syntex at Microsoft Ignite 2010 | Jeff Teper | 1,538
  6. SharePoint Framework Tutorial 1 – HelloWorld WebPart | 1,414
  7. Migration to SharePoint, OneDrive, and Microsoft Teams in Microsoft 365, free and easyHani Loza (Microsoft) & Eric Warnke (Microsoft) | 1,275
  8. Latest on Power Automate integration within SharePoint Online | Chakkaradeep Chandran (Microsoft) | 1,256
  9. Getting started on using custom search result page in SharePoint Online | 1,236
  10. Getting Started with SharePoint SyntexSean Squires (Microsoft) | 1,173

Most viewed videos in the Microsoft 365 Developer YouTube channel during November 2020:

  1. Build Outlook Add-ins that integrate your solution seamlessly into your users’ Outlook experience​ | Juan Balmori, Hitesh Manwar – 1,408
  2. Authenticate and connect with Microsoft Graph – June 2019 | 1,209
  3. Getting Started with Microsoft Graph and Application Registration (no longer available) | 1,089
  4. An introduction to Microsoft Graph for developers – Part I – Getting started – October 2019 | 952
  5. Getting Started with Microsoft Graph | 904
  6. Build and Office add-i using modern JavaScript tools and technologies | 899
  7. Create interactive conversational bots for Microsoft Teams | 839
  8. Develop multi-tenant applications with Microsoft Identity Platform – April 2020 | 746
  9. Microsoft Teams embedded web experiences | 613
  10. Getting started with Microsoft Emulator and Windows 10x | 567

Main resources around Microsoft 365 Community:

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

We highly recommend also subscribing on the Microsoft 365 Developer Podcast show, which is a great show covering also latest development in the Microsoft 365 platform from developer and extensibility perspective.

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 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 with Microsoft Graph API first approach
  • powershell –  PnP PowerShell module which is PowerShell Core module targeted for Microsoft 365
  • pnpframework – PnP Framework is a .Net Standard 2.0 library targeting Microsoft 365 containing the PnP Provisioning engine and a ton of other useful extensions
  • 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-starter-kit – Starter kit solution for SharePoint modern experiences
  • 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-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 community lead and contributed samples and solutions, including samples, core component(s) and solutions, like SharePoint Starter Kit or PnP PowerShell. All Microsoft released SDKs and tools are supported based on the specific tool policies.

  • 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

Please see the specifics on the supportability on the tool, SDK or  component repository or download page.

Microsoft 365 PnP team model

PnP Team announcement

In April 2020 we announced our new Microsoft 365 PnP team model and grew the MVP team quite significantly. PnP model exists for having more efficient engagement between Microsoft engineering and community members. Let’s build things together. Your contributions and feedback is always welcome! 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. We welcome all community members to get involved on the community and open-source efforts. Your input do matter!

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

These are different areas which are closely involved on the community work across the PnP initiative. Some are lead and coordinated by engineering organizations, some are coordinated by the community and MVPs.

Microsoft Graph Toolkit

Graph toolkit

Microsoft Graph Toolkit is engineering lead initiative, which works closely with the community on the open-source areas. The Microsoft Graph Toolkit is a collection of reusable, framework-agnostic web components and helpers for accessing and working with Microsoft Graph. The components are fully functional right of out of the box, with built in providers that authenticate with and fetch data from Microsoft Graph.

All the latest updates on the Microsoft Graph Toolkit is being presented in our bi-weekly Microsoft 365 Generic Dev community call, including the latest community contributors.

Microsoft 365 Community docs

Community docs model was announced in the April 2020 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 New articles

Updated articles

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.

SharePoint Framework development samples

These are the updated samples which are available from the the different repositories around the Microsoft 365 area samples.

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

Microsoft Teams community samples

These are samples which have been contributed on the community samples since last summary. We do welcome all Microsoft Teams samples to this gallery. They can be implemented using in any technology.

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. This gallery already surfaces all Microsoft samples, Microsoft Teams app templates and community samples.

Teams sample gallery

Sharing is Caring initiative

The “Sharing Is Caring” repository is targeted for learning the basics around making changes in Microsoft Docs, 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. Everyone is welcome to learn how to get started on contributing to open-source docs or code!

  • See more from the guidance documentation – including all upcoming instructor lead sessions which you can participate!

Sharing is caring

Different Microsoft 365 related open-source initiatives build together with the community

See exact details on the latest updates from the specific open-source project release notes. You can also follow up on the project updates from our community calls. There are numerous active projects which are releasing new versions with the community even on weekly basis. Get involved!

  • Microsoft Look Book – Discover the modern experiences you can build with SharePoint in Microsoft 365. Look book provides design examples for SharePoint Online which can be automatically provisioned to any tenant in the world. See more from https://lookbook.microsoft.com. This service is also provided as open-source solution sample from GitHub.
  • yo teams – Open-source Yeoman generator for Microsoft Teams extensibility. Supports creation of bots, messaging extensions, tabs (with SSO), connectors and outgoing Webhooks. See more from https://aka.ms/yoteams.
  • PnP Framework – .NET Standard 2.0 SDK containing the classic PnP Sites Core features for SharePoint Online. More around this package from GitHub.
  • PnP Core SDK – The PnP Core SDK is an SDK designed to work for Microsoft 365 with Graph API first approach. It provides a unified object model for working with SharePoint Online and Teams which is agnostic to the underlying API’s being called. See more around the SDK from documentation.
  • PnP PowerShell – PnP PowerShell is a .NET Core 3.1 / .NET Framework 4.6.1 based PowerShell Module providing over 400 cmdlets that work with Microsoft 365 environments and more specifically SharePoint Online and Microsoft Teams. See more details from documentation.
  • 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.
  • PnP Modern Search solution – The PnP ‘Modern Search’ solution is a set of SharePoint Online modern Web Parts allowing SharePoint super users, webmasters and developers to create highly flexible and personalized search based experiences in minutes. See more details on the different supported capabilities from https://aka.ms/pnp-search.
  • Modernization tooling – All tools and guidance on helping you to transform you SharePoint to modern experiences from http://aka.ms/sppnp-modernize.
  • SharePoint Starter Kit v2 – Building modern experiences with Microsoft Teams flavors for SharePoint Online and SharePoint 2019 – reference solution in GitHub.
  • 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.

Documentation updates

Please see all the Microsoft 365 development documentation updates from the related documentation sets and repositories as listed below:

Microsoft 365 Dev and Microsoft 365 Community (PnP) YouTube video channels

You can find all Microsoft 365 related 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 the 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.

  • Microsoft 365 PnP Weekly – Episode 108 – Isabelle van Campenhoudt (ShareQL – Power Platform Associates)
  • Microsoft 365 PnP Weekly – Episode 107 – Fabio Franzini
  • Microsoft 365 PnP Weekly – Episode 106 – Serge Luca (Power Platform Associates) 
  • Microsoft 365 PnP Weekly – Episode 105 – Alistair Pugin (Tangent Solutions)

Key contributors to the December 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 Microsoft 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       Canviz      Capa Creative     Catapult Systems   ClearPeople    CPS       DMI       DQC Sverige AB      intelogy   iThink365     Monday Coffee    N8D   NTT Ltd     piasys        PixelMill    Portiva    onebit software     Pramerica     PVX Solutions     SharePointalist      Sherpas Group    Strom Technology    Sulava      Sympraxis Consulting    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 Microsoft 365 topics. PnP Team members have a significant impact on driving adoption of Microsoft 365  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

  • See all of the available community calls, tools, components and other assets from https://aka.ms/m365pnp. Get involved!

Got ideas or feedback on the topics to cover, additional partnerships, product feature capabilities? – let us know. Your input is important for us, so that we can support your journey in Microsoft 365.

“Sharing is caring”

 


Microsoft 365 Community (PnP) – December 10th 2020

Author

We coordinate the Microsoft 365 Patterns and Practices (PnP) open-source and community activities.