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

  • 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

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

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 –
  • 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


PnP Sites Core and PowerShell Special Interest Group May 3, 2017

Here is the summary for the PnP Sites Core and PowerShell SIG call from May 3, 2017. I will add the link to the video and add the timings when the video recording has been posted.

Updated May 6, 2017 – Added video link and timings.


3:16 – April Stats

  • 4,916 Unique Tenants
  • 2,048,306,419 http requests
  • 22,850 Unique Github Visitors (avg 2 weeks) – GitHub limitation
  • 127,343 Views in Github(avg 2 weeks)
  • Most used capability – Provisioning Engine 1306 tenants
  • Top 5 countries based on tenants
    • US
    • UK
    • Netherlands
    • Germany
    • Sweden
  • Top 5 countries based on requests
    • US
    • Netherlands
    • Denmark
    • Sweden
    • Germany
  • Guidance and code on customizations options around SPO modern experiences
  • They are aware of the limitations and missing functionality must make sure things are constant and not changing for next 3-5 years

8:28 – Modern UI Experience Scanner – Released

  • Demo by Bert Jansen
  • Analyzes your tenant for “modern” user interface compatibility
  • Scanning for:
    • Sites not using “modern” pages
    • Lists and Libraries rendering using the classic user interface and the reasons why they do so
    • Customizations in the modern user interface
  • Working on modern equivalent for user custom actions
  • Open source on Github –
  • Quick start guide on Github
  • Requires access to everything because it scans everything
    • Can use app-only Principal
      • Instructions on Github readme
      • Safe guard your client id and secret
  • Everything starts in parallel defaults to 10 threads
  • Can get throttled if you are too aggressive
  • Depending on site collection account it could take days to run, not a big deal because low memory usage
  • Outputs reports in csv files
  • Where should the modern page experience be enabled?
  • Enabled for all modern team sites
  • Enabled on most classic team sites
  • If the site has a lot of custom pages they assumed the site does not want modern experience
  • Modern ui not currently created for all list types
    • Announcements, tasks, and calendar lists
  • JSLink and XSLLink customizations disable modern experiences
  • Shows where the feature has been disabled site collection, web, or list
  • Publishing fields and geo-locations fields prevent modern ui
  • Reports show customizations which would be ignored on modern ui
    • Masterpage
    • Custom action
      • ScriptLink not allowed on modern ui
    • Alternate CSS

39:36 – New Provisioning Engine Schema design in Progress

41:12 – New Guidance

44:12 – Q&A

  • SharePoint FrameWork Referencing Styles – CSS/styles encapsulated with a prefix
  • Guidance on testing and provisioning a site – Provisioning engine tested on a regular basis
  • Dev/Test/Prod (ALM) – Working on Guidance