Microsoft 365 Patterns and Practices (PnP) Community October 2020 update is out with a summary of the latest guidance, samples, and solutions from Microsoft or from the community for the community. This article is a summary of all the different areas and topics around the community work we do around Microsoft 365 and SharePoint ecosystem during the past month. Thank you for being part of this success. Sharing is caring!
What is Microsoft 365 Patterns & Practices (PnP)?
Microsoft 365 PnP is a nick-name for Microsoft 365 Ecosystem activities coordinated by numerous teams inside of the Microsoft 365 engineering organizations. PnP is a community-driven open source initiative where Microsoft and external community members are sharing their learning’s around implementation practices for Microsoft 365. Topics vary from Microsoft Graph, Microsoft Teams, OneDrive and SharePoint. Active development and contributions happen in GitHub by providing contributions to the samples, reusable components, and documentation for different areas. PnP is owned and coordinated by Microsoft engineering, but this is work done by the community for the community.
- 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 September 2020
- Unique visitors during the past 2 weeks in PnP, OneDrive and SharePoint GitHub organization repositories – 55,411
- Overall unique contributors in the PnP, OneDrive, Microsoft-Search and SharePoint GitHub organizations – 1,530
- Merged pull requests across PnP, OneDrive, Microsoft-Search and SharePoint repositories (cumulative) – 10,976
- Closed issues and enhancements ideas cross PnP, OneDrive, Microsoft-Search, and SharePoint repositories (cumulative) – 13,876
- Unique tenants using open-source PnP components – 72,660
- HTTP requests towards SharePoint Online from PnP components (PnP CSOM, PowerShell, PnPjs) – 31,818,819,722
- Microsoft 365 Community (PnP) YouTube channel had 83,035 views with 6,897 hours of watch time and 18,602 subscribers
Most viewed videos in the Microsoft 365 Community (PnP) YouTube channel during September 2020:
- Working with Microsoft Lists (webinar) | Harini Saladi, Miceile Barrett, Chakkaradeep Chandran and Mark Kashman | 8,517
- SharePoint Syntex at Microsoft Ignite 2010 | Jeff Teper | 4,705
- Getting started with Site Designs in SharePoint Online – Laura Kokkarinen (Sulava) | 4,287
- Microsoft Lists – Share and track information across Microsoft 365 | Lincoln DeMaris (Microsoft) | 3,726
- Microsoft Teams app template – Grow your skills! | Madhan Kumar (Microsoft) | 2,326
- Microsoft Lists – Your smart information tracking app | 2,040
- Latest on Power Automate integration within SharePoint Online | Chakkaradeep Chandran (Microsoft) | 1,772
- SharePoint Framework Tutorial 1 – HelloWorld WebPart | 1,523
- Getting started on using custom search result page in SharePoint Online | 1,224
- PnP Webcast – SharePoint Framework Modern Search Web Part – Tarald Gåsbackk (Puzzlepart), Franck Cornu (aequous) | 1,173
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 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.
- 13th of October – Announcing the General Availability of Microsoft Graph Teams Membership API
- 9th of October – Outlook add-ins and optional connected experiences
- 7th of October – Microsoft.Identity.Web is now generally available!
- 4th of October – CLI for Microsoft 365 v3.1
- 2nd of October – Microsoft Graph advanced queries for directory objects are now generally available
- 25th of September – Breaking change to Microsoft Graph Users API: Updates to on-premises sync-enabled user contact numbers are no longer allowed
- 22nd of September – Announcing more ways, we’re making app development easier on Windows
- 22nd of September – Change Notifications for Microsoft Teams Messages now Generally Available
- 22nd of September – Ignite 2020: The emergence of Microsoft Graph services
- 22nd of September – Microsoft Teams & Microsoft Graph Dev Platform @ Ignite 2020
- 22nd of September – Ignite 2020 | Microsoft Teams platform round-up
- 22nd of September – Office at Ignite 2020
- 17th of September – App Compatibility for Xbox Series X and Xbox Series S Consoles
- 14th of September – Buckle up and get ready for Ignite 2020!
- 10th of September – Microsoft 365 Patterns and Practices (PnP) – September 2020 update
- 8th of September – Building Windows Terminal with WinUI
- 8th of September – Fluid Framework is now open source
- 8th of September – PnP Virtual Conference – September 2020 – Summary and Recordings
- 5th of September – CLI for Microsoft 365 v3
- 3rd of September – Calling Windows APIs in .NET5
Community call recording blog posts
- 15th of October – Adaptive Cards community call – October 2020
- 15th of October – Microsoft 365 PnP – General Developer SIG recording – 15th of October, 2020
- 13th of October – SharePoint Community – October 2020 monthly community call recording
- 9th of October – SharePoint Framework Community Call Recording – 8th of October, 2020
- 2nd of October – Microsoft 365 PnP – General Developer SIG recording – 1st of October, 2020
- 25th of September – SharePoint Framework Community Call Recording – 24th of September, 2020
- 22nd of September – Adaptive Cards community call – September 2020
- 18th of September – Microsoft 365 PnP – General Developer SIG recording – 17th of September, 2020
- 15th of September – Microsoft Teams community call-September 15, 2020
- 11th of September – Office Add-ins community call–September 9, 2020
- 10th of September – SharePoint Framework Community Call Recording – 10th of September, 2020
- 10th of September – Microsoft Graph community call-September 1, 2020
- 9th of September – SharePoint Community – September 2020 monthly community call recording
- 3rd of September – Microsoft 365 PnP – General Developer SIG recording – 3rd of September, 2020
PnP Weekly video blog / podcast shows
- 13th of October – Microsoft 365 PnP Weekly – Episode 100
- 8th of October – Microsoft 365 PnP Weekly – Episode 99
- 29th of September – Microsoft 365 PnP Weekly – Episode 98
- 22nd of September – Microsoft 365 PnP Weekly – Episode 97
- 15th of September – Microsoft 365 PnP Weekly – Episode 96
Community Calls
There are numerous different community calls on different areas. All calls are being recorded and published either from Microsoft 365 Developer or Microsoft 365 and SharePoint Community (PnP) YouTube channels. Recordings are typically released within the following 24 hours after the call. You can find a detailed agenda and links to specific covered topics on blog post articles at the Microsoft 365 developer blog when the videos are published.
- 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 – General topics on Microsoft 365 Dev from various aspects – Teams, SharePoint, Provisioning, Automation, Scripting
- SharePoint Framework SIG https://aka.ms/spdev-spfx-call – 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 PnP community Ecosystem in GitHub
Most of the community driven repositories are in the PnP GitHub organization as samples are not product specifics as they can contain numerous different solutions or the solution works in multiple different applications.
- PnPjs – PnPjs Framework repository
- o365 CLI – Cross-OS command line interface to manage Office 365 tenant settings
- generator-spfx – Open-source Yeoman generator which extends the out-of-the-box Yeoman generator for SharePoint with additional capabilities
- generator-teams – Open-source Microsoft Teams Yeoman generator – Bots, Messaging Extensions, Tabs, Connectors, Outgoing Webhooks and more
- teams-dev-samples – Microsoft Teams targeted samples from community and Microsoft engineering
- Sharing is Caring – Getting started on learning how to contribute and be active on the community from GitHub perspective.
- pnpcore – The PnP Core SDK is an SDK designed to work against Microsoft 365 with Microsoft Graph API first approach
- powershell – PnP PowerShell module which is PowerShell Core module targeted for Microsoft 365
- pnpframework – PnP Framework is a .Net Standard 2.0 library targeting Microsoft 365 containing the PnP Provisioning engine and a ton of other useful extensions
- sp-dev-fx-webparts – Client-side web part samples from community and Microsoft engineering
- sp-dev-fx-extensions – Samples and tutorial code around SharePoint Framework Extensions
- sp-dev-fx-library-components – Samples and tutorial code around the SharePoint Framework library components
- sp-dev-fx-vs-extension – Open source Visual Studio IDE extension for creating SharePoint Framework solutions in the Visual Studio 2015 or 2017
- sp-dev-build-extensions – Different build extensions like gulp tasks and gulp plugins from the community and engineering around SharePoint development
- sp-dev-solutions – Repository for more polished and fine-tuned reusable solutions build with SharePoint Framework
- sp-dev-samples – Repository for other samples related on the SharePoint development topics – WebHooks etc.
- sp-dev-fx-controls-react – Reusable content controls for SharePoint Framework solutions build with React
- sp-dev-fx-property-controls – Reusable property pane controls to be used in web parts
- sp-dev-list-formatting – Open-source community-driven repository for the column and view formatting JSON definitions
- sp-dev-site-scripts – Open-source community-driven repository for community Site Designs and Site Scripts
- sp-dev-modernization – Tooling and guidance around modernizing SharePoint from classic to modern
- sp-power-platform-solutions – Solution and sample code for SharePoint Power Platform solutions
All SharePoint specific repositories or services supported directly by Microsoft are located in the SharePoint GitHub organization
- sp-dev-docs – Source for new SharePoint dev center documentation exposed from http://docs.microsoft.com/en-us/sharepoint/dev
- sp-starter-kit – Starter kit solution for SharePoint modern experiences
- 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-Transformation – Material specifically for the transformation process. Currently, includes samples around InfoPath replacement and transformation tooling from farm solutions to add-in model.
- PnP-Provisioning-Schema – PnP Provisioning engine schema repository
- PnP-IdentityModel – Open source replacement of Microsoft.IdentityModel.Extensions.dll
Repositories in the GitHub Microsoft Search organization controlled by the PnP initiative
- 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 PnP material?
Following statements apply across all of the community lead and contributed samples and solutions, including samples, core component(s) and solutions, like SharePoint Starter Kit or PnP PowerShell. All Microsoft released SDKs and tools are supported based on the specific tool policies.
- PnP guidance and samples are created by Microsoft & by the Community
- PnP guidance and samples are maintained by Microsoft & community
- PnP uses supported and recommended techniques
- PnP is an open-source initiative by the community – people who work on the initiative for the benefit of others, have their normal day job as well
- PnP is NOT a product and therefore it’s not supported by Premier Support or other official support channels
- PnP is supported in similar ways as other open source projects done by Microsoft with support from the community by the community
- There are numerous partners that utilize PnP within their solutions for customers. Support for this is provided by the Partner. When PnP material is used in deployments, we recommend being clear with your customer/deployment owner on the support model
Please see the specifics on the supportability on the tool, SDK or component repository or download page.
Microsoft 365 PnP team model
In April we announced our new Microsoft 365 PnP team model and grew the MVP team quite significantly. PnP model exists for having more efficient engagement between Microsoft engineering and community members. Let’s build things together. Your contributions and feedback is always welcome!
During August, we also crew the team with 5 new members. PnP Team coordinates and leads the different open-source and community efforts we execute in the Microsoft 365 platform. We welcome all community members to get involved on the community and open-source efforts. Your input do matter!
Got feedback, suggestions or ideas? – Please let us know. Everything we do in this program is for your benefit. Feedback and ideas are more than welcome so that we can adjust the process for benefitting you even more.
Area-specific updates
These are different areas which are closely involved on the community work across the PnP initiative. Some are lead and coordinated by engineering organizations, some are coordinated by the community and MVPs.
Microsoft Graph Toolkit
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.
- Microsoft Graph Toolkit v2 was announced in the ignite 2020 Microsoft Graph related announcements and is planned to get out soon
- mgt.dev – Microsoft Graph Toolkit Playground
- Getting started with Microsoft Graph Toolkit guidance video from recent community call by Beth Pan (Microsoft)
All the latest updates on the Microsoft Graph Toolkit is being presented in our bi-weekly Microsoft 365 Generic Dev community call, including the latest community contributors.
Microsoft 365 Community docs
Community docs model was announced in the April 2020 and it’s great to see the interest for community to help each other by providing new guidance on the non-dev areas. See more on the announcement from the SharePoint blog – Announcing the Microsoft 365 Community Docs. You might be interested on following assets to learn amore on this area: Here are the new articles on the Microsoft 365 Community Docs after the previous update
- Maturity Model for Microsoft 365 – Elevating Staff and Training
- Power Automate – Send SharePoint files as attachments
- A Guided Tour Designed to Help You Select an Effective Navigation Strategy
- Yet another Tool? Why you will probably love Project Moca aka Outlook Spaces
- Updates to numerous existing articles
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
Get involved! All contributors will be also called out in our quarterly summary released soon as a separate post in SharePoint blog at https://aka.ms/sp-blog.
Microsoft Look Book – Provisioning service
We have been releasing numerous updates for the SharePoint Look Book (http://lookbook.microsoft.com) within past month. Look book exposes numerous new templates which are demonstrating the possibilities of modern SharePoint designs. Typically you will need to be a tenant administrator to apply the template, but we are also soon enabling basic templates for normal users. All the hosted templates are also provided as an open-source solutions from the sp-dev-provisioning-templates repository, which means that you can also modify them based on your interest and use them option directly using PnP PowerShell.
Look Book site source code is also released as an open-source solution at sp-provisioning-service GitHub repository and we keep on evolving the experience further.
yo Teams – Yeoman generator for Microsoft Teams
Yo teams is a Yeoman Generator for Microsoft Teams Apps projects. This generator is for developers who prefers to use TypeScript, React and node as their primary technologies. The generator allows you to simply create and scaffold projects that includes one or more Microsoft Teams features such as: Bots, Messaging Extensions, Tabs, Connectors, Outgoing Webhooks. You can easily get started by following the guidance available from the official Microsoft Teams platform documentation. Latest changes on the project:
- Latest version is 2.16.0-preview2
- Schema 1.7 & 1.8 support
- SDK 1.8 support
- Full screen personal app support
- Multiple fixes and additions through community contributions
- Dropped support for schema 1.5 for new projects
- Support for cert based Bot auth
- Support for all Bot Fx 4.9+ versions
- Dockerfile
- Parker as default icon!!!
- Multiple fixes on general components
Upcoming features
- Release of 2.16 official version
We are also working on having better integration and story between yo teams and the Microsoft Teams Toolkit – more on this integration later this autumn. Got ideas and suggestions on this side? Please let us know!
PnP Sites Core and PnP PowerShell move to .NET Standard 2.0 versions
PnP Sites Core component, which has existed for numerous years, have been updated to use .NET Standard version and is getting fully modernized. As part of the October 2020 release, there was now numerous changes on the release model and a new NuGet and PowerShell packages for the modern direction. All of the new components are implemented using the Microsoft Graph first model and they fall back only to classic APIs when needed in the case of SharePoint Online. You should always prefer to use the Microsoft Graph and the standard SDKs for accessing the Microsoft 365 APIs, but if you have existing investments on the provisioning automation or other complex scenarios, which is not yet available in Microsoft Graph, you can use the PnP components to increase your productivity (see https://aka.ms/m365pnp for full list of standard and open-source components and tools).
Here are the key changes around the different components in October 2020 release:
- New PnP Framework component released for SharePoint Online – This is .NET Standard 2.0 SDK containing the classic PnP Site Core features for SharePoint Online
- This component uses Microsoft Graph SDK behind the scenes for all Graph targeted operations
- This component is still in preview status, but intended to go GA in December 2020
- You can find the PnP Framework component from NuGet gallery
- Component code is in new GitHub repository to differentiate it from the on-premises version
- PnP Core SDK is a new Microsoft Graph first SDK targeted to bridge the gap for SharePoint Online between the Microsoft Graph and classic APIs – it’s targeted to enable customers to use Microsoft Graph operations where possible, but then seamlessly fall back to classic APIs on those areas where feature team has not yet provided Microsoft Graph API surface
- PnP PowerShell has been released as new cross-platform version, targeted for SharePoint Online
- You can find new PnP PowerShell from PowerShell gallery
- PnP PowerShell has a new GitHub repository for the new modernized version
- Classic PnP PowerShell will be deprecated by end of 2020 and focus will be on the modern PowerShell 7 version
- Classic PnP Sites Core v3 will be targeted only for on-premises deployment and will remain in the .NET 4.6.1 level
We are also working on full convergence around the SDKs with Microsoft Graph team, so that there is a clear path to transition from the legacy API usage towards the Microsoft Graph APIs. This is a journey we want to do with our partners and customers. This will take a while and we will be providing guidance and components on addressing the gaps until full convergence can be achieved so that our partners and customers can more seamlessly transition their existing investments to modern world. More on this work within upcoming months.
Modernization tooling
SharePoint Online is continuously evolving and improving, which is a great thing for you as a consumer of the service. One of the key improvements is the availability of modern sites, which are modern Office 365 group-connected team sites or communication sites, combined with improved functionality that can be consumed from a beautiful modern user interface. There are however plenty of customers who have already existing content in the classic sites and in classic pages, which would be great to get moved on the modern experience. This is where the open-source modernization tooling will help you.
- All guidance and tooling details are available from http://aka.ms/sppnp-modernize
Following are the key changes in modernization tooling and guidance since the last monthly summary
- Numerous other improvements on the modernization framework
Notice that the SharePoint 2010 Workflows will be going away in SharePoint Online. Take advantage of the SharePoint Modernization Scanner to understand if any are used in your environment.
SharePoint Framework development samples
These are samples which are available from the the different repositories around the SharePoint and Microsoft 365 area samples.
- New sample react-field-pnp-file-type-renderer by Alex Terentiev (SharePointalist) showing usage of PnP Field TypeRenderer controls in list rendering
- New sample react-world-clocks by Jerry Yasir (DXC Technology) showing how to build world time clock with React
- New sample react-accordion-dynamic-section by Jerry Yasir (DXC Technology) with advance filtering options for list based accordion
- New sample react-save-attachments by Aakash Bhardwaj (HCL Technology) showing how to save attachments from Outlook add-in using Microsoft Graph
- New sample react-custom-links by João Mendes for having highly customized link list capability
- Updates to react-directory by Sudharsan Kesavanarayanan (NTT Ltd) which enables organization directory search with live persona card
- Updates to react-list-form by Ryan Schouten which demonstrates creation of custom list form with React
- Updates to react-accordion by Beau Cameron (Aerie Consulting) which illustrates the use of React Accessible Accordion plugin
- Updates to react-outlook-add-todo-task by Luis Mañez (ClearPeople) which shows how to build Outlook add-ins with SPFx, including Microsoft Graph ToDo API usage
- Updates to react-questions-and-answers by Bo George (ThreeWill) which shows how to build Q&A experience with modern experiences
- Updates to react-application-breadcrumb by Swaminathan Sriram which shows how to present breadcrumb on modern pages
- Updates to js-workbench-customizer by Joel Rodrigues (Storm Technologies Ltd.) which improves the online workbench experience
- Updates to react-pnpjsexplorer by Joel Rodrigues (Storm Technologies Ltd.) which can be used to test PnPjs library on any SharePoint Online site
- Updates to react-manage-profile-card-properties by João Mendes which allows tenant administrators to manage profile card properties
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-bot-spfx-taskmodules by Vardhaman Deshpande (Valo Intranet) showing SharePoint Framework powered Task modules in Microsoft Teams applications
- New sample tab-content-explorer-spfx by Cloudpark Labs allowing users to surface all the libraries, lists, sub-sites and hub associated sites by pointing to any SharePoint site collection URL within a Tab in any of your Microsoft Teams
- New sample msgext-httpstatuscats by Tomomi Imura (Microsoft) as a small sample code to build a message extention actions feature for Microsoft Teams, using Node.js and Bot Framework
- New sample msgext-spfx-graph-docreview by Markus Möller (Avanade) as a action based messaging extension created mainly using SPFx Yeoman Generator and partially using the Teams Yeoman Generator
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” repository is targeted for learning the basics around making changes in GitHub, submitting pull requests to the PnP repositories and in GitHub in general. Take advantage of this instructor lead training for learning how to contribute to docs or to open-source solutions.
- See more from the guidance documentation – including all upcoming instructor lead sessions which you can participate
PnP Modern Search solution
PnP Modern Search solution allows you to build user friendly SharePoint search experiences using SPFx in the modern interface. The main features include:
- Fully customizable SharePoint search query like the good old Content Search Web Part.
- Can either use a static query or be connected to a search box component using SPFx dynamic data.
- Live templating system with Handlebar to meet your requirements in terms of UI + built-in layouts. Can also use template from an external file.
- Search results including previews for Office documents and Office 365 videos.
- Customizable refiners supporting multilingual values for taxonomy based filters.
- Sortable results (unique field).
- Refiners Web Part.
- Pagination Web Part.
- SharePoint best bets support.
- Search query enhancement with NLP tools (like Microsoft LUIS).
- Extensibility model allowing to write your own components.
See more details from the documentation.
Other open-source projects and assets
- Reusable SharePoint Framework controls – Reusable controls for SharePoint Framework web part and extension development. Separate projects for React content controls and Property Pane controls for web parts. These controls are using Office UI Fabric React controls under the covers and they are SharePoint aware to increase the productivity of developers.
- Office 365 CLI – Using the Office 365 CLI, you can manage your Microsoft Office 365 tenant and SharePoint Framework projects on any platform. See release notes for the latest updates.
- PnPJs – PnPJs encapsulates SharePoint REST APIs and provides a fluent and easily usable interface for querying data from SharePoint sites. It’s a replacement of already deprecated pnp-js-core library. See changelog for the latest updates.
- PnP Provisioning Engine and PnP CSOM Core – PnP provisioning engine is part of the PnP CSOM extension. They encapsulate complex business driven operations behind easily usable API surface, which extends out-of-the-box CSOM NuGet packages. See changelog for the latest updates.
- PnP PowerShell – PnP PowerShell cmdlets are open-source complement for the SharePoint Online cmdlets. There are more than 300 different cmdlets to use and you can use them to manage tenant settings or to manipulate actual SharePoint sites. They See changelog for the latest updates.
- List formatting definitions – Community contributed samples around the column and view formatting in GitHub.
- SharePoint Starter Kit v2 – Building modern experiences with Microsoft Teams flavors for SharePoint Online and SharePoint 2019 – reference solution in GitHub.
- Site Designs and Site Scripts – Community contributed samples around SharePoint Site Designs and Site Scripts in GitHub.
- DevOps tooling and scripts – Community contributed scripts and tooling automation around DevOps topics (CI/CD) in GitHub.
- Teams provisioning solution – Set of open-source Azure Functions for Microsoft Teams provisioning. See more details from GitHub.
SharePoint Dev articles
SharePoint Dev articles are surfaced at docs.microsoft.com/en-us/sharepoint/dev. You can provide contributions to these documents by submitting documentation improvements using GitHub tooling. All of the SharePoint Dev docs are stored and surfaced from the sp-dev-docs repository. Here are new/updated articles on SharePoint Development.
- New article Build a Me-experience in Microsoft Teams
- Numerous adjustments and updates on the existing
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.
Ignite 2020 videos in Microsoft 365 Dev YouTube channel as follows:
- What’s new in Office Scripts for Excel on the web
- What’s new for Excel Developers
- Increase your productivity with Office Add-ins
- Transform productivity by enabling Microsoft 365 partner apps for your organization
- Build Outlook Add-ins that integrate your solution seamlessly into your users’ Outlook experience
- Building cross-platform solutions with SharePoint Framework
- Working with SharePoint Files and Lists: building blocks for your business process solutions
- Kick-start your solution development with Microsoft 365 PnP
- Fluid Framework Data Libraries and Roadmap
- Create devops workspaces in Microsoft Teams
- Navigating the Teams app lifecycle
- Building zero friction apps on Teams with SSO and Microsoft Graph
- Tips and Tricks: Best practices when building Microsoft Teams apps
- Elevate user experiences with Microsoft Teams and Adaptive Cards
- Integrate and power mobile experiences in your Teams apps
- Modernize business processes with the low-code Microsoft Teams + Power Platform integration
- Build custom apps, bots, and automation for Microsoft Teams with low-code capabilities
- Digitize and transform business processes with no-code building blocks and app templates in Teams
- Building Teams DLP solutions with Microsoft Graph API
- Build Custom eDiscovery workflows with Microsoft Graph API
- Welcoming new additions to the Microsoft Graph Toolkit
- Microsoft Graph PowerShell SDK GA– Foundations for the future
- Streamline any organization’s content discoverability and engagement with Microsoft Graph connectors
- Reduce developer friction with Azure Code Signing
- Using MSIX with CI/CD Pipelines for Code Changes
- CSWinRT: How to call Windows WinRT APIs from .NET5 applications
- Building WebRTC into Windows Native apps with WinRTC
- MSIX in the Enterprise
Here are new Microsoft demo or guidance videos released since the last monthly summary:
- Introducing: Building Access – a Microsoft Teams app template – Pawan Gulati (Microsoft)
- Getting started with Microsoft Graph Toolkit – Beth Pan (Microsoft)
- Creating Microsoft Power Automate approvals with reminders in SharePoint – Chakkaradeep “Chaks” Chandran (Microsoft)
- Intelligent Intranet digital experience and solution enabler refresh – Mike Hollinshead (Microsoft) & Matt Wolodarsky (Microsoft)
- Building a licensing solution for SharePoint Framework solutions – Abhishek Purohit (Microsoft)
- Microsoft Teams app template – Staff Check-ins – Kiran Thomas (Microsoft)
- Introducing Microsoft.Identity.Web for .NET developers-September 2020 – Christos Matskas (Microsoft) & John Patrick Dandison (Microsoft)
Community demos as following:
- Introduction to PnPjs Tester Web Part – Siddharth Vaghasia (Tata Consultancy Services)
- Cascading managed metadata using Microsoft Graph and SharePoint Framework – Anoop Tatti (Content and Code)
- Getting started on using Microsoft Graph subscriptions with Azure Functions – Yannick Plenevaux (PVX Solutions)
- List and column formatting magic: Out-of-box UI design mode wizards – Chris Kent (DMI)
- SharePoint Starter Kit v2 Overview – Kislay Sinha (CGI)
- Build Microsoft Graph integrated bots using Bot Framework Composer – Stephan Bisser (Solvion)
- Building a Microsoft Graph People Search web part – Yannick Reekmans (Qubix)
- Power-up canvas apps UI with auto width generator component – Demo – Emmanuel Gallis (Ai3)
- Tips & Tricks to Power-Up Canvas App Designs – Demo – Geetha Sivasailam (Artis Consulting)
- Power Up Power Virtual Agents with Microsoft Graph – Demo – Tomasz Poszytek
- Enhanced Power App Web Part – Cool Power App integration scenarios with SharePoint – April Dunnam (Microsoft) & Hugo Bernier (Tahoe Ninjas)
- Building company Phone Directory solution with SPFx and Microsoft Graph – Dipen Shah (Stridely Solutions)
- Building an accessible Accordion web part – Erik Benke (Mentor Graphics)
PnP Weekly sessions – Community visitors and latest articles from Microsoft and community on Microsoft 365 topics.
- Microsoft 365 SharePoint PnP Weekly – Episode 100 – Visitor: Waldek Mastykarz & Vesa Juvonen
- Microsoft 365 SharePoint PnP Weekly – Episode 99 – Visitor: Christina Wheeler (Canviz)
- Microsoft 365 SharePoint PnP Weekly – Episode 98 – Visitor: Vesa Nopanen (Sulava)
- Microsoft 365 SharePoint PnP Weekly – Episode 97 – Visitor: Julie Turner (Sympraxis Consulting)
- Microsoft 365 SharePoint PnP Weekly – Episode 96 – Visitor: Yannick Plenevaux (PVX Solutions)
Key contributors to the October 2020 update
Here’s the list of active contributors (in alphabetical order) since last release details in SharePoint Dev repositories or community channels. PnP is really about building tooling and knowledge together with the community for the community, so your contributions are highly valued across the Office 365 customers, partners and obviously also at Microsoft. Thank you for your assistance and contributions on behalf of the community. You are truly making a difference! If we missed someone, please let us know.
- Aakash Bhardwaj (HCL Technology) – @aakash_316
- Abderahman88 – Abderahman88
- Adrian – ahollandusc
- Aimery Thomas – @aimery_thomas
- Albert-Jan Schot (Portiva) – @appieschot
- Alex Terentiev (SharePointalist) – @alexaterentiev
- Ali Robertson (SOPE – Melbourne SharePoint Consultants) – @alirobe
- Allan Poblete (Magenic) – @allanpoblete
- Alvin Espinosa (Magenic) – alvindeleonespinosa
- Andrew Benson (InElec) – @ViewPorter
- Andrew Connell (Voitanos) – @andrewconnell
- Andrew Koltyakov (ARVO Systems) – @andrewkoltyakov
- André Lage (Datalynx AG) – @aaclage
- Andrew Sanchez (Magenic) – asanchez-magenic
- Anj Cerbolles – @anjcerbolles
- Anoop Tatti (Content and Code) – @anooptells
- Arjun U Menon (Mindtree) – @arjunumenon
- Ashtosh Singh
- Bassem Khalil (Reserve Bank of Australia) – @aussie_khalil
- Beau Cameron (Aerie Consulting) – @Beau__Cameron
- Ben Parulan (Magenic) – BenParulan
- Benjamin Buluran – benjbuluran
- Benjie Manalo (Magenic) – nuen92
- Bo George (ThreeWill) – @bo_george
- Brian Kline (North Carolina Housing Finance Agency) – bjkline
- Chandani Prajapati (Digitegrity) – Chandani_SPD
- Chris Kent (DMI) – @theChrisKent
- Christian Zuellig (Monday Coffee) – @ChristianZuell1
- Cloudpark Labs – @CloudsparkLabs
- Daniel Watford (Watford Consulting Ltd.) – @DanWatford
- David Broussard (Catapult Systems) – @dbroussa
- David Warner II (Catapult) – @DavidWarnerII
- Derek Cash-Peterson (Sympraxis Consulting) – @spdcp
- Derrick Valderama (Magenic) – DerrickV
- Diksha Poddar – @PoddarDiksha
- Dipen Shah (Stridely Solutions) – @Dips_365
- Don Kirkham – @DonKirkham
- Don Shults (donshults) – @donshults
- Dustine Tolete (Magenic) – dustinethegreat
- Dwyne Parohinog (Magenic) – bleakwulf
- Edwin Manigo (Magenic) – clickedgo
- Elio Struyf – @eliostruyf
- Emily Mancini (Sympraxis Consulting) – @EEMancini
- Emmanuel Baako (Yardi Systems) – @phastafrican
- Emmanuel Gallis (Ai3) – @R3dKap
- Emmanuel Ray De Guzman (Magenic) – ERDeGuzman
- Eric Overfield (PixelMill) – @EricOverfield
- Eric Shupps (BinaryWave) – @eshupps
- Erik Benke (Mentor Graphics) – @erikjbenke
- Erwin van Hunen (Valo Intranet) – @erwinvanhunen
- Francis Bullet Sandico (Magenic) – l3ullet16
- Frank Cornu (aequos) – @FranckCornu
- Garry Trinder (CPS) – @garrytrinder
- Ganesh Sanap (Ranosys Technologies) – @ganeshsanap20
- Gautam Sheth (Valo Intranet) – @gautamdsheth
- gdk-max – gdk-max
- Geetha Sivasailam (Artis Consulting)
- Giacomo Pozzoni (DQC Sverige Ab) – @PozzoniGiacomo
- Harsha Vardhini (TrnDigital) – @Harshagracy
- Heinrich Ulbricht (Communardo Software GmbH) – @h_ulbricht
- Hilton Giesenow – HiltonGiesenow
- Hugo Bernier – bernierh
- Ian Pano (Magenic Manila) – ianpano
- James May – fowl2
- Jarbas Horst (Valo Intranet) – @devjhorst
- Jason Rivera (Anexinet) – @SharePointJR
- Jaynesh Sharma – @JayneshSharma
- Jeff Angama – @jeffangama
- Jerry Yasir (DXC Technology) – @jerryyasir
- Jim Duncan (ShareSquared) – @sparchitect
- Jim Love (ID Live Ltd) – @jimmywim
- Jimmy Hang – @Hang_Jimmy
- João Mendes – @joaojmendes
- Joe Cervero (Magenic) – hydrocell
- Joe Scully (SoluData Limited) – @soludata_ltd
- Joel Rodrigues (Storm Technologies Ltd.) – @JoelFMRodrigues
- Johnny Lopez (Catapult Systems) – @rockett_15
- joselarios – oselarios
- Joseph Velliah – sprider
- Joy Muehlenbein (Edwards Lifesciences) – @huh_larious
- Julie Turner (Sympraxis Consulting) – @jfj1997
- kalluu-ck – kalluu-ck
- Kislay Sinha (CGI) – @sinhakislay
- Kyle Conrad (Vidyard) – KComrade53
- Laura Kokkarinen (Sulava) – @LauraKokkarinen
- Luis Manez (ClearPeople) – @luismanez
- Luise Freese – @LuiseFreese
- Manjunath Puttaswamy (Momentive Performance Materials India Pvt Ltd) – @ManjunathPutta3
- Manoj Mittal – @manojmcans
- Marc D Anderson (Sympraxis Consulting) – @sympmarc
- Marcel Wagner – chingucoding
- Marius – mariussharepoint
- Mark Powney (Valo Solutions) – @mpowney
- Markus Möller (Avanade) – @Moeller2_0
- Marvin Bangert (netgo GmbH) – @marvinbangert
- Marvin Briones (Magenic) – mharvigne06
- Matthew Haugen – MaJaHa95
- Mike Jensen (Habanero Consulting Group) – michael-jensen
- Miroslaw Gugula (Sii) – gugulam
- Mohamed Derhalli – derhallim
- Muralidharan Deenathayalan (Quanticate India Ltd, India) – @muralidharand
- Nanddeep Nachan – @NanddeepNachan
- Nello D’Andrea (Die Mobiliar) – @NelloDAndrea
- Nick Wages (Wipfli LLP) – NeverHere
- Norben Oriarte (Magenic) – norben999
- Paolo Pialorsi (PiaSys.com) – @PaoloPia
- PathToSharePoint – PathToSharePoint
- Paul Bullock (CaPa Creative Ltd) – @pkbullock
- Paul Schaeflein (AddIn365) – @paulschaeflein
- Peter Cox (Mott Macdonald) – eurocodehelpers
- Peter Ekstam – @peter_ekstam
- Pramod Ghuge – pramodghuge
- Prasad Kasireddy (Capgemini Technology Services India) – @Prasad_kasiredd
- Ralph Rivas (Magenic) – @bigpix2000
- Rajesh Sitaraman (Core BTS) – @rjesh
- Raymart Flores – raymartf31
- Ravi Chandra (Netwoven) – Ravikadri
- Remar De Vera (Magenic) – remard
- Reyn Adonay – princereyn
- Rolan Arboleda (Magenic) – corecodes
- Ron Jones (Organogenesis) – @jones_ron
- Ryan Schouten (Blizzard Entertainment) – @ShrPntKnight
- sakoo-ms – sakoo-ms
- Sandeep Vootoori (Honeywell) – @SandeepVootoori
- Savannah P (7 Oaks Group) – savannahp
- Swaminathan Sriram – @SwaminathanSri3
- Siddharth Vaghasia (TCS) – @siddh_me
- Simon Doy (iThink 365) – @simondoy
- Simon Hudson (Kinata Ltd | Cloud2 Ltd) – @simonjhudson
- Spencer Harbar (Triumph Media Limited) – @harbars
- Stefan Bauer (n8d) – @StfBauer
- Stephan Bisser (Solvion) – @stephanbisser
- Stephen Hayward – @StephenHayward1
- Sudharsan Kesavanarayanan (NTT Ltd) – @sudharsank
- Susan Hanley – @susanhanley
- Tomasz Poszytek – @TomaszPoszytek
- Todd Klindt (Sympraxis Consulting) – @ToddKlindt
- Trevor Seward (Seattle Genetics) – @NaupliusTrevor
- Waldek Mastykarz (Rencore) – @waldekm
- Westley – westleyMS
- Von Uson (Magenic) – vonuson
- Wictor Wilen (Avanade) – @wictor
- Velin Georgiev (Pramerica) – @velingeorgiev
- Veronique Lengelle (TSG) – @veronicageek
- Yannick Plenevaux (PVX Solutions) – @yp_code
- Yannick Reekmans (Qubix) – @YannickReekmans
- Yeshwanth Jagannath – @yesh06
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.
- Abhishek Purohit – @abpuro
- Adrien Chaussabel – adrien-chaussabel
- April Dunnam – @aprildunnam
- Barbara Pinho – barbaralspinho
- Bert Jansen – @O365Bert
- Beth Pan – @beth_panx
- Benson Zhang – bensonz
- Bob German – @Bob1German
- Bryan Petersen – petey121175
- Chakkaradeep (Chaks) CC – @chakkaradeep
- Dragan Panjkov – @panjkov
- Elise Yang – @elisenyang
- Evan Lavender – elav000
- Greg Rojas – MSGRRojas
- Hans Westphal – @HansHWestphal
- Itamar M B Lourenço – @italou80
- Joanne Hendrickson – JoanneHendrickson
- John Nguyen – johnguy0
- John Sudds – jsuddsjr
- Jos Verlinde – josverl
- John Sudds – John Sudds
- Kathy Osborne – kathyos
- Karoline Klever – karolikl
- Kevin Coughlin – @kevintcoughlin
- Kiran Thomas – @notkiran
- Koen Zomers – @koenzomers
- Luca Bandinelli – lucaband
- Matt Wolodarsky – @mwolodarsky
- Mikael Svenson – @mikaelsvenson
- Nicolas Vogt – vogtn
- Mike Hollinshead – @mahollinshead
- Nikola Metulev – @metulev
- Pat Miller – @PatMill_MSFT
- Patrick Rodgers – @mediocrebowler
- Pawan Gulati – @pawangulati
- Rabia Williams – @williamsrabia
- Sanjoyan Mustafi – @Sanjoyan
- Serdar Soysal – SerdarSoysal
- Shane Weaver – shweaver-MSFT
- Shreyansh Agrawal – shagra-ms
- Steven Jia – Steven-Jia
- Tom Resing – @resing
- Tomomi Imura – @girlie_mac
- Vesa Juvonen – @vesajuvonen
- Xiao Li – xiao-lix
PnP Team
PnP Team manages the PnP community work in the GitHub and also coordinates different open-source projects around SharePoint development topics. PnP Team members have a significant impact on driving adoption of Office 365 and SharePoint development topics. They have shown their commitment to the open-source and community-driven work by constantly contributing to the benefit of the others in the community. Thank you for all that you do!
- 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 (Valo Intranet) – @eliostruyf
- Eric Overfield (PixelMill) – @EricOverfield
- Erwin van Hunen (Valo Intranet) – @erwinvanhunen
- Frank Cornu (aequos) – @FranckCornu
- Garry Trinder (CPS Solutions) – @garrytrinder
- Hugo Bernier (Point Alliance) – bernierh
- Julie Turner (Sympraxis Consulting) – @jfj1997
- Laura Kokkarinen (Sulava) – @LauraKokkarinen
- Marc D Anderson (Sympraxis Consulting) – @sympmarc
- Paolo Pialorsi (Piasys.com) – @PaoloPia
- Paul Bullock (CaPa Creative Ltd) – @pkbullock
- Rabia Williams (Engage Squared) – @williamsrabia
- Radi Atanassov (OneBit Software) – @RadiAtanassov
- Stefan Bauer (n8d) – @StfBauer
- Velin Georgiev (Pramerica) – @velingeorgiev
- Wictor Wilen (Avanade) – @wictor
- Yannick Plenevaux (PVX Solutions) – @yp_code
Here are the Microsoft Internal PnP Core team members:
- Bert Jansen – @O365Bert
- Bob German – @Bob1German
- Koen Zomers – @koenzomers
- Mikael Svenson – @mikaelsvenson
- Patrick Rodgers – @mediocrebowler
- Rabia Williams – @williamsrabia
- 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) – October 16th 2020