Microsoft 365 Patterns and Practices (PnP) Community June 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 May 2021:
- Unique visitors during the past 2 weeks in PnP, OneDrive, Microsoft-Search, OfficeDev and SharePoint GitHub organization repositories - 63,134
- Overall unique contributors in the PnP, OneDrive, Microsoft-Search, OfficeDev and SharePoint GitHub organizations - 1,840
- Microsoft 365 Community (PnP) YouTube channel had 97,126 views with 6,354 hours of watch time and 22,758 subscribers
- Microsoft 365 Developer YouTube channel had 53,533 views with 3,384 hours of watch time and 13,998 subscribers
Most viewed videos in the Microsoft 365 Community (PnP) YouTube channel during May 2021:
- Introduction to Microsoft Teams Developer Portal | Karthig Balendran (Microsoft) | 5,543
- Microsoft Teams Meeting Questionnaire App with SharePoint Framework | Nanddeep Nachan | 4,311
- Building a beautifully designed Intranet with SharePoint - latest design and branding capabilities | Cathy Dew (Microsoft) & Katie Swanson (Microsoft) | 3,631
- Microsoft Lists integration with Power BI | Mark Kashman (Microsoft) | 3,416
- Getting started with Site Designs in SharePoint Online - Laura Kokkarinen (Sulava) | 2,985
- Working with Microsoft Lists (webinar) - Harini Saladi, Miceile Barrett, Chakkaradeep Chandran and Mark Kashman | 2,925
- Architecting Your Intranet | Melissa Torres (Microsoft) | 2,024
- SharePoint Framework Tutorial 1 - HelloWorld WebPart | 1,992
- Introducing: New Employee Onboarding - a Microsoft Teams app template | Nidhi Sharma (Microsoft) | 1,890
- Getting started on deploying Viva Connections for Microsoft Teams desktop | 1,751
Most viewed videos in the Microsoft 365 Developer YouTube channel during May 2021:
- Build the next generation of collaborative apps on the Microsoft Teams platform | 5,286
- Build Outlook Add-ins that integrate your solution seamlessly into your users’ Outlook experience | Juan Balmori, Hitesh Manwar - 1,332
- Authenticate and connect with Microsoft Graph - June 2019 | 1,317
- An introduction to Microsoft Graph for developers - Part I - Getting started - October 2019 | 1,106
- Office Scripts Tutorial: Introduction to the Code Editor | 1,014
- Microsoft Graph Explained | 944
- Demo: Getting started with Power Apps Portals | Brian Knight (Pragmatic Works) | 907
- Create interactive conversational bots for Microsoft Teams | 869
- Build and Office add-in using modern JavaScript tools and technologies | 823
- Getting Started with Microsoft Graph and Application Registration | 787
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.
- 26th of May - Four new features to build richer apps for Microsoft Teams meetings
- 26th of May - What’s new in Office Platform at Build 2021
- 25th of May - Microsoft Graph @ Build 2021
- 25th of May - What’s New for the Microsoft 365 Developer | Build 2021
- 24th of May - Microsoft Teams App Development Challenge Winners!
- 20th of May - Announcing new file components, MSAL 2 Provider, and SharePoint Framework library in Microsoft Graph Toolkit
- 18th of May - Publish your apps to the Microsoft Teams store
- 13th of May - Add custom keyboard shortcuts to your Office Add-ins in Excel
- 12th of May - Microsoft Graph .NET SDK v4 adds enhanced features – now in preview
- 12th of May - Five new features enhancing Adaptive Cards in Microsoft Teams
- 11th of May - New renewal offering for your app’s Publisher Attestation and Microsoft 365 Certification
- 11th of May - Microsoft Graph Mailbag – Azure AD applications and users for testing
- 5th of May - Understanding the Office Add-ins runtime
- 5th of May - Application permissions support for assignments API in Microsoft Graph now available
Latest community posts at https://aka.ms/m365pnp/community/blog
- 30th of May - Garry Trinder (CPS) - CLI for Microsoft 365 v3.10
- 28th of May - Luise Freese & Hugo Bernier (Microsoft) - Microsoft 365 PnP Community Spotlight: Hugo Bernier
- 26th of May - Mohamed Ashiq Faleel (Tata Consultancy Services) - How to invite external users to a SharePoint site or Microsoft Team using Power Automate & Graph API
- 26th of May - Chandani Prajapati - SPFx webpart form validation using React Formik
- 22nd of May - Luise Freese & Garry Trinder (CPS) - Microsoft 365 PnP Community Spotlight: Garry Trinder
- 20th of May - Bob German (Microsoft) - Do you need ngrok to develop Microsoft Teams apps?
- 17th of May - Damien Bird (Aberdeen City Council) - Excel Scripts and Cloud Flows - Data Manipulation
- 15th of May - Luise Freese & Arjun Menon (Tata Consultancy Services) - Microsoft 365 PnP Community Spotlight: Arjun Menon
- 15th of May - Alison Collins - React Groups and Teams Filters
- 14th of May - Paul Bullock (CaPa Creative) - Getting Started with Azure Shell and PnP PowerShell with Certificates
- 13th of May - Bob German (Microsoft) - Setting up https for Teams Tabs projects - without ngrok
- 10th of May - Ari Gunawan (DevStack) - Community Sample: News Ticker app (SPFx Extensions)
- 10th of May - Django Lohn (InSpark) - Power Apps: source code editing for Canvas Apps
- 7th of May - Vesa Juvonen (Microsoft) - New Microsoft 365 Patterns and Practices (PnP) team members – May 2021
- 7th of May - Luise Freese - Microsoft 365 PnP Community Spotlight: Stefan Bauer
- 7th of May - Michael Roth (IT-P Information Technology-Partner GmbH) - Let’s build a timer app for Teams meetings
- 6th of May - André Lage (Datalynx AG) - Navigate OneDrive data with Microsoft Graph and Mgt-File-List Beta version
- 6th of May - Mohamed Derhalli (BDO Canada) - Introducing React Video Banner Web Part
- 6th of May - Carl Cookson (Avanade) - Using Power Automate And Graph API To Manage External Access To Teams
- 6th of May - Hubert Lam (NSW Department of Education) - Simple reminders for any Teams Channel or Chat message
- 5th of May - Chandani Prajapati - How to to get all site collections with their sub webs using PnP PowerShell?
- 5th of May - Luis Mañez (ClearPeople) - Community sample: Engage your users with SharePoint stories/reels
- 4th of May - Bob German (Microsoft) - What's up with Markdown?
- 1st of May - Ari Gunawan (DevStack) - How to Set Up Tailwind CSS in a SPFx Project
Community call recording blog posts:
- 2nd of June - Microsoft Graph community call – June 2021
- 28th of May - Microsoft 365 Developer Community Call recording – 27th of May, 2021
- 26th of May - Microsoft Identity Platform community call – May 2021
- 21st of May - SharePoint Framework Community Call – 20th of May, 2021
- 20th of May - Power Apps Community Call – May 2021
- 20th of May - Microsoft Identity Platform community call - April 2021
- 20th of May - Microsoft Graph community call – May 2021
- 19th of May - Office Add-ins community call – May 2021
- 19th of May - Microsoft Teams Community Call - May 2021
- 14th of May - Microsoft 365 Developer Community Call recording – 13th of May, 2021
- 11th of May - SharePoint community call - May 11th, 2021
- 7th of May - SharePoint Framework Community Call Recording – 6th of May, 2021
- 3rd of May - Office Add-ins community call – April 14, 2021
PnP Weekly video blog / podcast shows:
- 1st of June - Microsoft 365 PnP Weekly - Episode 129
- 25th of May - Microsoft 365 PnP Weekly - Episode 128 - Katie Swanson (Microsoft)
- 18th of May - Microsoft 365 PnP Weekly - Episode 127 - Rick Van Rousselt (Advantive)
- 11th of May - Microsoft 365 PnP Weekly - Episode 126 - D'arce Hess (TrnDigital)
- 3rd of May - Microsoft 365 PnP Weekly - Episode 125 - Sandy Ussia (Lightning Tools)
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
- 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
- powerapps-samples - Samples that demonstrate different usage patterns for Power Apps
- powerautomate-samples - Samples that demonstrate different usage patterns for Power Automate
- powerva-samples - Samples that demonstrate different usage patterns for Power Virtual Agents
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 - May 2021 - Gautam Sheth (Valo) and Patrick Lamber (Experts Inside AG)
- New Microsoft 365 Patterns and Practices (PnP) team members - February 2021 - April Dunnam (Microsoft), Emily Mancini (Sympraxis Consulting) and Veronique Lengelle (CPS)
- New Microsoft 365 Patterns and Practices (PnP) team members - December 2020 - Luise Freese and Sébastien Levert
- New Microsoft 365 Patterns and Practices (PnP) team members - August 2020 - Albert-Jan Schot (Portiva), Koen Zomers (Microsoft), Paul Bullock (CaPa Creative), Rabia Williams (Microsoft) and Yannick Plenevaux (PVX Solutions)
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.2. See the v2.2 announcement blog post for more details - Announcing new file components, MSAL 2 Provider, and SharePoint Framework library in Microsoft Graph Toolkit
- 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.
Have ideas for articles or want to contribute yourself? - Get involved! Here are also some additional resources explaining the model more detailed.
- 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-news-banner by João Mendes which shows news information as a Banner, this information come from a list defined in any site, this web part can be installed on 2019, and SharePoint Online.
- New sample react-organization-chart by João Mendes which shows an organization chart based on specified user, and user can navigate to show company organization. This web part can be installed on SharePoint Server 2019, and SharePoint Online.
- Updates to react-list-form by Ari Gunawan which provides a working example of implementing generic SharePoint list forms using the SharePoint Framework (SPFx) and the React and Office UI Fabric libraries.
- Updates to react-calendar by Eli H. Schei which allows you to manage events in a calendar. Uses a list of existing calendars on any website.
- Updates to react-onedrive-finder by André Lage which access drives from OneDrive and navigate between his content using Graph OneDrive and Site API and Microsoft Graph Toolkit react controls.
- Updates to react-pagecontributors by Ari Gunawan which displays page contributors in reverse chronological order.
- Updates to react-datatable by Chandani Prajapati which provides easy way to render SharePoint custom list in datatable view with all the necessary features.
- Other adjustments 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.
- New sample msgext-graph-action-config by Markus Moeller which is a action based messaging extension created using the Teams Yeoman Generator. It authenticates against Microsoft Graph via SSO and on-behalf flow from the frontend and recieves documents to be posted as adaptive card to the message compose box of a channel.
- New sample tab-context-viewer by Sébastien Levert (Microsoft) which is showcasing every Teams SDK context in every type of tab
- New sample msgext-action-preview by Markus Moeller which is a small demo sample is a action based messaging extension created using the Teams Yeoman Generator. It posts a simple adaptive card to the Team's news channel but 'as a bot' and with an action to update the same adaptive card again and again.
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.
Power Platform samples
These are the updated Power Platform samples which are available from the new Power Platform sample gallery.
- New sample always-reply-to-request by Remy Blok (Prodware) providing a pattern for making sure that the Flow always provides a responds to a request in Power Automate.
- New sample DeskReservation by April Dunnam (Microsoft) as a fully functional phone-based Canvas Power App template which provides functionality to manage and book desk reservations.
- New sample fluentui-custom-theme by Fabio Franzini implementing a custom theme (for tablet layout) to apply the style of the Fluent UI controls to the canvas controls with extensive modification of the "Default Theme" inside the
theme.json
file. - New sample custom-font-samples by Matthew Devaney (Hitachi Solutions) providing 177 custom font samples for Power App
- New sample calendar-component by April Dunnam (Microsoft) providing a re-usable component that allows you to display events in a calendar.
- New sample color-functions by P3N showing functions that calculate the contrast between two colors
How to find what's relevant for you? Take advantage of our Power Platform sample gallery.
- Power Platform sample gallery - https://aka.ms/powerplatform-samples
Microsoft 365 Script Samples
We also released new Microsoft 365 Script Sample gallery within past month. We welcome all scripts on Microsoft 365 automation to this centralized repository, targeted to help to manage and automate day-to-day operations.
If you have any existing scripts which you'd be willing to share with others - please submit a pull request or contact the PnP team members to get started on getting more closely involved on this initiative.
- Microsoft 365 Script Samples - https://aka.ms/script-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 Developer and Microsoft 365 Community 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:
- Elevate user experiences with Universal Actions on Teams and Outlook - Shiladitya Saha (Microsoft)
- Introduction to Viva Connections mobile extensibility model - Vinit Kumar Baheti (Microsoft) | @vinitbaheti
- Populate your Excel templates dynamically using Office Scripts and Power Automate - Nancy Wang (Microsoft) | @NancyatMSFT & Damien Bird (DamoBird365) | @DamoBird365
- SharePoint Syntex integration and automation options - Bert Jansen (Microsoft) | @o365bert
- How to build and publish a SharePoint Syntex document understanding model - James Eccles (Microsoft) | @jimdeccles
- Building virtual tour experience with SharePoint spaces 360° tour web part - Matt Crisler (Microsoft)
- Introduction to Microsoft Teams Developer Portal - Karthig Balendran (Microsoft) | @KarthigBalendr1
- Inspire, inform and prepare employees transition to the new hybrid Workplace transformation site - Holland Kaviani (Microsoft) & Matt Wolodarsky (Microsoft) | @mwolodarsky
- SharePoint Syntex: Product overview and latest feature updates - Sean Squires (Microsoft) | @iamseansquires, James Eccles (Microsoft) | @jimdeccles and Bert Jansen (Microsoft) | @o365bert
- Delegated and application permissions in the Microsoft Identity Platform - Philippe Signoret (Microsoft) | @psignoret
- Get started with Azure Static Web Apps | Tips & Tricks - Dan Wahlin (Microsoft) | @danwahlin
- Registering and updating printer using Microsoft Graph API - Microsoft
- Managing print job using Microsoft Graph API - Microsoft
- Debug Microsoft Teams apps without ngrok | Tips & Tricks - Bob German (Microsoft) | @Bob1German
- Build the next generation of collaborative apps on the Microsoft Teams platform - Microsoft
- Lesaffre + Aster + Microsoft - Microsoft
- Microsoft Graph Explained - Microsoft
- Debug Microsoft Teams apps without ngrok | Tips & Tricks - Bob German (Microsoft) | @Bob1German
- Do you need ngrok to develop Microsoft Teams apps? | Tips & Tricks - Bob German (Microsoft) | @Bob1German
- Create a chatbot in Microsoft Teams with Power Virtual Agents | Tips & Tricks - April Dunnam (Microsoft) | @aprildunnam
New playlist - Create interactive conversational bots for Microsoft Teams
- Create interactive conversational bots for Microsoft Teams
- Demo - Register and configure a new bot in Microsoft Azure and Azure Active Directory
- Demo - Create a conversational bots for Microsoft Teams
- Bots in Microsoft Teams channels and group chats
- Demo - Bots in Microsoft Teams channels and group chats
- Demo - Respond to messages with Adaptive Cards from bots
- Send proactive messages from bots
- Demo - Send proactive messages from bots
New playlist - Create embedded web experiences with tabs for Microsoft Teams
- Create embedded web experiences with tabs for Microsoft Teams overview
- Create a custom Microsoft Teams personal tab
- Demo - Create a custom Microsoft Teams personal tab
- Demo - Customize a Microsoft Teams personal tab
- Demo - Build, deploy and test a Microsoft Teams personal tab
- Demo - Add a channel tab to the project
- Create a custom Microsoft Teams channel or group tab
- Demo - Implement the channel tab
- Implement authentication in a custom tab
- Authentication pop-up page flow
- Demo - Prepare an Azure AD app and Microsoft Teams app for authentication
- Demo - Implement authentication in a custom tab
Community demos as following:
- Using Microsoft Graph Toolkit to easily access files in Sites and in OneDrive - André Lage (Datalynx AG) | @aaclage
- Getting started on building Microsoft Teams meeting apps - Rick van Rousselt (Advantive) | @RickVanRousselt
- Building multilingual Power Apps - Haniel Croitoru (Protiviti) | @HCroitoru
- Querying and Paging data with PnP Core SDK - Paolo Pialorsi (PiaSys) | @PaoloPia
- Adding support to add video with text to modern pages with this video banner web part - Mohamed Derhalli (BDO Canada)| @MohamedDerhalli
- Building a company stories web part for story experience - Luis Mañez (ClearPeople) | @luismanez
- Building a React groups and teams web part for aggregating detailed information for end users - Alison Collins & Sam Collins (Coupled Technology) | @samc148
- Using field lookups with list formatting - Chris Kent (DMI) | @theChrisKent
- Localization check inside SharePoint Framework projects – VS Code extension increases productivity - Sergei Sergeev (Mastaq) | @sergeev_srg
- Transforming your SharePoint Framework web part as a Microsoft Teams personal app - Albert-Jan Schot (Portiva) | @appieschot
PnP Weekly sessions - Community visitors and latest articles from Microsoft and community on Microsoft 365 topics.
- Microsoft 365 PnP Weekly - Episode 129
- Microsoft 365 PnP Weekly - Episode 128 - Katie Swanson (Microsoft) | @kswansondesign
- Microsoft 365 PnP Weekly - Episode 127 - Rick Van Rousselt (Advantive) | @RickVanRousselt
- Microsoft 365 PnP Weekly - Episode 126 - D'arce Hess (TrnDigital)| @DarceHess
- Microsoft 365 PnP Weekly - Episode 125 - Sandy Ussia (Lightning Tools)
Key contributors to the June 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
- Albert-Jan Schot (Portiva) - @appieschot
- Alex Tabone (EASO)
- Alex Terentiev (SharePointalist) - @alexaterentiev
- Alison Collins (Coupled Technology) - ReactIntern
- André Lage (Datalynx AG) - @aaclage
- 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 - Andy-Dawson
- Anoop Tatti (Content+Cloud) - @anooptells
- Ari Gunawan (DevStack) - @arigunawan3023
-
Ariel Smith (ASM Research)
-
Asha Prajapati (T-systems India Pvt Ltd) - Ashaprjpt0707
- Beau Cameron (Aerie Consulting) - @Beau__Cameron
- Blake Donley (Company) - @Handle
-
Brett Olson
-
Brian Kline (North Carolina Housing Finance Agency) - @brian_codediver
-
Bruce Lane - @batchass
- Carl Cookson (Avanade) - @LinkeD365
- Cas van Lersel (Rapid Circle) - @casvaniersel
- Cesar Hoeflich (Impar) - @cesarhoeflich
- Chandani Prajapati - @Chandani_SPD
- Charles Ndiaye (Netexio) - @manusquall
- Chris Brown - Chrisrb05
- Chris Kent (DMI) - @theChrisKent
-
Chris Revell (Consult 365 IT Solutions) - @consult_365
- Christian Zuellig (Monday Coffee) – @ChristianZuell1
-
Christine Green (EBSCO Information Services) - @cacurtica
-
Christine Zeravica - christinemzeravica
- codepwner - codepwner
-
Daniel Westerdale (Westerdale Solutions Ltd) - @westerdaled
- Damien Bird (Aberdeen City Council) - @DamoBird365
- D'arce Hess (TrnDigital) - @DarceHess
- Dan Toft (Evobis ApS) - @tanddant
-
Darren Lutchner (365 Assist) - @assist_365
- David Warner II (Catapult) - @DavidWarnerII
-
Dinos Konstantinou - @dinos_kon
-
Dipen Shah - @Dips_365
- Django Lohn (InSpark) - @LohnDjango
- Derek Cash-Peterson (Sympraxis Consulting) - @spdcp
-
Don Kirkham - @DonKirkham
- Eduard Paul (everis) - @eduapauldev
- Eli H. Schei (Point Taken AS) - @acupof_dev
- Elio Struyf (Struyf Consulting) - @eliostruyf
- Emily Mancini (Sympraxis Consulting) - @EEMancini
-
Eric Legault (Eric Legault Consulting Inc.) - @elegault
- Eric Overfield (PixelMill) - @EricOverfield
- Erwin van Hunen (Valo Intranet) - @erwinvanhunen
- Fabio Franzini - @franzinifabio
-
Fernando Calero - @Vino_Symposium
-
Foyin Olajide-Bello - @foyinb
- Frank Cornu (aequos) - @FranckCornu
- Ganesh Sanap - @ganeshsanap20
- Garry Trinder (CPS) - @garrytrinder
- Gautam Sheth (Valo) - @gautamdsheth
- Geetha Sivasaiam (Artis Consulting) - @GSiVed
- Giacomo Pozzoni (DQC Sverige Ab) - @PozzoniGiacomo
- Gurudatt Bhat - @gurudattnb
- Haniel Croitoru (Protiviti) - @HCroitoru
- Harold Wolfinger
- Heidi Walstrom (HealthPartners)
-
Henrik Yllemo (Ylltec Sweden AB) - @yllemo
- Hubert Lam (NSW Department of Education) - @z3019494
-
James Tallman (Washington State OFM) - @jtallman
- Jarbas Horst (Valo) - @devjhorst
-
Jasey Waegebaert
- Jeroen van der Meer - jeroenvdmeer
- Jens Otto Hatlevold (Bouvet) - jensotto
- Jeremy Wong - navhaxs
- João Mendes - @joaojmendes
-
Joe'l Brenny (Great River Energy) - @jbrenny
- Joel Rodrigues (Storm Technology) - @JoelFMRodrigues
- John O'Keeffe
- John Ravas
-
Julie Peck (Cambridge Consultants)
- Julie Turner (Sympraxis Consulting) - @jfj1997
- Karl-Johan Dahl - kjdahldev
- Kathleen Boilek (Alaka’Ina Foundation) - @kaboilek
-
Keerthivasan Ravikumar (McKesson Europe AG) - @keerthincloud
-
Kent Warner - @Ozarkkent
- Kerry Lambert (NI) - @kazoogal23
- Keval Solanki - @keval_solanki
-
Kevin Byrne
-
Kevin Gregg
-
Kevin McCarron - @cnective
-
Kirti Baldawa (Albertsons Companies)
- - wilecoyotegenius
-
Kris Spencer
- Kyle Daley (Gimmal LLC) - DaleyKD
-
Lance Yoder (Cerner) - @lyoder
- Laura Kokkarinen (Sulava) - @LauraKokkarinen
-
Lindsay Shelton - @lshelton_tech
- Luis Mañes (ClearPeople) - @luismanez
- Luise Freese (Luise Freese M365 Princess) - @LuiseFreese
-
Manjunath Puttaswamy (Momentive Performance Materials India Private Limited) - @ManjunathPutta3
- Marc D Anderson (Sympraxis Consulting) - @sympmarc
-
Marcus Cadena - @marcusc83
- Markus Hanisch - Markus-Hanisch
- Markus Möller - @moeller2_0
- Matthew Devaney (Hitachi Solutions) - @mattbdevaney
- Melanie Austin
-
Melissa Declercq (Savaco NV)
- Michael Appinger
-
Michaël Maillot (onepoint) - @michael_maillot
-
Michael Roth - @MichaelRoth42
- Miguel Angel García Martínez (ClearPeople Ltd) - magarma
- Mike Adler - @MichaelAdler
- Mike Duffy (Boardwalk Pipelines) - @mike_duffy
- Mohamed Ashiq Faleel (Tata Consultancy Services) - @ashiqfaleel
- Mohamed Derhalli (BDO Canada) - derhallim
-
Muralidharan Deenathayalan (Quanticate India Pvt Ltd, Bangalore, India) - @muralidharand
-
Nanddeep Nachan – @NanddeepNachan
-
Naresh Kuncham (Sacha solutions) - Nareshkun
- Nick Brown (Cardiff University) - @techienickb
- Nick Sevens (delaware) - NickSevens
-
Nicolas Kheirallah - @NicolasKheiral2
-
Nikki Chapple (NTT Cloud Communications) - @chapplenikki
- Nizar Grindi (Avanade) - @nizar_grindi
- Ole-Martin Heggen (Computas AS) - Swampen
- Omar El-Anis - omarelanis
-
Oscar Fuentes - @oappdev
-
Oz Ortiz - ortiox
- Paolo Pialorsi (PiaSys.com) - @PaoloPia
- 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 Simpkins (Fluid Interiors) - @simpkinspete
- Peter Paul Kirschner (cubido business solutions GmbH) - @petkir_at
-
Phil Broadbery (PKF) - @peb71b
-
Prabhjit Singh (HCL)
- P3N - P3N
- Ralph Rivas (Sogeti) - @bigpix2000
-
Ravikumar Pasupuleti - @ravikpasupuleti
- Ravichandran Krishnasamy (Content Formula) - @spfx_blog
- Remy Blok (Prodware) - remyblok
- Rick Van Rousselt (Advantive) | @RickVanRousselt
-
Rocio Holub (DAI)
-
Ron Jones (Organogenesis)
-
Ross Allan (PKF LittleJohn)
-
Russell Fulcher (PCX) - @rdfgoalie
- Sam Collins (Coupled Technology) - @samc148
- Sandy Ussia (Lightning Tools) - @SandyU
- Sergei Sergeev (Mastaq) - @sergeev_srg
-
Shawn Miller - @shawnpmiller
- Shiva Bezwada (JCS Solutions LLC) - @Texaport
- Siddharth Vaghasia - @siddh_me
- Simon Doy (iThink 365) - @simondoy
- Simon Hudson (Cloud2) - @simonjhudson
-
Simon Ågren (Sogeti) - @Agrenpoint
- Spencer Harbar (Triumph Media Limited) - @harbars
- Stefan Bauer (n8d) - @StfBauer
- Stephan Bisser (Solvion) - @stephanbisser
-
Steven Babulski (Progressive) - @sbabulski
- strafe - strafe
-
Subash Das - @subashsps
-
Sudhir B - @sudhir_bhad
-
Sujith Pasupuleti - sujith1907
- Susan McClements (1st Source Bank) - @smcclements
-
Tammy Dupuy (CSULB)
- Tetsuya Kawahara - @techsn_k
-
Theresa Lubelski - @SharePointMadam
- Thomy Gölles (Solvion) | @thomyg
- Todd Baginski (Canviz) - @toddbaginski
- umaknow-william - umaknow-william
- Wictor Wilen (Avanade) - @wictor
- Velin Georgiev (Pramerica) – @velingeorgiev
- Veronique Lengelle (CPS) - @veronicageek
- Vipul Kelkar (Rapid Circle) - @vipulkelkar
- Yannick Plenevaux (PVX Solutions) - @yp_code
- Yuriy Samorodov - YuriySamorodov
- Yves Habersaat (Sword Group) - @yhabersaat
Companies: Here's the companies, which provided support the community 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.
- Antons Mislevics - antonsmislevics
- Allen Snow - @asnow003
- Antons Mislevics - antonsmislevics
- April Dunnam - @aprildunnam
- Ayca Bas - @aycabs
- Bert Jansen - @O365Bert
- Beth Pan - @beth_panx
- Bob German - @Bob1German
- Charles Sterling - @chass
- Dan Wahlin - @DanWahlin
- David Chesnut - davidchesnut
- Elise Yang - @elisenyang
- Hugo Bernier - bernierh
- James Eccles - @jimdeccles
- Jason Johnston - jasonjoh
- Jeremy Kelley - @Fizzlenik
- Joanne Hendrickson - JoanneHendrickson
- John Nguyen - johnguy0
- Karthig Balendran - @KarthigBalendr1
-
Kiran Bellala - @kiranbellala
- Kevin Coughlin - @kevintcoughlin
- Koen Zomers - @koenzomers
- Holland Kaviani - Holland-ODSP
- Laura Graham - Lauragra
- Linda Lu Cannon - lindalu-MSFT
- Loki Meyburg - @lokimeyburg
- Luca Bandinelli - lucaband
- Matt Crisler - @mccrisler
- Matt Evans - MattEEvans
- Matt Wolodarsky - @mwolodarsky
- Melissa Torres - @Meltorac
- Mikael Svenson - @mikaelsvenson
- Musale Martin - musale
- Nancy Wang - @nancyatMSFT
- Nik Charlebois - @NikCharlebois
- Nicolas Vogt - vogtn
- Nikola Metulev - @metulev
- Pam Green (Microsoft) - @contextuallib
- Pat Miller - @PatMill_MSFT
- Patrick Rodgers - @mediocrebowler
- Philippe Signoret - @psignoret
- Rabia Williams - @williamsrabia
- Shane Weaver - shweaver-MSFT
- Shiladitya Saha
- Sean Squires - @iamseansquires
- Sébastien Levert - @sebastienlevert
- Steven Jia - Steven-Jia
-
Tammie Brown
- Tom Resing - @resing
- Tomomi Imura - @girlie_mac
- Vesa Juvonen - @vesajuvonen
- Waldek Mastykarz - @waldekm
- Vincent Biret - @baywet
- Vinit Kumar Baheti | @vinitbaheti
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
- Gautam Sheth (Valo Intranet) - @gautamdsheth
- Julie Turner (Sympraxis Consulting) - @jfj1997
- Laura Kokkarinen (Sulava) - @LauraKokkarinen
- Luise Freese - @LuiseFreese
- Marc D Anderson (Sympraxis Consulting) - @sympmarc
- Paolo Pialorsi (Piasys.com) – @PaoloPia
- Patrick Lamber (Expertsinside AG) - @patricklamber
- Paul Bullock (CaPa Creative Ltd) - @pkbullock
- Rabia Williams (Engage Squared) - @williamsrabia
- Stefan Bauer (n8d) – @StfBauer
- Velin Georgiev (Pramerica) – @velingeorgiev
- Veronique Lengelle (CPS) - @veronicageek
- 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
- Wictor Wilen (Avanade) - @wictor
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) – June 7th 2021
Posted at https://sl.advdat.com/3xcOF3y