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


SPFx JavaScript SIG June 8, 2017

5:38 – PnP JS Core Component

  • 2.0.6 will be released June 12th.
  • Graph is pending GraphHttpClient in SPFx
  • Why don’t we include ORM (Object Relational Mapper)
    • Everyone would handle this differently
    • Not possible to support every framework
    • Perfect opportunity for community project
  • http://aka.ms/SharePointPnPCommunity

12:39 – SharePoint Framework Latest


27:19 – Demos

  • Vesa – SPFx Extensions
    • To test SPFx Extension

    • Different options for different types of extensions
  • Andrew Koltyakov – SP-PnP-JS with NodeJS

Next meeting June 22nd (Patrick’s Birthday)



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

May Office 365 Dev and SharePoint PnP Call

This synopsis is for the May monthly Office365 Dev and SharePoint Patterns and Practices call. As usual this will contain a link to the recorded video as soon as it is available.

Monthly highlights

  • 2:49 – 5 New Webcasts
  • 4:56 – Metrics
    • Unique tenants – 4,916
    • Http Requests – 2,048,306,419
    • Unique Visitors in GitHub 2 week average – 22,850
    • Views in GitHub 2 week average – 127,343
    • Most used capability – Provisioning Engine (1,306 tenants)
    • Top 5 Countries based on tenants
      • United States
      • United Kingdom
      • Netherlands
      • Germany
      • Sweden
    • Top 5 countries based on requests
      • United States
      • Netherlands
      • Denmark
      • Sweden
      • Germany
  • 7:28 – April 2017 Most viewed samples
  • 10:15 – SharePoint Developer Area Discussion
  • May 2017 Release – SharePoint Framework Samples
  • 11:31 – May 2017 Release – Generic Samples and Guidance
    • Samples
      • PnP Portal Intranet starter kit to version 1.3
      • PnP Partner Pack updates
        • Fine tuning and polishing based on community input
        • Fixed issue when searching for Site Collection Admins
    • Guidance
      • Introduction on guidelines for developing well performing SharePoint Online Portals
      • Debug SharePoint Framework solutions in Visual Studio Code
      • Using Office UI Fabric with SharePoint Framework solutions
      • Hosting client-side web parts from OFfice365 CDN
  • 15:10 – May 2017 Release – Core and engine updates
    • Core (CSOM) and engine
    • PowerShell
    • Core (JS) > 2.0.3
  • Thanks to Contributors
  • Thanks to Microsoft contributors
  • 17:57 – Roadmap – What’s in queue
    • SharePoint Framework
      • New samples
    • Provisioning engine
      • Introduce new schema
    • .Net Core component
    • JS Core Component
    • PowerShell
    • PnP Partner Pack
      • Continue evolving based on community contributions
    • Samples and solutions

20:00 – Demo on new SPFx web part react-async-await-sp-pnp-js – José Quinto

  • Integrate PnP JS Core and SPFx Logging systems
  • Use PnP JS Core with Async function with TypeScript
  • Logging must import from sp-pnp-js
    • Logger
    • FunctionListener
    • LogEntry
    • LogLevel
  • Import Log from SharePoint Framework
    • Log
  • Must set log level
  • Use function listener to combine logging systems PnP-JS and SPFx
  • Await must be provided a promise

34:15 – Using SharePoint Themes in Client-Side Web PartsDemo – Alex Terentiev

44:33 – Yammer SPFx React Web Part Demo – Velin Georgiev

  • Calling Yammer search service
  • Sample Needs Office365 E* to include Yammer
  • Must go to Yammer account and register application
  • Make sure it is enabled
  • Specify JavaScript origins for CORS on Basic Info section in Yammer