SPFx and JavaScript SIG August 17, 2017

PnP JS Core Component – 6:13

  • 2.0.8 released August 16, 2017
    • Fixes and additions
    • Cached expiration handling
  • Graph is next focus
  • Discussions around taxonomy support
  • 2.0.9 target release date September 20, 2017

SharePoint Framework Latest News – 8:31

  • Tenant-wide deployment option for SharePoint Framework Solutions
  • SharePoint Framework Extension Release Candidate coming soon.
    • Breaking changes in API, so preview extensions will not work in RC
    • Will be available in developer tenants
    • Not ready for production use
    • Provide feedback – https://github.com/SharePoint/sp-dev-docs/issues
    • No ETA for General Availability at this point
  • SP Engineering Working On
    • SPFx Extensions(preview)
    • Site Collection app catalog
    • On-Premises support SP2016
    • GraphHttp client(preview)
    • Dialog Control(preview)


  • SP-PnP-JS Updates – Patrick – 20:18
    • Check out the developer guide
    • Cache expiration added
    • Caching available on local storage and session storage
    • Call deleteExpired to remove expired cache items
    • Can turn on in setup
      • enableCacheExpiration
      • cachExpirationIntervalMilliseconds
    • Use caching by using usingCache
    • Uses setTimeout to clear the cache
  • Creating your own Yeoman Generator – Ryan Schouten – 27:55
    • Guide for Creating Custom Yeoman Generator – http://yeoman.io/authoring/index.html
    • Project must be named generator-(name)
    • Must have index.js file in generators/app folder for default generator
    • Can use token replacements in template files
    • Lifcecycle functions exist
      • initializing
      • prompting
      • configuring
      • default
      • writing
      • conflicts
      • install
      • end

Open Discussion – 41:14

  • Where is SPFx generator code? – Hidden at the moment

Next Meeting August 31st

August 2017 Monthly PnP Call

Monthly Highlights – 2:18

  • Unique tenants – 5,921
  • Http Requests – 3.5 Billion
  • GitHub Unique visitors (2 week avg) – 26,866
  • Github Views (2 week avg) – 127,919
  • Most Used Feature – Provisioning Engine, 1,492 tenants
  • Top 5 Countries by tenant
    • United States        –
    • United Kingdom    –
    • Netherlands    –
    • Australia        
    • Germany        
  • Top 5 Countries by requests
    • United States        –
    • Netherlands        
    • Norway            
    • United Kingdom    –
    • Germany        

PnP Webcasts and Videos – 4:40

Most Viewed Samples – 5:51

Key Links – 7:36

August 2017 – Release – 9:14

  • 9 new SPFx web part samples
  • 14 new SPFx extension samples
  • Updated samples
    • Portal.DataAccessLayer
    • Provisioning.ModernPages
  • New PnP Shorts video series – currently 7 in series
  • Preview release of support for new Provisioning Schema available

Demos – 14:44

  • New Tenant Wide Deployment Option with SPFx Solutions – Vesa Juvonen – 16:07

    • Included in Yeoman template option
    • Can add the setting in package-solution.json for existing projects.
      • “skipFeautreDeployment”: true
    • If used, solution cannot deploy any assets through the feature framework
      • For extensions, the extension is available and can be assigned through CSOM or Provisioning Engine
  • Using New 201705 Preview Schema – Bert Jansen – 25:10
    • Only works with command-let version 2.17.1708.1 or newer
    • Since in Preview you must pass in schema value to use -Schema V201705 for PowerShell or for Core pass in XMLConstants.PROVISIONING_SCHEMA_NAMESPACE_2017_05
    • Will be default with September release
  • Application customizer for late tasks – Alex Terentiev – 33:07
  • React Content By Query Client-Side Web Part – Simon-Pierre Plante – 38:10

Next September 12, 2017

SPFx and JavaScript SIG August 3, 2017

PnP JS Core Component Update – 8:59

  • Working through issues
  • Encourage community pull requests to help with issues

Demos – 10:08

  • New sp-pnp-js configure method – Segei Sergeev
    • Allows creation of new root object instead of shared object
  • Angular4 and SPFx – Sebastien Levert
    • Ability to add multiple of Angular 4 web parts to a page.
    • Must externalize zone.js
    • Tsconfig skiplibcheck to true
    • Gulpfile must specify the entry point for angular code
    • Nothing funky when coding your web parts

Open Discussion

  • No discussion questions

Next Meeting August 17th.

SPFx/JavaScript SIG Call June 22

5:15 – PnP JS Core Component

  • Released 2.0.6 Monday June 12th
  • Work started on graph support
  • Please provide ideas, thoughts, and feedback
  • https://gitter.im/OfficeDev/PnP-JsCore
  • 185 million requests using JS Core in May
  • 386 million requests using JS Core so far in June

11:22 – SharePoint Framework Latest

22:06 – Demos

  • Vesa Juvonen – Custom Dialogs
    • Tutorial coming out in days
    • Extend BaseDialog
    • Currently in Preview
  • Velin Giorgiev – Provisioning SP Assets in SPFx Package
    • Add assets to sharepoint folder in project
    • Elements.xml file has all the pieces that will be deployed. Part of the classic feature framework
    • Must add assets to the package-solution.json
  • Patrick Rodgers – GraphHttp Demo
    • Code not available yet
    • Very early code
    • Npm installing project from local files

Next meeting July 6th – New invite coming, same link

PnP Core/PowerShell SIG June 14, 2017

3:12 – Miscellaneous Announcements

4:05 – Communication Site – Provisioning Programmatically

  • Normal SharePoint Site(not associated with Office365 group)
  • Preview will start with REST API support for provisioning
    • Provide feedback at MS Tech Community
  • More documentation available when site template is released to first release tenants
  • Demo

23:38 – SharePoint Framework solutions and automating provisioning to site(s)

  • SharePoint Framework review

  • Short Term
    • Solutions with no feature xml can be marked available to be automatically available cross all site collections
    • Extensions are available to be associated with objects
  • Long Term
    • ALM APIs to deploy, update, and delete solutions
  • PnP Provisioning Engine will have native support for the Extensions starting from June 2017 version
  • Discussion on Site Collection App Catalog

34:24 – WebHook support in PnP Core Component

  • Added webhooks to several places throughout PnP core
  • Demoed added webhooks for ListExtensions

44:25 – Q&A

  • SPFx Dialog is a wrapper around the Fabric dialog
  • Question on branding – announcements during summer time.
  • Discussion on variations and multi-lingual sites

Office Dev PnP June Monthly Call

1:41 – Monthly Highlights

12:21 – Conbtributions and other Topics

18:56 – Demos

  • Franck Cornu – Bot framework integration with PnP starter intranet
    • Use QNA maker, need to build a knowledge base https://qnamaker.ai
    • Need to add Azure AD app with read all site collections delegated permisions
    • Register bot on botframework https://dev.botframework.com
  • Alex Terentiev – react-side-panel and react-field-slider
    • Use Office UI Fabric layer control to include panel as part of page instead of part of the web part
    • Using CSS to animate the slide out
    • Slider is using the field customizer extension and the Office UI Fabric slider control
  • Ron Tielke – Client-Side Data Access Layer
    • Need to create aministration site collection for configuration and demo site collection before running PnP DAL console
    • Content is lazy loaded for better performance

Next Monthly call in August


PnP JS SIG 5-25

5:27 – Pnp JS Core Component

  • Working through issues
  • Be respectful, everyone has things going on.

8:35 – SharePoint Framework Latest

31:59 – Demos

Next meeting June 8th

SP PnP PowerShell/Core 5-31

2:38 – Announcements

5:31 – PnP Provisioning Schema

  • https://github.com/SharePoint/PnP-Provisioning-Schema
  • Resolved most of the issues reported in the Schema repo
  • Added information about when items were added to the schema
  • Added ability to define site webhooks, not currently available in the engine because no SharePoint support
  • Client-Side Pages
  • Template Culture Info for the site we are provisioning
  • Scope attribute allows us to understand what kind of target we have for template, root site, sub web
  • Enable tree view for navigation for the site.
  • Role assignment ability to remove out of the box role assignment and add new role assignments, implemented in the schema but not in engine. Schema changes need to come before engine updates
  • Added Key column attribute for data import to prevent duplicate items being added as part of the provisioning
  • Update behavior to define how to handle existing items
  • Can define custom webhooks when list is created, webhooks last on the list for 6 months then need to be re-applied.
  • IRM Settings to define IRM rules
  • No Crawl attribute to define that the items will not be crawled by search
  • List experience to define choice of modern, classic experience, or let SharePoint decide
  • Default display/new/edit forms URL
  • Is application list to define if it is a application specific list
  • Ability to add property bag values to a folder
  • Flag to clear list of content types for document sets
  • List instance field refs can be added to add or remove fieldrefs from lists
  • Target file name option to define the name of the file instead of going with the default name of what it exists as in the template site
  • Image renditions support added
  • Site collections term group update behavior to allow overwrite existing term groups
  • Two releases in June to help implement the schema items into the engine
  • After June 2017 release all of the -spo commandlets will be removed


33:53 – Office365 Dev CDN

  • Public and Private CDN

  • E3+, CDN is included in your subscription
  • Public CDN Logical Flow

  • Anonymous access for public CDN is not your content, it is JS/images/CSS. Shouldn’t normally contain confidential information
  • Private CDN Assets are security controlled
  • Private CDN Logical Flow

  • CDN functionality disabled by default
  • Instructions to enable CDN

  • Demo
  • Public CDN is validated by referrer


58:11 – Q & A

  • Public CDN only available for your tenant



Pnp Core/PowerShell SIG 5-17


2:22 – Miscellaneous Announcements

  • API reference for PnP Sites Core – Target release in coming 2-3 weeks
  • Access Apps Deprecated in Online
    • June 17th no more new Access Apps
    • April 2018 no more Access Apps
    • Detection the Access Apps that live in your tenant using the PnP Access App Scanner

7:42 – What’s the role of technologies in SPO

  • SharePoint Framework is currently targeted at lists
    • UI Framework for creating JavaScript based customizations
    • JavaScript stored in the public CDN does not contain any data just logic

14:12 – SharePoint Dev – Build announcements

  • Web part to web part connections

    • Code based customization only currently, UI coming in the future

  • SharePoint Framework Extensions

    • We have modern way of doing JSLink and custom user action
    • Application Customizer starting in dev preview will only have the header
    • 26:35 – Extensions Demo
  • OpenID Connect support for 3rd party solutions
    • Native APIs to request OpenID Access token to call Office365 services

40:33 – SharePoint Framework Roadmap

  • Can use App Parts in modern pages
  • SPFx landing in on-premises as part of Feature Pack 2 – no date yet for FP2

43:04 – Office 365 CDN

  • Publish your static assets automatically through CDN from your Office 365 tenant, including client-side web part assets
  • Supports anonymous and authenticated (public / private) publishing
  • Enabled by tenant administrator with PowerShell (or CSOM) and is free to use.

  • Private CDN Logic Flow

  • https://dev.office.com/blogs/general-availability-of-office-365-cdn
  • Cannot use Public CDN to access assets outside of the tenant. Referrer check in place

55:27 – Open Discussion

  • Gulp task to deploy SPFx to SharePoint Lib
    • Elio Struyf has article and code to handle this
  • To remove users from Office365 Group do you have to use Graph or can we use core
    • Looking into that
  • Is there a CSOM method to deploy SPFx to app catalog
    • Can deploy to catalog but cannot automate deployment of app to sites, working on it

SP PnP JavaScript/SPFx SIG 5-11-2017

SharePoint Development Launchpad http://dev.office.com/sharepoint

4:25 – PnP JS Core Component

  • 2.0.5 released Monday
  • Looking for feedback on new features
  • Starting to sketch out graph support
  • Exciting growth numbers for April
  • Reopen issues to continue discussions
  • https://aka.ms/SharePointPnPCommunity

7:05 – SharePoint PnP JS Core Usage Numbers

  • 18 Million requests in April

9:26 – SharePoint Framework

  • Modern Extensibility Blog Post
  • SharePoint PnP Webcast – Calling external APIs securely from SPFx
  • SharePoint Framework extensions in SharePoint page
    • Application Customizer
      • Areas in the page available to embed customizations for users
      • Can be used to add google analytics or non visible code
    • Command Set customizer
      • Used to introduce new custom actions to a list
    • Field Customizer
      • Used to customize experiences around the specific fields.
      • Currently available for only read-only scenarios, form fields coming later
    • Extensions currently only available in Modern not classic

19:48 – SPFx new Features – Vesa

  • Dev preview to start pretty soon (within weeks, not months)
  • Web part communications
    • Master and details demo
    • Communications currently done with code, UI coming later
    • Working on multiple columns – in roadmap
    • Raise event with Unique ID to SPFx
    • Details subscribes to event by Unique ID
  • Field Customizer
    • Developer has full control of the div that is being rendered
    • onRenderCell event for rendering value
  • Application customizer
    • Get placeholder by name
    • Use onRender event – *** Verify in recording
    • Have full control inside the div you are given
  • CommandSet Extensions
    • Defined command and commandIDs in manifest
  • Yeoman templates updated with extensions options – asks which type of client-side component
  • All customizers have a base class including context, etc.
  • Customizers must be deployed to app catalog
    • Security control since code is run the user’s context
  • Must enable these customizations on the fields
    • Use code or alternative options
    • Add custom action through various methods
    • Use ClientSideComponentId property and point to id of customizer
    • Field customizers add ClientSideComponentId on the field and can pass in properties through ClientSideComponnentProperties
  • No workbench for dev preview
    • Debugging enabled through querystring parameters

46:53 – SPFx Roadmap

  • Web parts GA
  • Extensions – preview soon

48:03 – Questions

  • Is SP.REquestExecutor obsolete
  • Full page apps on Roadmap – yes
  • Can use CSOM to customize groups – yes can be used to apply customizations
    • Can use CSOM, REST etc
  • Can we use GraphHttpClient to call web api or Azure Function
    • Starting with subset of scopes
    • Cannot use custom token yet
  • Plans field customizers through UI – in roadmap
  • SPFx for beginners – http://aka.ms/spfx-tutorials
  • Page layout customizations in RoadMap
    • Not explicitly part of SPFx
    • Engineering working on page layouts options

Next Meeting May 25th