SlideShare a Scribd company logo
1 of 44
Migrate your custom
components to the
SharePoint framework
Or the road to modern development
By: Vincent Biret
Vincent Biret
Passionate about development, community and technologies
@baywet
bit.ly/vince365
MVP Office Servers and Services
Azure and Office 365 developer @ 2toLead
EVALS / PRIZES
Bring all items to the 6th Info Desk
• Bingo Cards = how you win prizes at the
end of the event.
• The cards must be stamped by ALL the
Sponsors by the last session (4pm)
• Fill out speakers evaluations (located in
the front of the rooms
• Fill out the event evaluations And more …
Surface Go
Xbox One X
THANK YOU
EVENT SPONSORS
We appreciated you supporting the
New York SharePoint Community!
• Diamond, Platinum, Gold, & Silver have
tables scattered throughout
• Please visit them and inquire about their
products & services
• To be eligible for prizes make sure to get
your bingo card stamped by ALL sponsors
• Raffle at the end of the day and you must
be present to win!
Beer Authority
300 W 40h St
[across the street]
Join us for a round of drinks
http://www.beerauthoritynyc.com
SharePoint Framework being GA and reaching on prem means it’s time for key decisions
making
Targeted audience
Seasoned
SharePoint
developer
Project manager New to SharePoint Dev Decision Maker
Agenda
• Introduction
• Demo – the pirates treasures
management solution
• History
• The new stack
• Branding
• Provisioning
• Accessing data
• Line of business applications
• Batch jobs
• Conclusion
Ready?
The Pirates Treasures Solution
Demo
Our history
SharePoint Full trust model has been around for a while but for obvious reasons we need
to transition from that
SharePoint Full Trust
• Code executing server side
• User or service Context
• Bad code would break/slow
down SharePoint
• Deploying meant downtime
• Very little unit tests
The sandbox model was an attempt at fixing some of the problems but it was bringing
other issues on board
SharePoint Sandbox
• Still running on SharePoint server
• User Context only
• Bad code would not impact SharePoint too much
• No downtime during deployments
• Still no unit tests
• Limited access to OM
• Bad throttling could happen
• No more batch jobs
Add-ins were a good attempt to change directions but it was not taking into account the
general motion of the web
SharePoint add-ins (SharePoint Hosted)
• Running client-side
• User Context only
• Bad code doesn’t impact SharePoint
• But wait, iframe!!
• No downtime during deployments
• Still no unit tests
• Incomplete REST API
• Still no more batch jobs
Provider hosted add-ins proved to be efficient but still required a great knowledge of
SharePoint and had some complexity during deployments
SharePoint Add-ins (Provider Hosted)
• Running Server Side (not SharePoint)
• User and App Context
• Bad code doesn’t impact SharePoint
• No downtime during deployment
• Unit tests got easier
• CSOM and REST API
• Batchjobs « capable »
And the general feeling of an average SharePoint developer was either bitterness or
frustration, especially when we compared with other developers and the tools they had.
SharePoint Add-ins/Sandbox
Some developers felt the winds turning and started gearing for that as well as changing
their approach.
Workarounds
• Content Script Editor Webpart
• Display templates
• JSLink
• ScriptLink
• PowerShell
• …
SharePoint
Framework –
The New Stack
A modern toolchain
Have you already seen these slides?
Question!
•Who has never heard about the
SharePoint Framework before this
talk?
The Short Version
• New Tools!
• Front End only!
• Local And Remote WorkBench
• Closed source relying on open source
• First and third party
The product team is working to get a good on premises story so you can develop
solutions working on both environments with little to no changes
On Prem 2016 feature pack 2
• Brings SPFX webparts support
• Few limitations
• Custom Api /MS Graph access
• Version 1.1 of SPFX
• No application extensions
On Prem 2019 RTM
• Should contain version 1.4.0 or upwards
• (Microsoft hasn’t confirmed yet)
• Support for modern pages
• Support for SPFX Webparts
• (without AAD/Graph Client, connected props….)
• Support for Application customizer
• Support for Command Set customizer
• Support for Field customizer
The webpart project, the column formatter
Demo
Branding
Microsoft is finally providing us a way to customize branding with the modern
experience, however don’t expect to have a much control as we used to.
Modern experience custom themes
• Central gallery to host custom
themes for entire organization
• PowerShell commands to manage
and hide out-of-box themes
Provisioning
You currently four options, limited feature, code, pnp template or site script in preview.
Microsoft is working on filling the gaps around those scenarios.
Proivisioning options
• Most SPFX samples include code provisioning
• SPFX provides limited « feature framework » support for provisioning
• Pattern and Practices has made awesome work
• PnP Provisioning far better than code
• Site script to be executed based on templates
• Limited functionalities, can call a flow
• which can call a function and apply a pnp template
The provisioning template for Pirates Treasure App, and the site script for Pirate
Community
Demo
Accessing data
Integration with house made or third party systems was one of the key requirements in
building SPFX
Multiple API’s
• SharePoint REST API’s
• TypeScript libraries available, use those! (@pnp/sp, @types/SharePoint)
• Microsoft Graph
• Get access to much more data
• (no demo on that today, too much content)
• (Microsoft working on improving auth story)
• Or your own API (next slide)
Microsoft has a desire to enable SPFX devs to build complex LOB applications backed by
MS or custom API’s
Custom API & Graph Access from SPFX – preview
• SPFx components access custom Web APIs or MS Graph
• Additional permission scopes can be requested
• Bakes in the auth for you and provides a ready to use client
• Web APIs and Permission Scopes managed by Microsoft still available
• Admins can control additional access through per tenant AAD Service Principal
• Managed by SharePoint Online infrastructure
{
"WebApiPermissionRequest": {
"ResourceId": “GUID goes here",
"Scope": “GUID goes here",
}
"WebApiPermissionRequest": {
"ResourceId": “GUID goes here",
"Scope": “GUID goes here",
}
"WebApiPermissionRequest": {
"ResourceId": “GUID goes here",
"Scope": “GUID goes here",
}
Event receivers were some kind of predecessors of the modern webhooks, SharePoint
developers won’t be un-familiar with those.
Reacting on data events
• We used to have Event Receivers
• SP Provider Hosted Add-ins have RER’s (same thing
over HTTP)
• SharePoint API /MS Graph provides webhooks
support
• PREVIEW: Better integration between Azure Functions
and Microsoft Graph
Getting treasure Data
Demo
Line of business
applications
Azure Functions is also a valid approach for smaller processes, Flow is the most user
friendly, Logic Apps the most complete and Functions are simple for developers
Workflows
Azure Logic Apps
Prefer PowerApps for more complex corporate apps and Forms for simple forms or you
want to expose it to external users
Entry forms/simple apps
PowerApp Form
Demo
Flow workflow
Demo
Batch jobs
Azure functions are becoming Microsoft’s default answer to backend processing for cloud
enabled solutions
Azure functions
Azure function computing
Demo
Conclusion
Things are going really fast demonstrating Microsoft’s desire to close the gaps with on
premices solutions and provide modern solutions at every level
Modern tools reference
Purpose Workflows LOB Batch Events
Old tool SP Designer Front end
Components
TimerJob Event Receivers
New tool Flow/
Logic Apps
SPFX Azure Function RER’s
WebHooks
Purpose Augmentations Provisioning Branding Data Forms …
Old tool JSLink/ScriptLink/Cu
stom Actions
Feature Framework Design manager SSOM/
JSOM
InfoPath …
New tool SPFX Extensions:
Application,
Command Set, Field
customizers,
Column Formatting
PnP Provisioning / Site
Scripts
Custom Themes CSOM/
PNP-Core/
REST/
Graph/
Custom API
PowerApps/
Forms
…
We’re still
missing
custom page
layouts 
Conclusion
• We have a modern tooling
• The SharePoint Framework is one item of our pirate gear
• Add-ins are still relevant in some scenarios
• Leverage other tools to have a full spectrum
• SharePoint dev cost will decrease because bigger community
• SharePoint devs’ life just became better
• Happy coding 
Bit.ly/vince365 @baywet slideshare.net/VincentBIRET
Thanks!/Questions?
Vincent Biret
Office 365 and Azure
Developer, 2toLead
@baywet
Bit.ly/vince365

More Related Content

What's hot

SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
Benoit Jester
 

What's hot (20)

Use office ui fabric react to build beauty with SharePoint
Use office ui fabric react to build beauty with SharePointUse office ui fabric react to build beauty with SharePoint
Use office ui fabric react to build beauty with SharePoint
 
SPS Barcelona 2015 - Real world scenarios to migrate to SharePoint 2016 or Of...
SPS Barcelona 2015 - Real world scenarios to migrate to SharePoint 2016 or Of...SPS Barcelona 2015 - Real world scenarios to migrate to SharePoint 2016 or Of...
SPS Barcelona 2015 - Real world scenarios to migrate to SharePoint 2016 or Of...
 
An introduction to the office devpnp community initiative
An introduction to the office devpnp community initiativeAn introduction to the office devpnp community initiative
An introduction to the office devpnp community initiative
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint Development
 
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
SharePoint Days Casablanca 2016 - Tout ce que vous devez savoir sur Power BI v2
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
 
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - RoadmapECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
 
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
 
What's in SharePoint land 2016 for the end user
What's in SharePoint land 2016 for the end userWhat's in SharePoint land 2016 for the end user
What's in SharePoint land 2016 for the end user
 
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
 
All about SPFx
All about SPFxAll about SPFx
All about SPFx
 
Who Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint ProvisioningWho Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint Provisioning
 
Future of SharePoint - Key Takeaways
Future of SharePoint - Key TakeawaysFuture of SharePoint - Key Takeaways
Future of SharePoint - Key Takeaways
 
ECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
ECS19 - Ahmad Najjar and Serge Luca - Power Platform TutorialECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
ECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
 
Broaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding optionsBroaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding options
 
Spsnyc transforming share point farm solutions to the add-in model and shar...
Spsnyc   transforming share point farm solutions to the add-in model and shar...Spsnyc   transforming share point farm solutions to the add-in model and shar...
Spsnyc transforming share point farm solutions to the add-in model and shar...
 
SPCA2013 - It’s Me, and Here’s My ProofIdentity & Authentication in SharePoin...
SPCA2013 - It’s Me, and Here’s My ProofIdentity & Authentication in SharePoin...SPCA2013 - It’s Me, and Here’s My ProofIdentity & Authentication in SharePoin...
SPCA2013 - It’s Me, and Here’s My ProofIdentity & Authentication in SharePoin...
 
Workflow Best Practices:Five (or More) "Do"s and "Don't"s
Workflow Best Practices:Five (or More) "Do"s and "Don't"sWorkflow Best Practices:Five (or More) "Do"s and "Don't"s
Workflow Best Practices:Five (or More) "Do"s and "Don't"s
 
Office 365 Developer Bootcamp Melbourne
Office 365 Developer Bootcamp MelbourneOffice 365 Developer Bootcamp Melbourne
Office 365 Developer Bootcamp Melbourne
 
Microsoft Teams - The Final Frontier (Melbourne Microsoft 365 Meetup)
Microsoft Teams - The Final Frontier (Melbourne Microsoft 365 Meetup)Microsoft Teams - The Final Frontier (Melbourne Microsoft 365 Meetup)
Microsoft Teams - The Final Frontier (Melbourne Microsoft 365 Meetup)
 

Similar to #SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX

Similar to #SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX (20)

Techorama migrate to sharepoint framework
Techorama migrate to sharepoint frameworkTechorama migrate to sharepoint framework
Techorama migrate to sharepoint framework
 
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
 
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
 
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 developmentSharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
 
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 DevelopmentSharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
 
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
 
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
 
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
 
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
 
SharePoint Fest Chicago - From SharePoint to Office 365 Development
SharePoint Fest Chicago - From SharePoint to Office 365 DevelopmentSharePoint Fest Chicago - From SharePoint to Office 365 Development
SharePoint Fest Chicago - From SharePoint to Office 365 Development
 
ESPC Webinar - From SharePoint to Office 365 Development
ESPC Webinar - From SharePoint to Office 365 DevelopmentESPC Webinar - From SharePoint to Office 365 Development
ESPC Webinar - From SharePoint to Office 365 Development
 
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
 
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour  - Quebec - From SharePoint to Office 365 DevelopmentaOS Canadian Tour  - Quebec - From SharePoint to Office 365 Development
aOS Canadian Tour - Quebec - From SharePoint to Office 365 Development
 
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
aOS Canadian Tour - Ottawa - From SharePoint to Office 365 Development
 
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
aOS Canadian Tour - Montreal - From SharePoint to Office 365 Development
 
aOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
aOS Canadian Tour - Toronto - From SharePoint to Office 365 DevelopmentaOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
aOS Canadian Tour - Toronto - From SharePoint to Office 365 Development
 
#SPSBurgh 2018 How to do #devops with the #SharePoint Framework #spfx
#SPSBurgh 2018 How to do #devops with the #SharePoint Framework #spfx#SPSBurgh 2018 How to do #devops with the #SharePoint Framework #spfx
#SPSBurgh 2018 How to do #devops with the #SharePoint Framework #spfx
 
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
 
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
#Techorama belgium 2018 vincent biret deep dive with the #MicrosoftGraph
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 

More from Vincent Biret

More from Vincent Biret (20)

#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa
 
#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teams#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teams
 
#MWCP19 atelier provisionnement #Office365 slides introduction
#MWCP19 atelier provisionnement #Office365 slides introduction#MWCP19 atelier provisionnement #Office365 slides introduction
#MWCP19 atelier provisionnement #Office365 slides introduction
 
December #PnP #SPFx call #CLI exteranlize demo
December #PnP #SPFx call #CLI exteranlize demoDecember #PnP #SPFx call #CLI exteranlize demo
December #PnP #SPFx call #CLI exteranlize demo
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx
 
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
 
#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters
 
MS365 dev bootcamp - day introduction slides
MS365 dev bootcamp - day introduction slidesMS365 dev bootcamp - day introduction slides
MS365 dev bootcamp - day introduction slides
 
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introductionMS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
 
#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph
 
#MicrosoftGraph Community call - automating your digital workplace provisioni...
#MicrosoftGraph Community call - automating your digital workplace provisioni...#MicrosoftGraph Community call - automating your digital workplace provisioni...
#MicrosoftGraph Community call - automating your digital workplace provisioni...
 
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
 
#SPFestSea Introduction to #Azure #Functions v2
#SPFestSea Introduction to #Azure #Functions v2#SPFestSea Introduction to #Azure #Functions v2
#SPFestSea Introduction to #Azure #Functions v2
 
#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph
 
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
 
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènementsGroupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
 
#MSBuild using #IoT to improve peoples's health and brain power
#MSBuild using #IoT to improve peoples's health and brain power#MSBuild using #IoT to improve peoples's health and brain power
#MSBuild using #IoT to improve peoples's health and brain power
 
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
 
#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started
 
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX

  • 1. Migrate your custom components to the SharePoint framework Or the road to modern development By: Vincent Biret
  • 2. Vincent Biret Passionate about development, community and technologies @baywet bit.ly/vince365 MVP Office Servers and Services Azure and Office 365 developer @ 2toLead
  • 3. EVALS / PRIZES Bring all items to the 6th Info Desk • Bingo Cards = how you win prizes at the end of the event. • The cards must be stamped by ALL the Sponsors by the last session (4pm) • Fill out speakers evaluations (located in the front of the rooms • Fill out the event evaluations And more … Surface Go Xbox One X
  • 4. THANK YOU EVENT SPONSORS We appreciated you supporting the New York SharePoint Community! • Diamond, Platinum, Gold, & Silver have tables scattered throughout • Please visit them and inquire about their products & services • To be eligible for prizes make sure to get your bingo card stamped by ALL sponsors • Raffle at the end of the day and you must be present to win!
  • 5. Beer Authority 300 W 40h St [across the street] Join us for a round of drinks http://www.beerauthoritynyc.com
  • 6. SharePoint Framework being GA and reaching on prem means it’s time for key decisions making Targeted audience Seasoned SharePoint developer Project manager New to SharePoint Dev Decision Maker
  • 7. Agenda • Introduction • Demo – the pirates treasures management solution • History • The new stack • Branding • Provisioning • Accessing data • Line of business applications • Batch jobs • Conclusion
  • 9. The Pirates Treasures Solution Demo
  • 11. SharePoint Full trust model has been around for a while but for obvious reasons we need to transition from that SharePoint Full Trust • Code executing server side • User or service Context • Bad code would break/slow down SharePoint • Deploying meant downtime • Very little unit tests
  • 12. The sandbox model was an attempt at fixing some of the problems but it was bringing other issues on board SharePoint Sandbox • Still running on SharePoint server • User Context only • Bad code would not impact SharePoint too much • No downtime during deployments • Still no unit tests • Limited access to OM • Bad throttling could happen • No more batch jobs
  • 13. Add-ins were a good attempt to change directions but it was not taking into account the general motion of the web SharePoint add-ins (SharePoint Hosted) • Running client-side • User Context only • Bad code doesn’t impact SharePoint • But wait, iframe!! • No downtime during deployments • Still no unit tests • Incomplete REST API • Still no more batch jobs
  • 14. Provider hosted add-ins proved to be efficient but still required a great knowledge of SharePoint and had some complexity during deployments SharePoint Add-ins (Provider Hosted) • Running Server Side (not SharePoint) • User and App Context • Bad code doesn’t impact SharePoint • No downtime during deployment • Unit tests got easier • CSOM and REST API • Batchjobs « capable »
  • 15. And the general feeling of an average SharePoint developer was either bitterness or frustration, especially when we compared with other developers and the tools they had. SharePoint Add-ins/Sandbox
  • 16. Some developers felt the winds turning and started gearing for that as well as changing their approach. Workarounds • Content Script Editor Webpart • Display templates • JSLink • ScriptLink • PowerShell • …
  • 17. SharePoint Framework – The New Stack A modern toolchain
  • 18. Have you already seen these slides? Question! •Who has never heard about the SharePoint Framework before this talk?
  • 19. The Short Version • New Tools! • Front End only! • Local And Remote WorkBench • Closed source relying on open source • First and third party
  • 20. The product team is working to get a good on premises story so you can develop solutions working on both environments with little to no changes On Prem 2016 feature pack 2 • Brings SPFX webparts support • Few limitations • Custom Api /MS Graph access • Version 1.1 of SPFX • No application extensions
  • 21. On Prem 2019 RTM • Should contain version 1.4.0 or upwards • (Microsoft hasn’t confirmed yet) • Support for modern pages • Support for SPFX Webparts • (without AAD/Graph Client, connected props….) • Support for Application customizer • Support for Command Set customizer • Support for Field customizer
  • 22. The webpart project, the column formatter Demo
  • 24. Microsoft is finally providing us a way to customize branding with the modern experience, however don’t expect to have a much control as we used to. Modern experience custom themes • Central gallery to host custom themes for entire organization • PowerShell commands to manage and hide out-of-box themes
  • 26. You currently four options, limited feature, code, pnp template or site script in preview. Microsoft is working on filling the gaps around those scenarios. Proivisioning options • Most SPFX samples include code provisioning • SPFX provides limited « feature framework » support for provisioning • Pattern and Practices has made awesome work • PnP Provisioning far better than code • Site script to be executed based on templates • Limited functionalities, can call a flow • which can call a function and apply a pnp template
  • 27. The provisioning template for Pirates Treasure App, and the site script for Pirate Community Demo
  • 29. Integration with house made or third party systems was one of the key requirements in building SPFX Multiple API’s • SharePoint REST API’s • TypeScript libraries available, use those! (@pnp/sp, @types/SharePoint) • Microsoft Graph • Get access to much more data • (no demo on that today, too much content) • (Microsoft working on improving auth story) • Or your own API (next slide)
  • 30. Microsoft has a desire to enable SPFX devs to build complex LOB applications backed by MS or custom API’s Custom API & Graph Access from SPFX – preview • SPFx components access custom Web APIs or MS Graph • Additional permission scopes can be requested • Bakes in the auth for you and provides a ready to use client • Web APIs and Permission Scopes managed by Microsoft still available • Admins can control additional access through per tenant AAD Service Principal • Managed by SharePoint Online infrastructure { "WebApiPermissionRequest": { "ResourceId": “GUID goes here", "Scope": “GUID goes here", } "WebApiPermissionRequest": { "ResourceId": “GUID goes here", "Scope": “GUID goes here", } "WebApiPermissionRequest": { "ResourceId": “GUID goes here", "Scope": “GUID goes here", }
  • 31. Event receivers were some kind of predecessors of the modern webhooks, SharePoint developers won’t be un-familiar with those. Reacting on data events • We used to have Event Receivers • SP Provider Hosted Add-ins have RER’s (same thing over HTTP) • SharePoint API /MS Graph provides webhooks support • PREVIEW: Better integration between Azure Functions and Microsoft Graph
  • 34. Azure Functions is also a valid approach for smaller processes, Flow is the most user friendly, Logic Apps the most complete and Functions are simple for developers Workflows Azure Logic Apps
  • 35. Prefer PowerApps for more complex corporate apps and Forms for simple forms or you want to expose it to external users Entry forms/simple apps
  • 39. Azure functions are becoming Microsoft’s default answer to backend processing for cloud enabled solutions Azure functions
  • 42. Things are going really fast demonstrating Microsoft’s desire to close the gaps with on premices solutions and provide modern solutions at every level Modern tools reference Purpose Workflows LOB Batch Events Old tool SP Designer Front end Components TimerJob Event Receivers New tool Flow/ Logic Apps SPFX Azure Function RER’s WebHooks Purpose Augmentations Provisioning Branding Data Forms … Old tool JSLink/ScriptLink/Cu stom Actions Feature Framework Design manager SSOM/ JSOM InfoPath … New tool SPFX Extensions: Application, Command Set, Field customizers, Column Formatting PnP Provisioning / Site Scripts Custom Themes CSOM/ PNP-Core/ REST/ Graph/ Custom API PowerApps/ Forms … We’re still missing custom page layouts 
  • 43. Conclusion • We have a modern tooling • The SharePoint Framework is one item of our pirate gear • Add-ins are still relevant in some scenarios • Leverage other tools to have a full spectrum • SharePoint dev cost will decrease because bigger community • SharePoint devs’ life just became better • Happy coding 
  • 44. Bit.ly/vince365 @baywet slideshare.net/VincentBIRET Thanks!/Questions? Vincent Biret Office 365 and Azure Developer, 2toLead @baywet Bit.ly/vince365

Editor's Notes

  1. Gestion des questions, interaction, ok avec ce programme?
  2. 1 powerapps desktop, treasures, fill in treasure 2 show the list item in sharepoint https://baywet.sharepoint.com/sites/sessionmigratespfx/Lists/Treasures 3 show the tweet on my profile 4 show the webpart on workbench https://baywet.sharepoint.com/sites/sessionmigratespfx/_layouts/15/workbench.aspx 5
  3. https://blogs.technet.microsoft.com/stefan_gossner/2017/09/12/feature-pack-2-for-sharepoint-server-2016-aka-september-2017-cu-is-available-for-download/
  4. Show the solution in code, gulp serve https://baywet.sharepoint.com/sites/sessionmigratespfx/_layouts/15/workbench.aspx gulp –tasks https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/column-formatting
  5. PowerShell management support (6906.1200): https://aka.ms/spsitetheming Theme builder tool (hosted on Fabric site): https://aka.ms/spthemebuilder
  6. https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/site-design-overview
  7. TIP: you can now export a Flow in a logic app to build/take ownership of what a poweruser has built
  8. https://us.create.powerapps.com
  9. https://flow.microsoft.com
  10. http://www.sharepointnutsandbolts.com/2017/04/calling-azure-function-from-sharepoint.html