August 14th, 2018

SharePoint Development Community (PnP) – August 2018 update

SharePoint Dev Ecosystem / SharePoint Patterns and Practices (PnP) August 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 / Office Dev Patterns and Practices

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 July 2018

  • GitHub repository forks at most popular repositories in SharePoint GitHub organization
  • Unique visitors during the past 2 weeks in SharePoint organization repositories – 38,794
  • Merged pull requests across SharePoint repositories (cumulative) – 5,064
  • Closed issues and enhancements ideas cross SharePoint repositories (cumulative) – 4,274
  • SharePoint Online CSOM NuGet package downloads (cumulative) – 617,255
  • Page views in SharePoint Dev pages at docs.microsoft.com – 906,899
  • Unique tenants using PnP components – 14,241
  • Http requests towards SharePoint Online from PnP components (CSOM Core, PowerShell, PnP JS Core) – 16,248,077,314
  • SharePoint Dev YouTube channel had 30,956 views with 170,734 minutes of watch time

Main resources around SharePoint PnP and SharePoint development

August 2018 monthly community call

Agenda for the Tuesday 14th of August 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) ~20 min
  • New capabilities with Site Designs and Site Scripts with Summer release – Sean Squires (Microsoft) ~15 min
  • Preview of SharePoint Framework v1.6 – ETA end of Aug – Vesa Juvonen (Microsoft) ~15 min
  • Q&A ~10 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 dev.office.com/blogs.

PnP Webcasts

PnP Webcasts are typically 15-30 min long conversational webcasts around a specific topic. This series was started in October 2015 and have continued releasing new videos since. All new webcasts are released on PnP YouTube Channel. Here are the new webcasts released after the last monthly release. We are looking into continuing the releases of the webcast in the future.

  • There were no new webcasts released during July – we’ll be back with new topics soon.

General Dev, CSOM, PnP Core, PnP PowerShell SIG Bi-Weekly Call Special Interest Group (SIG)

General SP Dev, CSOM PnP Sites Core, PowerShell and Provisioning Special Interest Group (SIG) have bi-weekly meetings to cover the general SharePoint topics, CSOM and latest in the PnP CSOM core component, PnP PowerShell and in the PnP remote provisioning engine. These calls have also free Q&A section if you have any questions about SharePoint development in on-premises or in the cloud. Need to get a recommendation for your design or having a hard time with some APIs? – Drop by, ask a question and we’ll help you.

You can download invite for the bi-weekly meeting from the following location.

All SIG meetings are being recorded and are available for view from PnP YouTube Channel. Here are the latest recordings of the SIG calls.

  • 9th of August – SP Dev news with engineering update. Modern page approvals with Microsoft Flow. SharePoint Server 2019 Preview Development platform.
  • 26th of July – SP Dev news with engineering update. Using Microsoft Flow to send monthly emails. Upcoming tenant scoped provisioning in PnP Engine.
  • 12th of July – SP Dev news with engineering update. UWP SharePoint Files control and Graph controls. Using Microsoft Flow to moderate SharePoint Image or Picture library

Interested in doing a community demo in these community calls? – Please let us know!

SharePoint Framework (SPFx) and JavaScript Special Interest Group (SIG)

SharePoint Framework (SPFx) and JavaScript Special Interest Group (SIG) has bi-weekly meetings to cover latest changes in the SharePoint Framework side, from the engineering perspective and to cover also latest development related to the PnP JS Core library, Office 365 CLI and reusable content and property controls for SPFx solutions.

All SharePoint Framework and JS SIG meetings are recorded, so that you can check the demos and discussions if you can’t make the actual call. You can find the latest recordings from the PnP YouTube Channel. Here are the latest recordings.

  • 2nd of August – SharePoint Framework engineering update, PnP JS Core update, Office 365 CLI update, SPFx controls update – Calling your business logic hosted in Azure Function from SharePoint Framework client-side solution
  • 5th of July – SharePoint Framework engineering update, PnP JS Core update, Office 365 CLI update, SPFx controls update – System Update Flow with SharePoint Framework, Building search web parts which support configurable templates for rendering.

Interested in doing a community demo in these community calls? – Please let us know!

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.

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

What’s supportability story around PnP material?

Following statements apply across all of the PnP samples and solutions, including samples, core component(s) and solutions, like SharePoint Starter Kit.

  • 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 implementations are reviewed and approved by Microsoft engineering
  • 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

Latest changes

SharePoint Starter Kit

SP Starter Kit

SharePoint Starter Kit demonstrates how to extend out of the box modern experiences in the SharePoint. It demonstrates multiple different techniques and uses different patterns and practices to build end-to-end demonstration solution which can be provisioned to any Office 365 tenant. It contains for example following capabilities, which you can learn from or use them as your reference:

  • How to provision site collections using PowerShell
  • How to apply content and layouts to site collections
  • How to create and use Site Designs and Site Scripts
  • How to build custom web parts and extensions for your deployment
  • 15 different ready to use web parts
  • 7 different extensions
  • Hub site configuration
  • etc. etc. etc.

Following are the key changes in the Starter Kit since the previous monthly summary

  • Documentation improvements for covering the different functionalities included in the package

SharePoint Starter Kit was announced in SharePoint Conference 2018 and we will keep on evolving and update this reference solution also during future releases. We also do welcome contributions on this open-source community lead project.

SharePoint Framework 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-aggregated-calendar showing how to gather aggregated events from multiple calendars from multiple SharePoint sites
  • New sample react-azfunc-vimeo showing how to call business logic hosted in Azure Function from SharePoint Framework web part
  • Updates to react-search-refiners to use dynamic data for web part to web part communications

Extensions

Reusable open source controls for SharePoint Framework

New reusable controls initiative was announced in Ignite 2017 during September. There are two npm packages and source code repositories for the reusable controls which you can use in your SharePoint Framework solutions. We do welcome community contributions to these initiatives as well. There are two different repositories: sp-dev-fx-property-controls and sp-dev-fx-controls-react. Here are the changes on these repositories.

Enhancements

  • Disabled property for PeoplePicker #88
  • PropertyFieldCollectionData: Added custom validation for stringnumbericon, and URL field types #74
  • PropertyFieldCollectionData: Add an option to specify a default value #86
  • PropertyFieldCollectionData: override placeholder for the inputs #87
  • PropertyFieldCollectionData: Hide save button when “Add and save” is shown #88

Fixes

  • New telemetry approach which allows you to use Application Insights #81
  • PeoplePicker property selectedItems not implemented? #90
  • PropertyFieldMultiSelect: fixed an issue where the control didn’t retain the preselected values when drop-down options were provided async #85
  • PropertyFieldOrder: fixed an issue where items where provided async #81

Community list formatting definitions

SharePoint list formatting capability was released for First Release customers during October 2017. As part of the availability, we also announced the availability of open source repository for sharing different column formatting definitions. Since we will be releasing also new view formatting capability soon, the repository has been renamed as sp-dev-list-formatting as it will be containing both view and column formatting samples.

  • New date-conditional-format showing how to apply conditional formatting to list rows depending on the value of a DateTime field
  • New multi-line-view showing how to completely override rendering of a list view row to provide a custom end-user experience
  • New text-conditional-format showing how to resolve values of different fields and format them differently

Community Site Designs and Site Scripts

SharePoint Site Designs and Site Scripts has been released for production usage during March 2018. As part of the availability, we also announced the availability of open source repository for sharing different Site Designs and Site Scripts. Following lists the changes in the Site Design and Site Script area.

Build automation tooling

Open-source build extension and automation tooling are available from the sp-dev-build-extension repository. This is intended as a centralized location for community tools.

Office 365 CLI

Office 365 CLI was released in November 2017. This is an open source tool which enables you to controls tenant level properties in SharePoint Online or in Office 365.

v1.5.0 release available with following changes

Added

Changes

  • Fixed exit code on an error in the ‘spo site add’ command #511
  • Added support for retrieving apps by their name #516

PnP CSOM Core and Provisioning Engine

PnP CSOM Core component is a wrapper on top of native SharePoint CSOM and REST API, which simplifies complex scenarios with remote APIs, one of the example is the PnP Provisioning Engine for remote templates. The first version of the PnP remote provisioning engine was released with the May 2015 release. This list contains the main updates in this release:

Changed

  • Introduced support for ADAL 3.x and JWT 5.x, updated NuGet package reference accordingly
  • Client-side API – Correctly handle data version: split between canvas and web part data version + export data version using the provisioning engine + improved data version detection
  • Bug fix for using SetDefaultColumnValues in lists in subsites
  • Fixed an issue with lookup fields in a list instance, when a template is applied to update a lookup field

See also https://testautomation.sharepointpnp.com for day-to-day results and executed tests.

PnP JavaScript Core Library – PnPjs

Latest update is version 1.1.4 on the PnPJs library. Here’s are the latest changes since the previous monthly release. Notice that if you are using old pnp-js-core, we highly recommend upgrading to the new PnPjs library.

Added

  • documentation: Added search box, updated UML diagram display [PR]
  • documentation: UML class diagrams in documentation (@fthorild) [PR]

Changed

  • @pnp/sp: Updated MySocialQueryMethods followed method to return SocialActor[] instead of any[] [PR]

Fixed

  • @pnp/sp: Fixed SearchResult interface’s ViewsLifetime property casing [PR]
  • @pnp/sp: Fixed spExtractODataId to correctly parse entity urls [PR]
  • @pnp/sp-taxonomy: Fixed bug with getting collections and chaining from objects within array [PR]
  • @pnp/sp: Fixed issue with chaining on file object returned from addChunked [PR]

This is a similar effort as what PnP initiative previously has done with the PnP CSOM Core Component together with the community.

PnP PowerShell

PnP PowerShell providers more than three hundred additional PowerShell cmdlets, which can be used to manipulate content in SharePoint Online and in on-premises (SP2013, SP2016). These cmdlets are additive for SharePoint Online management shell, which concentrate more on the administrative tasks with SharePoint Online. PnP PowerShell uses the PnP CSOM extension under the covers to automate the needed remote operations.

Here are the latest changes in the PnP PowerShell

Added

  • Added Get-PnPLabel and Set-PnPLabel to get and set compliance tags/labels on a list or library. Only available for SharePoint Online.

Changed

  • Fixed Get-PnPSearchCrawlLog where listing user profile crawl entries failed for some tenants
  • Added default pipe bind to Get-PnPListitem
  • Add-PnPDocumentSet now adds the content type to the document library.
  • Updated documentation for Clear-PnPRecycleBinItem and Restore-PnPRecycleBinItem
  • Updated documentation for New-PnPSite

PnP sample library

Here are updates across the PnP code sample library by the community on the code and documentation, which is a great way to contribute as well.

  • Updates to  SharePoint.UIExperience.Scanner v1.8 – Issue tracking list (base template 1100) and Contacts (base template 105) are now supported in modern, custom lists can use grid view in modern
  • 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:
    • Header alignment is retained when transforming wiki text
    • Combined styles (e.g. forecolor with strike-through and font size) is now correctly handled when transforming wikitext

SharePoint Dev articles

SharePoint Dev articles are surfaced currently in 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.

PnP Guidance videos

You can find all SharePoint Dev videos on our YouTube Channel at http://aka.ms/sppnp-videos. This location contains already a significant amount of detailed training material, demo videos, and community call recordings.

Key contributors to the August 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!

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.

2toLead  aequos   Arvo Systems   Catapult Systems  ClearPeople  Content and Code   DMI   piasys   Puzzlepart onebit software  rencore  SharePointalist   Sogeti  Stefan Bauer Valo  Voitanos

Microsoft people: Here’s the list of Microsoft people who have been closely involved with the PnP work during last month.

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 on 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!

Here are the Microsoft Internal PnP Core team members

Next steps

  • August 2018 monthly community call is on Tuesday 14th of August 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.

Learn, Reuse, Share - aka.ms/sppnp

 

“Sharing is caring”

 


SharePoint Team, Microsoft – 14th of August 2018