This article is contributed. See the original author and article here.
Microsoft 365 Patterns and Practices (PnP) Community April 2021 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 Community (PnP)
Microsoft 365 PnP is a nick-name for Microsoft 365 platform 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 Viva, 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.
- See more details from New Microsoft 365 Patterns and Practices (PnP) team model with new community leads
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 March 2021:
- Unique visitors during the past 2 weeks in PnP, OneDrive, Microsoft-Search, OfficeDev and SharePoint GitHub organization repositories – 72,290
- Overall unique contributors in the PnP, OneDrive, Microsoft-Search, OfficeDev and SharePoint GitHub organizations – 1,799
- Microsoft 365 Community (PnP) YouTube channel had 92,953 views with 6,835 hours of watch time and 21,597 subscribers
- Microsoft 365 Developer YouTube channel had 50,060 views with 3,628 hours of watch time and 13,111 subscribers
Most viewed videos in the Microsoft 365 Community (PnP) YouTube channel during March 2021:
- Working with Microsoft Lists (webinar) – Harini Saladi, Miceile Barrett, Chakkaradeep Chandran and Mark Kashman | 4,207
- Getting started with Site Designs in SharePoint Online – Laura Kokkarinen (Sulava) | 3,974
- Architecting Your Intranet | Melissa Torres (Microsoft) | 2,659
- Building a beautifully designed Intranet with SharePoint – latest design and branding capabilities | Cathy Dew (Microsoft) & Katie Swanson (Microsoft) | 2,431
- SharePoint App Bar – Global navigation and wayfinding | Melissa Torres (Microsoft) | 2,263
- Introducing: New Employee Onboarding – a Microsoft Teams app template | Nidhi Sharma (Microsoft) | 2,227
- SharePoint Framework Tutorial 1 – HelloWorld WebPart | 1,764
- SharePoint at 20 :birthday_cake: | 1,731
- Migration to SharePoint, OneDrive, and Microsoft Teams in Microsoft 365, free and easy – Hani Loza (Microsoft) & Eric Warnke (Microsoft) | 1,718
- Latest on Power Automate integration within SharePoint Online | Chakkaradeep Chandran (Microsoft) | 1,678
Most viewed videos in the Microsoft 365 Developer YouTube channel during March 2021:
- Microsoft Teams community call – March 2021 | 3,817
- Authenticate and connect with Microsoft Graph – June 2019 | 1,639
- Build Outlook Add-ins that integrate your solution seamlessly into your users’ Outlook experience | Juan Balmori, Hitesh Manwar – 1,321
- An introduction to Microsoft Graph for developers – Part I – Getting started – October 2019 | 1,218
- Getting Started with Microsoft Graph and Application Registration | 1,020
- Create interactive conversational bots for Microsoft Teams | 954
- Build and Office add-in using modern JavaScript tools and technologies | 924
- Accessing Files with Microsoft Graph | 772
- Getting Started with Microsoft Graph | 767
- Develop multi-tenant applications with Microsoft Identity Platform – April 2020 | 743
Main resources around Microsoft 365 Community:
- Microsoft 365 Community – http://aka.ms/m365pnp – One location for all the resources and news around PnP
- Microsoft 365 community blog – http://aka.ms/m365pnp/community/blog
- Microsoft 365 development blog – http://aka.ms/m365pnp-blog
- Microsoft 365 Community Channel on YouTube – http://aka.ms/m365pnp-videos
- Microsoft 365 Developer YouTube channel – https://aka.ms/M365DevYouTube
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.
- 9th of April – New feature request experience for Microsoft Graph and Office Platform
- 8th of April – Jedox explains batching Excel Custom Functions API calls
- 6th of April – Build quality Microsoft Teams apps with these best practices: Part 1
- 1st of April – Get Microsoft Graph change notifications delivered through Azure Event Hubs
- 31st of March – Accelerate your app adoption with MSAL for Node.js
- 31st of March – Microsoft Graph Fundamentals now on Microsoft Learn
- 30th of March – Microsoft Graph Java SDK v3 adds enhanced capabilities with general availability
- 29th of March – Announcing Project Reunion 0.5!
- 26th of March – Tips for using the shared JavaScript runtime in your Office Add-in
- 23rd of March – Microsoft Graph Mailbag – Getting Started with the Microsoft Graph PowerShell SDK
- 18th of March – Upgrade signed Office VBA macro projects to V3 signature
- 17th of March – Announcing SharePoint Framework 1.12 – Extending more of Microsoft Teams
- 16th of March – Announcing Windows Community Toolkit v7.0
- 16th of March – FactSet for Excel leverages the EquivalentAddin element for COM add-in compatibility
- 11th of March – Build Cross-Platform apps with WinUI and Uno Platform
- 9th of March – Four device capabilities developers can utilize for Microsoft Teams mobile apps
- 9th of March – Microsoft Graph Mailbag – Microsoft Graph in Electron applications using Microsoft Graph Toolkit
- 8th of March – Microsoft Graph Toolkit adds a new Electron Provider plus enhanced capabilities
- 4th of March – What’s new for Excel add-ins developers in 2021
- 4th of March – Office Add-ins partner Sheetgo integrates Excel’s extensibility features
- 2nd of March – What’s new for Microsoft 365 and Teams Platform @ Ignite 2021
Latest community posts at https://aka.ms/m365pnp/community/blog
- 12th of April – Lee Ford (Symity Ltd) – Introduction to tokens
- 12th of April – Chandani Prajapati – How to get any site collection users with their roles using PnP PowerShell?
- 11th of April – Chandani Prajapati – How to show profile picture in Person column in SharePoint list/library?
- 9th of April – Luise Freese – Microsoft 365 PnP Community Spotlight: Albert-Jan Schot
- 7th of April – Luise Freese – Microsoft Graph Fundamentals learning path – Module 3
- 7th of April – Luise Freese – PnP WatchParty for Microsoft’s ‘LearnTogether Building apps with Microsoft Graph’ event
- 7th of April – Django Lohn (InSpark) – Power Apps: source code editing for Canvas Apps
- 7th of April – Yannick Reekmans (Qubix) – Change your own profile picture as a Guest in Microsoft Teams
- 6th of April – Mike Homol (ThreeWill) – Improving the Page Properties web part
- 5th of April – Luise Freese – Microsoft Graph Fundamentals learning path – Module 2
- 1st of April – Luise Freese – Microsoft Graph Fundamentals learning path – Module 1
- 1st of April – Will Holland (ThreeWill) – Copy a list – with list items – to another site
- 31st of March – Peter Paul Kirschner (Cubido Business Solutions GmbH) – SPFx Image Editor Sample – Playing with Canvas
- 30th of March – Garry Trinder (CPS) – CLI for Microsoft 365 v3.8
- 29th of March – Yannick Reekmans (Qubix) – Add Developer PowerShell and Developer Command Prompt for Visual Studio to Windows Terminal
- 28th of March – Waldek Mastrykarz (Microsoft) – Start building apps for Teams
- 27th of March – Will Holland (ThreeWill) – Using the PnP Modern Search Web Parts
- 26th of March – Luise Freese – How to get started with Graph Explorer
- 26th of March – Luise Freese – Microsoft 365 PnP Community Spotlight: Julie Turner
- 24th of March – Chandani Prajapati – Fetch User Profile Properties From Site Collection And Export To CSV Using PNP PowerShell
- 24th of March – Elio Struyf (Struyf Consulting) – New VSCode extension for autocompleting your Microsoft Graph APIs
- 23rd of March – Yves Habersaat (Sword Group) – How to determine web part size with SPFx v1.12
- 19th of March – Will Holland (ThreeWill) – Getting started with SharePoint’s custom view formatting
- 19th of March – Luise Freese – Microsoft 365 PnP Community Spotlight: David Warner
- 17th of March – Chandani Prajapati – Break And Change List Item Permission Using PnP JS In SPFx
- 17th of March – Waldek Mastrykarz (Microsoft) – CLI for Microsoft 365 v3.7
- 15th of March – Paul Bullock (CaPa Creative) – Getting started with PnP Core SDK
- 14th of March – Will Holland (ThreeWill) – Getting started with SharePoint’s custom column formatting
- 13th of March – Garry Trinder (CPS) – Run CLI for Microsoft 365 in Docker
- 11th of March – Luise Freese – 10 things we should think about before we build an app
- 11th of March – Luise Freese – 5 commands to try in CLI for Microsoft 365 to fall in love with it
- 10th of March – Elio Struyf (Struyf Consulting) – Doctor – Maintain your documentation on SharePoint without pain
- 10th of March – Michaël Maillot (onepoint) – Init API permissions for your SPFx projects without deploying them
- 8th of March – Waldek Mastrykarz (Microsoft) – Getting started with SharePoint Framework
- 7th of March – Yves Habersaat (Sword Group) – How to start a new SPFx web part project with Microsoft Graph Toolkit and React
- 6th of March – Leon Armston (Intelogy) – Avoid Unnecessary Looping (Apply to each) in Power Automate
- 5th of March – Luise Freese – How to create a (faux) table in Adaptive Cards with Power Automate
- 3rd of March – Luise Freese – Should we use SharePoint REST or Microsoft Graph API in Power Automate?
- 32nd of March – Paul Bullock (CaPa Creative) – Modernization lives on in PnP Framework
- 2nd of March – Elio Struyf (Struyf Consulting) – To write code comments or not, it should not be a question
Community call recording blog posts:
- 9th of April – SharePoint Framework Community Call Recording – 8th of April, 2021
- 8th of April – Microsoft Graph community call – April 6th, 2021
- 2nd of April – Microsoft 365 Developer Community Call recording – 1st of April, 2021
- 29th of March – Microsoft Identity Platform community call – March 2021
- 26th of March – SharePoint Framework Community Call Recording – 25th of March, 2021
- 23rd of March – Power Apps Community Call – March 2021
- 19th of March – Microsoft 365 Developer Community Call recording – 18th of March, 2021
- 18th of March – Microsoft Teams Community Call – March 2021
- 17th of March – Adaptive Cards community call – March 2021
- 15th of March – Office Add-ins community call – March 10, 2021
- 12th of March – SharePoint Framework Community Call Recording – 11th of March, 2021
- 4th of March – Microsoft 365 PnP – General Developer SIG recording – 4th of March, 2021
PnP Weekly video blog / podcast shows:
- 4th of April – Microsoft 365 PnP Weekly – Episode 121 – Nik Charlebois (Microsoft)
- 30th of March – Microsoft 365 PnP Weekly – Episode 120 – Paolo Pialorsi (PiaSys)
- 23rd of March – Microsoft 365 PnP Weekly – Episode 119 – Chris O’Brien (Content+Cloud)
- 16th of March – Microsoft 365 PnP Weekly – Episode 118 – Veronique Lengelle (CPS)
- 9th of March – Microsoft 365 PnP Weekly – Episode 117 – Bert Jansen (Microsoft)
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.
- Adaptive Cards https://aka.ms/adaptivecardscommunitycall – Updates and news around Adaptive Cards with live demos
- Microsoft Graph https://aka.ms/microsoftgraphcall – Updates and news from Microsoft Graph with live demos
- Microsoft identity platform https://aka.ms/IDDevCommunityCalendar – Latest on the identity side
- Microsoft Teams https://aka.ms/microsoftteamscommunitycall – Microsoft Teams monthly update with live demos
- Office Add-ins https://aka.ms/officeaddinscommunitycall – News and community work around Office add-ins with live demos
- PowerApps https://aka.ms/PowerAppsMonthlyCall – Monthly summary on PowerApps community with live demos
- SharePoint https://aka.ms/spdev-call – Consists of the latest news, providing credits for all community contributors and live demos typically by SharePoint engineering.
- M365 General Dev SIG https://aka.ms/spdev-sig-call – Bi-weekly – General topics on Microsoft 365 Dev from various aspects – Microsoft Teams, Microsoft Graph Toolkit, Provisioning, Automation, Scripting, Power Automate, Solution design
- SharePoint Framework SIG https://aka.ms/spdev-spfx-call – Bi-weekly – Consists of topics around SharePoint Framework and JavaScript-based development in the Microsoft Teams and in SharePoint platform.
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 Community (PnP) 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
- CLI Microsoft 365 – 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 Web hooks 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
- https://github.com/pnp/teams-dev-samples – Samples around the Microsoft Teams development models from Microsoft and from the community
- 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
- powerfx-samples – Samples that demonstrate different usage patterns for the Power Fx low-code programming language
All SharePoint specific repositories or services supported directly by Microsoft are located in the SharePoint GitHub organization
- sp-dev-docs – Source for new SharePoint dev center documentation exposed from http://docs.microsoft.com/en-us/sharepoint/dev
- sp-dev-provisioning-templates – Open-source templates used by the SharePoint Look Book site
- sp-provisioning-service – Source code of the SharePoint look book site
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
- pnp-modern-search – Home of PnP Modern Search solutions, see more from the documentation
Other related resources from GitHub
- Microsoft Graph Toolkit in GitHub – Community contributions welcome!
- Office add-in Patterns and Practices in GitHub – Community contributions welcome!
- Microsoft Graph GitHub organization
- OfficeDev GitHub organization – Includes all Microsoft Teams samples from Microsoft
What’s supportability story around the community tooling and assets?
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, yo teams 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
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!
- New Microsoft 365 Patterns and Practices (PnP) team members – February 2021
- New Microsoft 365 Patterns and Practices (PnP) team members – December 2020
- New Microsoft 365 Patterns and Practices (PnP) team members – August 2020
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
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.
- Latest version currently is 2.1. See the v2.1 announcement blog post for more details – Microsoft Graph Toolkit adds a new Electron Provider plus enhanced capabilities
- mgt.dev – Microsoft Graph Toolkit Playground
- Getting started with Microsoft Graph Toolkit guidance video from developer community call by Beth Pan (Microsoft)
- Latest code and preview versions from https://aka.ms/mgt
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. We do welcome contributions from the community – our objective is to build a valuable location for articles from Microsoft and community together.
Latest updates on this area as follows:
- New article by Simon Hudson and Simon Doy – Customization and Development Competency
- Updated article by Callum Crowley (Method4) – Power Automate vs Logic Apps
- Updated article by Callum Crowley (Method4) – Benefits of using PowerShell with SharePoint
- Updates by Emily Mancini (Sympraxis Consulting) on the Maturity Model for Microsoft 365
- Updates by Leon Armston (Intelogy) on the Follow Microsoft 365 on Social Media
- Updates by Trevor Seward (Seattle Genetics) on Should everyone create Teams? A Low Code Provisioning solution
- Updates by Callum Crowley (Method4) and Liam Cleary (SharePlicity) on Basic Security Set Up for Microsoft 365
Have ideas for articles or want to contribute yourself? – Get involved! Here are also some additional resources explaining the model more detailed.
- Updates on the Microsoft 365 Community Docs – June 2020
- YouTube – Introducing Microsoft 365 Community Docs
- GitHub issue list with articles ideas
SharePoint Framework development samples
These are the updated SharePoint Framework samples which are available from the the different repositories.
- New sample react-image-editor by Peter Paul Kirschner (cubido business solutions GmbH) on having more advance image web part with editing experience model
- New sample react-teams-meeting-app-questionnaire by Nanddeep Nachan, Ravi Kulkarni and Smita Nachan on building Microsoft Teams meeting app for asking pre-meeting questions and collecting input from the meeting attendees
- New sample react-advanced-page-properties by Mike Homol (ThreeWill) on having additional metadata exposed and collection from a page level
- New sample react-video-banner by Mohamed Derhalli Use this Web Part to add a video banner with a text on top of it to your pages
- New sample react-doccard-faq by Sam Collins (Coupled Technology) as a custom FAQ Document Card Web Part
- Updates to react-calendar by Mohammed Amer (Atea Global Service) which is a custom web part to manage events in a calendar
- Updates to react-jump-to-folder by Joel Rodrigues (Storm Technology) which is an extension to facilitates navigation between large collections of SharePoint library folders
- Updates to react-questions-and-answers by Bo George (ThreeWill) which provides a dynamic question and answer experience
- Updates to react-staffdirectory by Ari Gunawan which shows current user’s colleagues, and allows the user to search AD directory
- Other to numerous SPFx web part and extension samples by our awesome community members!
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
- Web Part sample gallery – http://aka.ms/spfx-webparts
- Extensions sample gallery – http://aka.ms/spfx-extensions
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.
- Numerous updates on the existing samples provided by community and Microsoft
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.
Sharing is Caring initiative
The “Sharing Is Caring” imitative 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!
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 Teams platform documentation – Microsoft Docs | GitHub
- SharePoint Developer documentation – Microsoft Docs | GitHub
- Microsoft Graph documentation – Microsoft Docs | GitHub
- Office add-in documentation – Microsoft Docs | GitHub
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:
- Use SharePoint pages to support on-demand training – Mark Kashman (Microsoft) | @mkashman
- Building extension to save documents as PDF in tenant document libraries – Mikael Svenson (Microsoft) | @MikaelSvenson
- Jeff Teper’s Beatles-inspired “SharePoint at 20” birthday singalong :birthday_cake::guitar: – Jeff Teper (Microsoft) | @jeffteper
- “Happy Birthday, SharePoint” :birthday_cake:: 20 years young – Microsoft
- SharePoint at 20 :birthday_cake: – Microsoft
- Getting started with Microsoft Viva Topics – Naomi Moneypenny (Microsoft) | @nmoneypenny
- Azure Communication Services – Voice Calling Quick Start – Dan Wahlin (Microsoft) | @danwahlin
- Building a list view command set to demote previously promoted news articles from pages library – Mikael Svenson (Microsoft) | @MikaelSvenson
- Using Kiota to generate a TypeScript SDK for Microsoft Graph – Vincent Biret (Microsoft) | @baywet
- Building an application using Microsoft Graph Toolkit and Electron provider – Amrutha Srinivasan (Microsoft) | @amruthasrin
- Microsoft Graph Fundamentals on Microsoft Learn – Dan Wahlin (Microsoft) | @DanWahlin
- Business to Citizen Consumer Communication Bot – Sathya Raveendran (Microsoft), Arun Kumar Anaparthi (Microsoft)
- Bot Composer in Microsoft Teams – Bob German (Microsoft) | @Bob1German
- UX changes for Outlook add-ins on the web – Hitesh Manwar (Microsoft)
- Excel JS API v1.13 updates – Raymond Lu (Microsoft)
- PowerPoint ribbon updates – Lillian Liu (Microsoft)
- Getting started with Power Apps ALM – Phil Topness (Microsoft) | @topness, Mike Ochs (Exalents) | @mikefactorial & Marc Scgweigert (Microsoft) | @devkeyde
- Utilizing Mobile First Device Capabilities for Microsoft Teams Apps – Anuj Bahl (Microsoft) & Shubham Chauhan (Microsoft)
- Deep dive into Universal Actions for Microsoft Teams and Outlook – Shiladitya Saha (Microsoft) & Karan Thapar (Microsoft)
- Office Scripts Tutorial: Scripting for Beginners – Ayushi Garg (Microsoft) | @Ayushi_at_msft
Community demos as following:
- PnP Watch Party – Building Apps with Microsoft Graph – Learn Together – David Warne (Catapult)
- Sending messages to Microsoft Teams using Microsoft Graph from SharePoint Framework solution – David Ramalho (Storm Technology) | @davRamalho
- The Microsoft Graph Toolkit in Microsoft Teams with Blazor – Thomy Gölles (Solvion) | @thomyg
- Accessing comment information in list formatting and advance form adjustments – Chris Kent (DMI) | @theChrisKent
- Getting started on using Microsoft Teams Yeoman generator v3 – Wictor Wilén (Avanade) | @wictor
- Using a web part to control which Sites have been grated permissions in Azure AD application – Fredrik Thorild (Sogeti) | @taxonomythorild
- Building List Search web part for showing data flexibly from lists or libraries – Alberto Gutierrez Perez (Minsait) | @albertogperez
- DataTable web part for rendering data from lists with advance features – Chandani Prajapati | @Chandani_SPD & David Warner (Catapult) | @DavidWarnerII
- Exporting SharePoint site structures/documentation to Markdown – Kevin McDonnell (CPS) | @kevmcdonk
- New SP Editor chrome extension with Microsoft Graph Toolkit React playground – Tomi Tavela (RND Works) | @tavikukko
- List formatting fundamentals – options and considerations – Chris Kent (DMI) | @theChrisKent
- Add Folder Command Extension for easy doc library structure management – Michaël Maillot (onepoint) | @michael_maillot
- Using reusable chart controls to present business data in a web part – Hugo Bernier (Tahoe Ninjas) | @bernierh
- Creating a responsive Power App running Dataverse in Teams – Reza Dorrani (Catapult) | @RezaDorran
- Automating metadata tagging with AI using Power Automate – Uday Adhikari | @udayadhikari
PnP Weekly sessions – Community visitors and latest articles from Microsoft and community on Microsoft 365 topics.
- Microsoft 365 PnP Weekly – Episode 120 – Mark Rackley (PAIT Group)
- Microsoft 365 PnP Weekly – Episode 121 – Nik Charlebois (Microsoft)
- Microsoft 365 PnP Weekly – Episode 120 – Paolo Pialorsi (PiaSys)
- Microsoft 365 PnP Weekly – Episode 119 – Chris O’Brien (Content+Cloud)
- Microsoft 365 PnP Weekly – Episode 118 – Veronique Lengelle (CPS)
- Microsoft 365 PnP Weekly – Episode 117 – Bert Jansen (Microsoft)
Key contributors to the April 2021 update
Here’s the list of active contributors (in alphabetical order) since last release details in GitHub 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.
- Abderahman Moujahid – Abderahman88
- Adam – Adam-it
-
Agustin Del Vento (Change Champions Consulting Inc.)
-
Aimery Thomas – @aimery_thomas
- Albert-Jan Schot (Portiva) – @appieschot
- Alberto Gutierrez (Minsait) – @albertogperez
- Alex Grover – groveale
- Alex Terentiev (SharePointalist) – @alexaterentiev
-
Alexander Ernon (Amplexor) – alex-ernon
- Alikont – Alikont
- Andres Ibarra (CloudIgnite) – @Riftsan
- Andrew Benson (InElec) – @ViewPorter
-
Andrew Burns (AmSty) – @SharePointRox
- Andrew Connell (Voitanos) – @andrewconnell
- Andrew Koltyakov (ARVO Systems) – @andrewkoltyakov
-
Andy Boylan (AdEPT Technology Group) – apboylan
-
Andy Dawson (Black Marble) – @W4050
- Anoop Tatti (Content+Cloud) – @anooptells
-
April Watson (Wood Plc) – AprilWatson
- Arjun Menon (Mindtree) – @arjunumenon
- Ari Gunawan (DevStack) – @kuboconcept
- Axel Raeves (Spikes) – @axelraeves
- Beau Cameron (Aerie Consulting) – @Beau__Cameron
- Bo George (ThreeWill) – @bo_george
- Bill Ayers (Flow Simulation Ltd) – @SPDoctor
-
Bill Brockbank (ATGS Canada) – billbrockbank
- Callum Crowley (Method4) – @CallumNCrowley
- Carlos Infante – carlhanz17
- Chandani Prajapati – @Chandani_SPD
-
Chandra Sekhar Malla – @OfficialartistC
- Charles Ndiaye (Netexio) – @manusquall
- Chris Kent (DMI) – @theChrisKent
- Chris O’Brien (Content+Cloud) – @ChrisO_Brien
- Christian Zuellig (Monday Coffee) – @ChristianZuell1
-
Christine Green (EBSCO Information Services) – @cacurtica
- Copowell – Copowell
- Cristian Civera – @CristianCivera
-
Dale Pilarczyk (Centric Consulting) – DalePilarczyk
- Dan Bennett – @nonodename
- Django Lohn (InSpark) – @lohndjango
-
Daniel Tshin (UNDP) – @dtshin
-
Daniel Westerdale (Westerdale Solutions Ltd) – @westerdaled
-
Darren Brown (Node4)
- David Gent – dgtheninja
- David Ramalho (Storm Technology) – @DavRamalho
- David Warner II (Catapult) – @DavidWarnerII
-
Dean Gross (Insight) – @dean144
- Dipen Shah (Stridely Solutions) – @Dips_365
-
Dinesh Bhat (Cognizant) – techbvdinesh
-
Divya Akula (Tarento Technologies) – @_divyaakula
- Don Kirkham (Probitas Data Solutions) – @DonKirkham
- Elio Struyf (Struyf Consulting) – @eliostruyf
-
Eloisa Marquez-Gonzalez (Evolution Consulting Group) – @EvolveWithECG
- Emily Mancini (Sympraxis Consulting) – @EEMancini
- Eric Overfield (PixelMill) – @EricOverfield
- Erwin van Hunen (Valo Intranet) – @erwinvanhunen
- Franck Catinot (Abalon Consulting) – fcatinot
- Frank Cornu (aequos) – @FranckCornu
-
Frank Costa (West Monroe)
- Fredrik Thorild (Sogeti Sweden) – @taxonomythorild
- Ganesh Sanap – @ganeshsanap20
- Garry Trinder (CPS) – @garrytrinder
- Gautam Sheth (Valo Intranet) – @gautamdsheth
-
Gissur Simonarson (Fujitsu) – @gissisim
- gszdev – gszdev
- Giacomo Pozzoni (DQC Sverige Ab) – @PozzoniGiacomo
- Harlan Koehn (Village Media) – harlankoehn
-
Harminder Singh – @Harminder_Sethi
-
Harold Wolfinger
- Hiroaki Nagao – @mofumofu_dance
-
Igor Karon (Clean Energy) – IgorKaron
-
James Fisher – jamesfisher1081
- Jarbas Horst (Valo Intranet) – @devjhorst
-
Jason Rivera (Anexinet) – @sharepointjr
- João Mendes – @joaojmendes
-
Joanne Klein (NexNovus Consulting) – @JoanneCKlein
- Joel Rodrigues (Storm Technology) – @JoelFMRodrigues
-
John VanDaele – oxyd5000
- Joseph Velliah – @JosephVelliah
-
Joy Muehlenbein (Edwards Lifesciences) – @huh_larious
-
Julie Batista (Smarter Consulting LLC) – @JulieB365
- Julie Turner (Sympraxis Consulting) – @jfj1997
-
Kanakarajulu Thota (Atos GITSS) – @KanakarajuNaidu
-
Kanwal Khipple (2toLead) – @kkhipple
-
Kathleen Boilek (Alaka’Ina Foundation) – @kaboilek
- Kerry Lambert (NI) – @kazoogal23
- Kevin McDonnell (CPS) | @kevmcdonk
- Kinga – kkazala
- Konradox – Konradox
- koruneko – koruneko
-
xKrutika Brahmbhatt – krutikabrahmbhatt
-
Krzysztof Mikołajec (Krzysztof Mikolajec Consulting, Sii Pl) – @krzymiko
-
Kunal Patil (Burns & McDonnell) – krazykap
- Laura Kokkarinen (Sulava) – @LauraKokkarinen
- Lee Ford (Symity Ltd) – @lee_ford
- Leon Armston (Intelogy Ltd) – @LeonArmston
- Liam Cleary (SharePlicity) – @helloitsliam
-
Lindsay Shelton (Smarter Consulting) – @lshelton_tech
- Luis Mañes (ClearPeople) – @luismanez
- Luise Freese (Luise Freese M365 Princess) – @LuiseFreese
- Manjunath Puttaswamy (Momentive Performance Material India Pvt Ltd) – @ManjunathPutta3
- Marc D Anderson (Sympraxis Consulting) – @sympmarc
- Marcin Wojciechowski (Valo Intranet) – @mgwojciech
- Mark Rackley (PAIT Group) – @mrackley
- Matthew Devaney – @mattbdevaney
-
Matt Carter (Valorem Reply) – @cartmatt
-
Miguel Tena (2toLEad) – @mikeware_tena
-
Mike Duffy (Boardwalk Pipelines) – @mike_duffy
- Mike Homol (ThreeWill) – @homol
- Mike Ochs (Exalents) | @MikeFactorial
- Michael Kriese (VisualOn GmbH) – viceice
- Michaël Maillot (onepoint) – @michael_maillot
-
Mohammad Amer (Atea Global Service) – @Mohammad3mer
- Mohamed Derhalli – derhallim
- Nanddeep Nachan – @NanddeepNachan
- Naveed Mohammad (Cognizant) – naveed243
-
Neil Sreenan (HKS Inc.) – @nsreenanhks
-
Nizar Grindi (Avanade) – @nizar_grindi
- Paolo Pialorsi (PiaSys.com) – @PaoloPia
-
Patrick Galloway – BammaSlim
- Patrik Hellgren (Sherpas Group) – @patrikhellgren
- Patrick Lamber (Expertsinside AG) – @patricklamber
-
Patrick Tucker (KiZAN) – @Tuckersnet
- Paul Bullock (CaPa Creative Ltd) – @pkbullock
- Paul Schaeflein (AddIn365) – @paulschaeflein
-
Pete Bostrom (Bakkavor) – @petebostrom
- Peter Paul Kirschner (cubido business solutions GmbH) – @petkir_at
-
Phil Broadbery (PKF) – @peb71b
- Ravi Kulkarni (Cognizant) – @RaviKul16a87
- Ravichandran Krishnasamy (Content Formula) – @spfx_blog
- Reza Dorrani (Catapult) | @RezaDorran
- Rohit S Patil (C3it)
-
Ron Jones (Organogenesis)
- Russell Gove – russgove
- Sam Collins (Coupled Technology) – @samc148
- Sarah Wilson (Orchestry) – Sarah4x
-
Seb Matthews (ProvisionPoint Ltd) – @sebmatthews
- Sergei Sergeev (Mastaq) – @sergeev_srg
- Shiva Bezwada (JCS Solutions LLC) – @Texaport
- Simon Doy (iThink 365) – @simondoy
- Simon Hudson (Cloud2) – @simonjhudson
- Smita Nachan – @smitanachan
- Spencer Harbar (Triumph Media Limited) – @harbars
- Stefan Bauer (n8d) – @StfBauer
-
Steve Babulski (Progressive Insurance) – @sbabulski
- Sudharsan Kesavanarayanan (NTT Digital Business Solutions) – @sudharsank
-
Suzanne Kozina (Roberts Technology Solutions) – suzannekozina
- Tetsuya Kawahara – @techsn_k
- Thomy Gölles (Solvion) | @thomyg
- Todd Baginski (Canviz) – @toddbaginski
- Tomi Tavela (RND Works) – @tavikukko
- Uday Adhikari | @udayadhikar
- Wictor Wilen (Avanade) – @wictor
- Will Holland (ThreeWill) – @_WCHolland
- Velin Georgiev (Pramerica) – @velingeorgiev
- Veronique Lengelle (CPS) – @veronicageek
-
Vincent Georges (Microsoft) – VincentGeorges
- Yannick Plenevaux (PVX Solutions) – @yp_code
- Yannick Reekmans (Qubix) – @YannickReekmans
- Yücel Tasyol (Agile-IS GmbH) – ytasyol
- Yves Habersaat (Sword Group) – @yhabersaat
-
Zach Bean (Charles River Laboratories)
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.
Microsoft people: Here’s the list of Microsoft people who have been closely involved with the PnP work during last month.
- Aakash Bhardwaj – @aakash_316
- Allen Snow – @asnow003
- April Dunnam – @aprildunnam
- Amrutha Srinivasan | @amruthasrin
- Arun Kumar Anaparthi – arun-msft
- Ayushi Garg | @ayushi_at_msft
- Ayca Bas – @aycabs
- Bert Jansen – @O365Bert
- Beth Pan – @beth_panx
- Bob German – @Bob1German
- Brad Schlintz – @bschlintz
- Callum Crowley – @CallumNCrowley
- Chakkaradeep (Chaks) CC – @chakkaradeep
- Charles Sterling – @chass
- Dan Wahlin – @DanWahlin
- David Chesnut – davidchesnut
- Doğan Erişen – derisen
- Elise Yang – @elisenyang
- Hugo Bernier – bernierh
- Jason Johnston – jasonjoh
- Jeremy Kelley – @Fizzlenik
- Joanne Hendrickson – JoanneHendrickson
- John Nguyen – johnguy0
- John Sudds – jsuddsjr
- Karthig Balendran – @KarthigBalendr1
- Kevin Coughlin – @kevintcoughlin
- Kiran Thomas – @notkiran
- Koen Zomers – @koenzomers
- Laura Graham – Lauragra
- Linda Lu Cannon – lindalu-MSFT
- Loki Meyburg – @lokimeyburg
- Luca Bandinelli – lucaband
- Marc Mroz – @marcmroz
- Marc Scgweigert – @devkeydet
- Matt Wolodarsky – @mwolodarsky
- Melissa Torres – @Meltorac
- Miceile Barrett (Microsoft) – @MSFTMiceile
- Mikael Svenson – @mikaelsvenson
- Nik Charlebois – @NikCharlebois
- Nick Kramer – nkramer
- Nicolas Vogt – vogtn
- Nidhi Sharma – @nidsonbirdie
- Nikola Metulev – @metulev
- Pam Green (Microsoft) – @contextuallib
- Pat Miller – @PatMill_MSFT
- Patrick Rodgers – @mediocrebowler
- Phil Topness – @topness
- Philippe Signoret – @psignoret
- Rabia Williams – @williamsrabia
- Rob Garrett – robgarrett
- Sam Larson – salarson
- Shreyansh Agrawal – shagra-ms
- Saikrishna-MSFT – Saikrishna-MSFT
- Shane Weaver – shweaver-MSFT
- Sébastien Levert – @sebastienlevert
- Steven Jia – Steven-Jia
- Tomomi Imura – @girlie_mac
- Vesa Juvonen – @vesajuvonen
- Waldek Mastykarz – @waldekm
- Vincent Biret – @baywet
- Westley – westleyMS
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!
- Albert-Jan Schot (Portiva) – @appieschot
- Alex Terentiev (SharePointalist) – @alexaterentiev
- Andrew Connell (Voitanos) – @andrewconnell
- Andrew Koltyakov (ARVO Systems) – @andrewkoltyakov
- Beau Cameron (Aerie Consulting) – @Beau__Cameron
- Chris Kent (DMI) – @theChrisKent
- David Warner II (Catapult) – @DavidWarnerII
- Elio Struyf (Struyf Consulting) – @eliostruyf
- Emily Mancini (Sympraxis Consulting) – @EEMancini
- Eric Overfield (PixelMill) – @EricOverfield
- Erwin van Hunen (Valo Intranet) – @erwinvanhunen
- Frank Cornu (aequos) – @FranckCornu
- Garry Trinder (CPS Solutions) – @garrytrinder
- Julie Turner (Sympraxis Consulting) – @jfj1997
- Laura Kokkarinen (Sulava) – @LauraKokkarinen
- Luise Freese – @LuiseFreese
- Marc D Anderson (Sympraxis Consulting) – @sympmarc
- Paolo Pialorsi (Piasys.com) – @PaoloPia
- Paul Bullock (CaPa Creative Ltd) – @pkbullock
- Rabia Williams (Engage Squared) – @williamsrabia
- Stefan Bauer (n8d) – @StfBauer
- Velin Georgiev (Pramerica) – @velingeorgiev
- Veronique Lengelle (CPS) – @veronicageek
- Wictor Wilen (Avanade) – @wictor
- Yannick Plenevaux (PVX Solutions) – @yp_code
Here are the Microsoft Internal PnP Core team members:
- April Dunnam – @aprildunnam
- Bert Jansen – @O365Bert
- Bob German – @Bob1German
- Hugo Bernier – @bernierh
- Koen Zomers – @koenzomers
- Mikael Svenson – @mikaelsvenson
- Patrick Rodgers – @mediocrebowler
- Rabia Williams – @williamsrabia
- Sébastien Levert – @sebastienlevert
- Vesa Juvonen – @vesajuvonen
- Waldek Mastykarz – @waldekm
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) – April 13th 2021
Brought to you by Dr. Ware, Microsoft Office 365 Silver Partner, Charleston SC.
Recent Comments