SlideShare a Scribd company logo
1 of 43
Migrate your custom components to
the SharePoint Framework
SharePoint Fest DC 2019
Vincent Biret
Passionate about technologies, development and community
Vincent Biret
@baywet
bit.ly/vince365
Microsoft Office Dev MVP
Azure and Office 365 developer @ 2toLead
SharePoint always appealed to a vast SharePoint audience and the mordernization of
tooling means it is time for changes in approaches.
Targeted audience
New to SharePoint DevSeasoned SharePoint
developer
Project manager Decision Maker
Agenda
•Introduction
•Our scenario
•About Data
•About Processes
•About Users
•Conclusion
Ready?
Our scenario
The MaintainIt Company
« We locate, document and fix
infrastructure defects in the
country »
S.L, CEO
Mobile App
to document
defects
Our solution
Seb, the CEO has tasked us with delivering a comprehensive and modern solution
List to store
information
Let our workers
know about the
new defects
Display the
information.
Line of business
intelligence
Provide
user-centric
insights
Data Entry
SharePoint designer has been the go to solution for data entry, it’s now time to transition
In the past
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
PowerApps Form
Demo
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.
Provisioning 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 Defect App, and the site script for Construction
Community
Demo
Business Process
Automation
We built powerfull solutions using SharePoint Designer, we now have access to better
tools
In the past
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
Flow workflow
Demo
Displaying
information
The options you get
• Column formatters
• JSON based definition
• Limited
• No UI yet (OOTB)
• Field Customizers
• Part of SPFX
• Custom webpart…
Column formatter, Field customizer
Demos
Batch jobs
& Line of business
intelligence
Azure functions are becoming Microsoft’s default answer to backend processing for cloud
enabled solutions
Azure functions
Azure function computing
Demo
User centric
information
Power BI focuses on… BI and analytics, if you want more custom capabilities, you can
build components using the SharePoint framework
Your options
Microsoft has re-invented the extensibility model multiple times trying to find a solution
that scales
Our history
Full Trust Sandbox Add-ins (SP) Add-ins (PH)
Execution Server Side Server Side Front End Server Side out of SP
Context User & Service User Only User Only User & App
Bad code Impacts the farm Impacts the solution Impacts the user Impacts the solution
Deployment Farm downtime Solution downtime Solution downtime Solution downtime
Unit tests Hard Hard Better Better
APIs SSOM/JSOM SSOM/JSOM JSOM/REST CSOM/REST
Batch jobs Timer Jobs No No Your own
Surprise Throttling, API limitations Iframes Iframes
The situation generally left developers with gaps to fill and created a lot of frustration
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
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
To start new projects for SharePoint 2019 use the 1.7.0 generator
On Prem 2019 RTM
•Hosts version 1.4.0
•Modern pages
•SPFX Webparts
• (without AAD/Graph Client, connected props….)
•Application customizer
•Command Set customizer
•Field customizer
The webpart project
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)
Think of event receivers as ancestors of the modern webhooks, they should feel familiar
to SharePoint developers.
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
• GA: Better integration between Azure Functions and
Microsoft Graph
Getting Defect Data
Demo
Conclusion
Things are going really fast demonstrating Microsoft’s desire to close the gaps with on
premises 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/
Custom 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 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 
Come join me for deeper dives on Microsoft Graph, Azure Functions, and provisioning
To go further – additional sessions
• Tomorrow 1:20 PM: 154AB
• AZR202 - Azure Functions: What’s New In V2 & Getting Started
• Friday 10:40 AM: 154AB
• Automating provisioning For Your Digital Workplace: With Azure Durable
Functions & Microsoft Graph
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

What's hot (20)

Office 365 Developer Bootcamp Melbourne
Office 365 Developer Bootcamp MelbourneOffice 365 Developer Bootcamp Melbourne
Office 365 Developer Bootcamp Melbourne
 
Microsoft Viva Connections - Set up and Extend with SPFx
Microsoft Viva Connections - Set up and Extend with SPFxMicrosoft Viva Connections - Set up and Extend with SPFx
Microsoft Viva Connections - Set up and Extend with SPFx
 
FDUG October 2019 Virtual Launch Event Highlights
FDUG October 2019 Virtual Launch Event HighlightsFDUG October 2019 Virtual Launch Event Highlights
FDUG October 2019 Virtual Launch Event Highlights
 
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
SPFestDc AZR204 Microsoft Graph and SharePoint Framework under steroids with ...
 
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)
 
SharePoint 2013 No-Code Solutions Story
SharePoint 2013 No-Code Solutions StorySharePoint 2013 No-Code Solutions Story
SharePoint 2013 No-Code Solutions Story
 
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 apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thingOffice apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thing
 
Getting started with share point online modernization - SharePoint Saturday T...
Getting started with share point online modernization - SharePoint Saturday T...Getting started with share point online modernization - SharePoint Saturday T...
Getting started with share point online modernization - SharePoint Saturday T...
 
What's new in SharePoint Server 2019
What's new in SharePoint Server 2019What's new in SharePoint Server 2019
What's new in SharePoint Server 2019
 
Share point development services case study
Share point development services case studyShare point development services case study
Share point development services case study
 
Chatbot Success Factor - Microsoft 365 Saturday Sydney
Chatbot Success Factor - Microsoft 365 Saturday SydneyChatbot Success Factor - Microsoft 365 Saturday Sydney
Chatbot Success Factor - Microsoft 365 Saturday Sydney
 
(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies(ATS6-DEV02) Web Application Strategies
(ATS6-DEV02) Web Application Strategies
 
An Introduction to the Office 365 Patterns and Practices Project
An Introduction to the Office 365 Patterns and Practices ProjectAn Introduction to the Office 365 Patterns and Practices Project
An Introduction to the Office 365 Patterns and Practices Project
 
Canvas Apps for the Model-driven mind
Canvas Apps for the Model-driven mindCanvas Apps for the Model-driven mind
Canvas Apps for the Model-driven mind
 
Microsoft PowerApps
Microsoft PowerAppsMicrosoft PowerApps
Microsoft PowerApps
 
Deploying and Managing Project Online and Project Server 2016
Deploying and Managing Project Online and Project Server 2016Deploying and Managing Project Online and Project Server 2016
Deploying and Managing Project Online and Project Server 2016
 
SharePoint Apps - SharePoint Day 2013
SharePoint Apps - SharePoint Day 2013 SharePoint Apps - SharePoint Day 2013
SharePoint Apps - SharePoint Day 2013
 
Power Platform Architecture Corrections
Power Platform Architecture CorrectionsPower Platform Architecture Corrections
Power Platform Architecture Corrections
 
Solution engine presentation
Solution engine presentationSolution engine presentation
Solution engine presentation
 

Similar to #SPFestDC Migrate your custom solutions to the modern stack

CVNUG - Share Point Development
CVNUG - Share Point DevelopmentCVNUG - Share Point Development
CVNUG - Share Point Development
ryanaoliveira
 
SharePoint 2013 Dev Features
SharePoint 2013 Dev FeaturesSharePoint 2013 Dev Features
SharePoint 2013 Dev Features
Ricardo Wilkins
 

Similar to #SPFestDC Migrate your custom solutions to the modern stack (20)

#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
 
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
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
CVNUG - Share Point Development
CVNUG - Share Point DevelopmentCVNUG - Share Point Development
CVNUG - Share Point Development
 
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
 
Techorama migrate to sharepoint framework
Techorama migrate to sharepoint frameworkTechorama migrate to sharepoint framework
Techorama migrate to sharepoint framework
 
Introduction to development using the share point framework mv ps
Introduction to development using the share point framework mv psIntroduction to development using the share point framework mv ps
Introduction to development using the share point framework mv ps
 
No-code developer options in Office 365 and SharePoint 2013
No-code developer options in Office 365 and SharePoint 2013No-code developer options in Office 365 and SharePoint 2013
No-code developer options in Office 365 and SharePoint 2013
 
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 ...
 
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
 
Intro to SharePoint for Developers
Intro to SharePoint for DevelopersIntro to SharePoint for Developers
Intro to SharePoint for Developers
 
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
 
Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...
Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...
Sharepointarchitecturereal worldscenariofundamentals-150419043032-conversion-...
 
How to build SharePoint 2013 Killer Apps
How to build SharePoint 2013 Killer AppsHow to build SharePoint 2013 Killer Apps
How to build SharePoint 2013 Killer Apps
 
Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020
 
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 1: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
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 2013 Dev Features
SharePoint 2013 Dev FeaturesSharePoint 2013 Dev Features
SharePoint 2013 Dev Features
 
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 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
 

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
 
#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...
 

Recently uploaded

Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 

Recently uploaded (20)

Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 

#SPFestDC Migrate your custom solutions to the modern stack

  • 1. Migrate your custom components to the SharePoint Framework SharePoint Fest DC 2019 Vincent Biret
  • 2. Passionate about technologies, development and community Vincent Biret @baywet bit.ly/vince365 Microsoft Office Dev MVP Azure and Office 365 developer @ 2toLead
  • 3. SharePoint always appealed to a vast SharePoint audience and the mordernization of tooling means it is time for changes in approaches. Targeted audience New to SharePoint DevSeasoned SharePoint developer Project manager Decision Maker
  • 4. Agenda •Introduction •Our scenario •About Data •About Processes •About Users •Conclusion
  • 7. The MaintainIt Company « We locate, document and fix infrastructure defects in the country » S.L, CEO
  • 8. Mobile App to document defects Our solution Seb, the CEO has tasked us with delivering a comprehensive and modern solution List to store information Let our workers know about the new defects Display the information. Line of business intelligence Provide user-centric insights
  • 10. SharePoint designer has been the go to solution for data entry, it’s now time to transition In the past
  • 11. 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
  • 14. You currently four options, limited feature, code, PNP template or site script in preview. Microsoft is working on filling the gaps around those scenarios. Provisioning 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
  • 15. The provisioning template for Defect App, and the site script for Construction Community Demo
  • 17. We built powerfull solutions using SharePoint Designer, we now have access to better tools In the past
  • 18. 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
  • 21. The options you get • Column formatters • JSON based definition • Limited • No UI yet (OOTB) • Field Customizers • Part of SPFX • Custom webpart…
  • 22. Column formatter, Field customizer Demos
  • 23. Batch jobs & Line of business intelligence
  • 24. Azure functions are becoming Microsoft’s default answer to backend processing for cloud enabled solutions Azure functions
  • 27. Power BI focuses on… BI and analytics, if you want more custom capabilities, you can build components using the SharePoint framework Your options
  • 28. Microsoft has re-invented the extensibility model multiple times trying to find a solution that scales Our history Full Trust Sandbox Add-ins (SP) Add-ins (PH) Execution Server Side Server Side Front End Server Side out of SP Context User & Service User Only User Only User & App Bad code Impacts the farm Impacts the solution Impacts the user Impacts the solution Deployment Farm downtime Solution downtime Solution downtime Solution downtime Unit tests Hard Hard Better Better APIs SSOM/JSOM SSOM/JSOM JSOM/REST CSOM/REST Batch jobs Timer Jobs No No Your own Surprise Throttling, API limitations Iframes Iframes
  • 29. The situation generally left developers with gaps to fill and created a lot of frustration SharePoint Add-ins/Sandbox
  • 30. 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
  • 31. The Short Version • New Tools! • Front End only! • Local And Remote Workbench • Closed source relying on open source • First and third party
  • 32. 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
  • 33. To start new projects for SharePoint 2019 use the 1.7.0 generator On Prem 2019 RTM •Hosts version 1.4.0 •Modern pages •SPFX Webparts • (without AAD/Graph Client, connected props….) •Application customizer •Command Set customizer •Field customizer
  • 36. 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)
  • 37. Think of event receivers as ancestors of the modern webhooks, they should feel familiar to SharePoint developers. 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 • GA: Better integration between Azure Functions and Microsoft Graph
  • 40. Things are going really fast demonstrating Microsoft’s desire to close the gaps with on premises 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/ Custom 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 
  • 41. Conclusion • We have a modern tooling • The SharePoint Framework is one item of our 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 
  • 42. Come join me for deeper dives on Microsoft Graph, Azure Functions, and provisioning To go further – additional sessions • Tomorrow 1:20 PM: 154AB • AZR202 - Azure Functions: What’s New In V2 & Getting Started • Friday 10:40 AM: 154AB • Automating provisioning For Your Digital Workplace: With Azure Durable Functions & Microsoft Graph
  • 43. 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. Mostly Devs and architects that want to know how to implement it. PMO and PMs who want to know how it’s done. Questions: XP with functions XP with SPFx XP with MS Graph
  2. Gestion des questions, interaction, ok avec ce programme?
  3. https://us.create.powerapps.com
  4. https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/site-design-overview
  5. TIP: you can now export a Flow in a logic app to build/take ownership of what a poweruser has built
  6. https://flow.microsoft.com
  7. http://www.sharepointnutsandbolts.com/2017/04/calling-azure-function-from-sharepoint.html
  8. 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/
  9. 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
  10. PowerShell management support (6906.1200): https://aka.ms/spsitetheming Theme builder tool (hosted on Fabric site): https://aka.ms/spthemebuilder