SharePoint Dev Ecosystem / SharePoint Patterns and Practices (PnP) September 2018 update is out with a summary of the latest guidance, samples, and solutions from SharePoint engineering or from the community for the community. This article is a summary of all the different areas and topics around SharePoint Dev ecosystem during the past month.
What is SharePoint Patterns & Practices (PnP)?
SharePoint PnP is a nick-name for SharePoint Dev Ecosystem activities coordinated by SharePoint engineering. SharePoint PnP is community driven open source initiative where Microsoft and external community members are sharing their learning’s around implementation practices for SharePoint and Office 365. Active development and contributions happen in GitHub by providing contributions to the samples, reusable components, and documentation.
PnP is owned and coordinated by SharePoint engineering, but this is work done by the community for the community. The initiative is currently facilitated by Microsoft, but already at this point, we have multiple community members as part of the PnP Core team and we are looking to extend the Core team with more community members.
Notice that since this is open source community initiative, 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. You can use the SharePoint Developer group in the Microsoft Tech Community for providing input and to ask any questions about the existing materials.
Some key statistics around SharePoint Developer topics from August 2018
- GitHub repository forks at most popular repositories in SharePoint GitHub organization
- SP Dev Docs – 391
- SP Dev FX Web Parts – 756
- SP Dev Fx Extensions – 190
- PnP – 2922
- PnP Sites Core (CSOM) – 508
- PnP PowerShell – 471
- Unique visitors during the past 2 weeks in SharePoint organization repositories – 39,287
- Merged pull requests across SharePoint repositories (cumulative) – 5,110
- Closed issues and enhancements ideas cross SharePoint repositories (cumulative) – 4,371
- SharePoint Online CSOM NuGet package downloads (cumulative) – 657,368
- Page views in SharePoint Dev pages at docs.microsoft.com – 879,711
- Unique tenants using PnP components – 17,773
- Http requests towards SharePoint Online from PnP components (CSOM Core, PowerShell, PnP JS Core) – 12,610,330,163
- SharePoint Dev YouTube channel had 32,800 views with 187,275 minutes of watch time
Main resources around SharePoint PnP and SharePoint development
- SharePoint development portal and blog – https://developer.microsoft.com/en-us/sharepoint
- SharePoint Dev Documentation – http://docs.microsoft.com/sharepoint/dev
- SharePoint Dev Community – http://aka.ms/sppnp – One location for all the resources and news around PnP
- PnP Community Discussions – http://aka.ms/SPDev-Community
- SharePoint Dev Videos on YouTube – http://aka.ms/SPDev-Videos
September 2018 monthly community call
Agenda for the Tuesday 11th of September 2018 SharePoint Dev Ecosystem / Patterns and Practices community call at 8 AM PST / 5 PM CEST:
- Monthly summary of SharePoint Development topics – Latest SharePoint roadmap and community news – Vesa Juvonen (Microsoft) ~15 min
- Demo – Deploy consistent footer for your tenant with centralized control for links and settings – Vesa Juvonen (Microsoft) ~15 min
- Demo – Building SharePoint Framework components with Angular Elements – Andrew Connell (Voitanos) ~15 min
- Demo – Introducing new open-source community driven template project for SPFx – Stefan Bauer ~15 min
Monthly community call will get recorded and release to PnP YouTube channel typically within 24 hours after the recording is ended. If you have any questions, comments or feedback, please participate in our discussions in the Microsoft Tech Community under SharePoint developer group.
SharePoint Dev Blog posts
Here are the latest blog posts and announcements around SharePoint development topics from developer.microsoft.com/en-us/sharepoint/blogs
- 10th of September – SharePoint development platform @ Ignite 2018
- 7th of September – SharePoint PnP General SP Dev SIG recording – 6th of September 2018
- 7th of September – SharePoint Dev Weekly – Episode 4
- 5th of September – Announcing the release of SharePoint Framework v1.6
- 3rd of September – New SharePoint CSOM version released for SharePoint Online – August 2018
- 31st of August – SharePoint Dev Weekly – Episode 3
- 31st of August – SharePoint Framework Community call recording – 30th of August 2018
- 24th of August – SharePoint Dev Weekly – Episode 2
- 24th of August – SharePoint PnP General SP Dev SIG recording – 23rd of August 2018
- 17th of August – SharePoint Dev Weekly – Episode 1
- 15th of August – SharePoint Dev Community (PnP) – August 2018 monthly community call recording
- 13th of August – Introduction to SharePoint Server 2019 Preview Development Platform
- 8th of August – Site Scripts & Site Designs – Summary 2018 release
PnP Community Calls
SharePoint Dev community has 3 different recurrent community calls, which you can choose to participate based on your interest and availability. All calls are recorded and published in the SharePoint Dev YouTube channel typically within following 24 hours after the call.
- Monthly community call – Second Tuesday of each month at 8 AM Pacific Time. Consists of the latest news, providing credits for all community contributors and live demos.
- Bi-weekly special interest group for SharePoint Framework – Bi-weekly Thursdays at 7 AM Pacific time. Consists from topics around SharePoint Framework and JavaScript-based development in the SharePoint platform.
- Bi-weekly special interest group for SharePoint General Dev – SharePoint dev platform topics which are not around JavaScript development. Site Designs, PnP Provisioning, CSOM, Column formatting, hub sites, branding, architectural designs etc.
If you are interested in doing a live demo of your solution or sample in these calls, please do reach out to the PnP Core Team members (list later in this post). These are great opportunities to gain visibility for example for existing MVPs or for community members who would like to be MVPs in future.
SharePoint Dev Ecosystem in GitHub
There are quite a few different GitHub repositories under the SharePoint brand since we wanted to ensure that you can easily find and reuse what’s relevant to you. We do also combine multiple solutions to one repository so that you can more easily sync and get the latest changes to our released guidance and samples.
- sp-dev-docs – Source for new SharePoint dev center documentation exposed from http://dev.office.com/sharepoint
- sp-dev-fx-webparts – Client-side web part samples from community and engineering
- sp-dev-samples – Samples for add-ins, webhooks, and other API
- sp-dev-fx-extensions – Samples and tutorial code around SharePoint Framework Extensions
- 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-gdpr-activity-hub – Reference solution on the GDPR business case showing SPFx implementation with PowerBI and modern site customization
- sp-dev-solutions – Repository for more polished and fine-tuned reusable solutions build with SharePoint Framework
- 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-starter-kit – Starter kit solution for SharePoint modern experiences
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-Partner-Pack – Packaged guidance with detailed instructions on setting things up in Office 365 and in Azure.
- 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 PnP organization
- PnPjs – PnPjs Framework repository
- o365 CLI – Cross-OS command line interface to manage Office 365 tenant settings
Area-specific updates
SharePoint development samples
These are samples which are available from the SharePoint client-side web part sample repository at https://github.com/SharePoint/sp-dev-fx-webparts or from the SharePoint Framework Extensions repository at https://github.com/SharePoint/sp-dev-fx-extensions.
Web parts
- New sample react-accordion illustrating the use of React Accessible Accordion plugin
- New sample react-visio showing how to use the Visio JavaScript APIs within a client-side web part
- Updates to react-script-editor to reduce the bundle size and improve performance
- Updates to react-search-refiners to use dynamic data for web part to web part communications and other improvements
- Numerous other updates on updating solutions to the latest version and other adjustments
SharePoint Framework Extensions
- New sample global-footer demonstrating how to build standard footer using application customizer and publish that to all sites in a tenant
- New sample react-application-sitepagecoremetadata sample demonstrates how to display the core metadata information for a Site Page from application customizer
- Numerous other updates on updating solutions to the latest version and other adjustments
Other samples and solutions
- Lot’s of improvements in the SharePoint Modernization Framework which can be used to transform classic wiki and web part pages to client-side modern pages:
- Wikitext handling: Headers (H1 to H3), STRONG and EM tags with custom formatting do retain their formatting
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 SharePointOnlinee cmdlets. There are more than 300 different cmdlets to use and you can use them to manage tenant settings or to manipulate actual SharePoint sites. They See changelog for the latest updates.
- List formatting definitions – Community contributed samples around the column and view formatting in GitHub.
- Site Designs and Site Scripts – Community contributed samples around SharePoint Site Designs and Site Scripts in GitHub.
SharePoint Dev articles
SharePoint Dev articles are surfaced at docs.microsoft.com/en-us/sharepoint/dev. ´Since the last release, we have now merged also SharePoint PnP Solution guidance to docs.microsoft.com platform, so you’ll only have one location to follow all relevant SharePoint Dev documentation and guidance. 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 the SharePoint Development.
- New SharePoint Server 2019 development platform introduction article
- New Tenant Wide Deployment of SharePoint Framework extensions article
- New Connect to anonymous APIs article around SharePoint Framework development
- New Use the developer dashboard article showing how to use the modern dev dashboard
- Updated Set up development environment article
- Updated SharePoint Framework client-side web part development tutorials
- Updated SharePoint Framework extensions tutorials
- Updates on the modernization guidance for transforming from classic to modern experiences
SharePoint Dev YouTube video channel
You can find all SharePoint Dev videos on our YouTube Channel at http://aka.ms/spdev-videos. This location contains already a significant amount of detailed training material, demo videos, and community call recordings.
- How to submit a Pull Request to PnPjs library
- Getting started with SharePoint Online Management Shell (PowerShell)
- Setting up your development environment for SharePoint Framework
- Updated Getting started tutorials for web part development
- Tutorial 1 – Building your first SharePoint client-side web part
- Tutorial 2 – Connect your client-side web part to SharePoint
- Tutorial 3 – Deploy your client-side web part to a SharePoint page
- Tutorial 4 – Host your client-side web part from Office 365 CDN
- Add jQueryUI accordion to your SharePoint client-side web part
- Use Office UI Fabric React components in your SharePoint client-side web part
- Provisioning SharePoint assets as part of your SharePoint Framework solution
- Updated getting started tutorials for extensions
- Tutorial 1 – Build your first SharePoint Framework Extension
- Tutorial 2 – Using page placeholders from Application Customizer
- Tutorial 3 – Deploy your extension to SharePoint
- Tutorial 4 – Host extension from Office 365 CDN
- Build your first Field Customizer extension
- Build your first ListView Command Set
Key contributors to the September 2018 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 the behalf of the community. You are making a difference!
- Albert-Jan Schot (Mavention) – @appieschot
- Alex Terentiev (SharePointalist) – @alexaterentiev
- Allan Hvam (Delegate A/S) – allanhvam
- Andrew Connell (Voitanos) – @andrewconnell
- Andrew Koltyakov (ARVO Systems) – @andrewkoltyakov
- Arjen Bloemsma (motion10) – arjenbloemsma
- Ari Gunawan – AriGunawan
- Beau Cameron – @Beau__Cameron
- Chris Kent (DMI) – @theChrisKent
- danglund alias – danglund
- Daniel Laskewitch (Sogeti) – @laskewitz
- Dave Feldman – @bostonmusicdave
- David Warner II (Catapult) – @DavidWarnerII
- Dennis Goedegebuure (Winvision) – @expiscornovus
- Elio Struyf – @eliostruyf
- Erwin van Hunen (Rencore) – @erwinvanhunen
- Eric Overfield (PixelMill) – @EricOverfield
- Eric Shupps – @eshupps
- Gautam Sheth (Rapid Circle) – @gautamdsheth
- James Brennan – relugas
- Jens Otto Hatlevold (Bouvet AS) – jensotto
- Joel Rodrigues (CPS) – joelfmrodrigues
- Julie Turner (Sympraxis Consulting) – @jfj1997
- Junian Triajianto – junian
- Kiran – ravikiranvs
- Matti Paukkonen (Innofactor) – mpaukkon
- Mark Powney – mpowney
- Michael Tolly – @mptolly
- Mikael Svenson (Puzzlepart) – @mikaelsvenson
- Paolo Pialorsi (PiaSys.com) – @PaoloPia
- Paul Schaeflein – @paulschaeflein
- Paul Willen – @paulwillen
- Paweł Hawrylak (EG A/S) – phawrylak
- Radi Atanassov (OneBit Software) – @RadiAtanassov
- Rodrigo Romano (Blue Frontend) – RARomano
- Sergei Sergeev – @sergeev_srg
- Shayki Abramczyk (Sela Group) – shayki5
- Spencer Harbar (ClearPeople) – @harbars
- Stefan Bauer (n8d) – @StfBauer
- svarukala alias – svarukala
- Thomas Lamb – ThomasLamb
- Tomatokun13 alias – Tomatokun13
- Vincent Biret (2toLead) – @baywet
- Vipur Kelkar (Rapid Circle) – @vipulkelkar
- Waldek Mastykarz (Rencore) – @waldekm
- Velin Georgiev – @velingeorgiev
- vonis22 alias – vonis22
- Wictor Wilen (Avanade) – @wictor
- Yannick Plenevaux – @yp_code
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 PnP initiative. 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.
- Adam Ford – ajford76
- Bert Jansen – @O365Bert
- Bob German – @Bob1German
- Brian T. Jackett – @BrianTJackett
- Chris Hackman
- Koen Zomers – @koenzomers
- Laura Graham – Lauragra
- Linda Lu Cannon – lindalu-MSFT
- Lincoln DeMaris
- Luca Bandinelli – lucaband
- Marc Pasarin Soler
- Mike Ammerlaan – @mikeamm
- Pat Miller – @PatMill_MSFT
- Patrick Rodgers – @mediocrebowler
- Piotrek Krakowiak – PiotrekKrakowiak
- Sean Squires – @iamseansquires
- Vesa Juvonen – @vesajuvonen
SharePoint PnP Core Team
SharePoint PnP Core team manages SharePoint PnP community work in the GitHub and also coordinates different open-source projects around SharePoint development topics. PnP Core Team members have a significant impact on driving adoption of the Office 365 and SharePoint development topics. They have shown their commitment to the open-source and community driven work by constantly contributing for the benefit of the others in the community. Thank you for all that you do!
- Erwin van Hunen (Rencore) – @erwinvanhunen
- Paolo Pialorsi (Piasys.com) – @PaoloPia
- Radi Atanassov (OneBit Software) – @RadiAtanassov
- Elio Struyf (Valo Intranet) – @eliostruyf
- Andrew Connell (Voitanos) – @andrewconnell
- Mikael Svenson (Puzzlepart) – @mikaelsvenson
- Andrew Koltyakov (ARVO Systems) – @andrewkoltyakov
- Chris Kent (DMI) – @theChrisKent
- Stefan Bauer (n8d) – @StfBauer
- Waldek Mastykarz – @waldekm
Here are the Microsoft Internal PnP Core team members
- Bert Jansen – @O365Bert
- Patrick Rodgers – @mediocrebowler
- Vesa Juvonen – @vesajuvonen
Next steps
- September 2018 monthly community call is on Tuesday 11th of September at 8 AM PST / 5 PM CEST / 4 PM GMT for latest release details with demos – Download recurrent invite to monthly community call with a detailed schedule for your time zone from http://aka.ms/sppnp-call.
“Sharing is caring”
SharePoint Team, Microsoft – 11th of September 2018