SlideShare ist ein Scribd-Unternehmen logo
1 von 29
SharePoint Saturday Belgium 2017 • October 21 • Brussels Track: DEV | Level: 300
Upgrading from Full Trust
Code to Add-in Model and
SharePoint Framework
Paolo Pialorsi - @PaoloPia
Senior Consultant - PiaSys.com
PlatinumGoldSilver
SharePoint Saturday Belgium 2017 • October 21 • Brussels
About me
• Project Manager, Consultant, Trainer
• About 50 Microsoft certification exams passed
• MCSM – Charter SharePoint
• MVP Office Servers and Services
• SharePoint & Office 365 Dev PnP Core Team Member
• Focused on SharePoint and Office 365 since the
beginning
• Author of many books about XML, SOAP, .NET,
LINQ, SharePoint, and Office 365
• Speaker at main IT conferences
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Agenda
• Where do we come from?
• Migrating and upgrading customizations
• Common migration patterns
• Q&A (if time permits…)
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Where do we come from?
SharePoint Saturday Belgium 2017 • October 21 • Brussels
A Brief History of SharePoint Development
Farm solutions
 Full trust solutions
 File system access
 GAC deploy
 14 hive access
 .NET managed code
 Inherited from SP2007
Sandbox solutions
 Partially trusted code
 Limited API
 .NET managed code
 No access to file system
 No calls to services
Add-In Model
 New model app-oriented
 Deployed from corporate
catalog or Office
Marketplace
 Based on web standards
 No code with server
object mode!
Solutions Model Add-In model
SP2010
SP2013/SP2016
SharePoint Framework
 New model for client-side
development
 Client-side Web Parts
 Extensions
 Based on web stack
 TypeScript/JS
 REST API
Client-side model
SPO (and partially SP2016 FP2)
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Web Parts Extensions
Client side
Tools
SP APIs
Package
Deployment
Experiences
Development
SharePoint Online Modern Development Stack
CSOM
Add-ins
MS Graph
SharePoint Saturday Belgium 2017 • October 21 • Brussels
It’s not all about SharePoint
• In Office 365 and in hybrid topologies there is a cooler option
• Office 365 Applications/Azure AD Applications
• Register the application in Azure AD
• Access the full Office 365 ecosystem of services
• Using the Microsoft Graph API
• Or the «old» REST API on a per-service basis
• You can still have full access to SPO via REST/CSOM
• And few new capabilities using the Microsoft Graph
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Nowdays available development options
• SharePoint 2013/2016 on-premises
• SharePoint Add-In model
• SharePoint Framework client-side Web Parts (SP2016 FP2 only)
• SharePoint Online
• SharePoint Add-In model
• SharePoint Framework
• Office 365 Application (aka Azure AD Application)
• Keep in mind hybrid topologies …
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Migrating and Upgrading
Customisations
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Steps to Upgrade/Migrate
• Assess existing solutions
• Information Architecture
• Provisoned sites and content
• Data repositories
• Analyze any new requirement
• Leverage the upgrade/migration to improve your solutions
• Upgrade/migrate on a step-by-step basis
• Choose the right development tool/architecture
• Migrate the Information Architecture
• Migrate the project based on the requirements
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Are There Migration Paths?
• Well … no, ehm yes, or maybe  …
• You shouldn’t compare FTC/Sandbox with Add-In/SPFx as 1:1
• They have different goals and satisfy somehow different needs
• But you should be able to do what is really needed to do
• Or what Microsoft assumes that should be done 
• Let’s see some common examples and migration patterns …
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Web Parts
• Are you in Modern Sites/Pages?
• SPFx Client Side Web Parts
• Are you in Classic Sites/Pages or on-premises?
• SPFx Client Side Web Parts (still)
• Custom JavaScript code (client-side rendering)
• Script Editor Web Part (JS injection)
• User Custom Actions (JS embedding)
• Try to avoid App Parts of the Add-In Model
• Live and let die  …
SharePoint Saturday Belgium 2017 • October 21 • Brussels
DEMO
Client-side Web Parts
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Custom Pages
• Are you in Modern Sites/Pages?
• Modern Pages + SPFx Client-side Web Parts
• Full Page Apps with Add-In Model
• Office 365 Applications (eventually hybrid for on-premises)
• Are you in Classic Sites/Pages or on-premises?
• Classic Pages + SPFx Client-side Web Parts
• Full Page Apps with Add-In Model
• Office 365 Applications (eventually hybrid for on-premises)
• User Custom Actions (JS embedding) with “blank” pages
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Custom Actions
• Are you in Modern Sites?
• SharePoint Framework Extensions
• Application Customizers
• Command Sets
• Are you in modern lists/libraries in Classic Sites?
• Few UI Custom Actions (ECB and Ribbon) menu items?
• But without any JavaScript embedding or ScriptLink/ScriptBlock
• Are you in Classic Sites or on-premises?
• Custom Actions via SharePoint Add-In Model
• Custom Actions via Office 365 Application (eventually hybrid for on-premises)
SharePoint Saturday Belgium 2017 • October 21 • Brussels
DEMO
SharePoint Framework Extensions
SharePoint Saturday Belgium 2017 • October 21 • Brussels
JSLink and List Views Customizations
• Are you in Modern Sites?
• SharePoint Framework Extensions
• Field Customizers
• Are you in Classic Sites or on-premises?
• Use CSOM and apply the JSLink remotely
• Use Remote Provisioning (PnP? What else? )
• Inject via Office 365 Application (eventually hybrid for on-premises)
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Event Receivers
• Use SharePoint Webhooks (in SPO only)
• To be open to any development platform
• To have a guaranteed delivery model
• To trap events related to lists and libraries (only, so far …)
• To be fully asynchronous
• Use Remote Event Receivers, instead
• If you’re on-premises
• Or if you like to use .NET and WCF
• There’s no guaranteed delivery of events
• If you need kind of events other than lists and libraries (in SPO, too)
• Sites/Web, Permissions, Security (Role/Group), Fields, BCS Entities
SharePoint Saturday Belgium 2017 • October 21 • Brussels
DEMO
SharePoint Webhooks
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Provisioning of Artifacts
• Are you in Modern Sites?
• Use Remote Provisioning
• Be aware of some limitations due to the “noscript” flag
• Use SPFx provisioning when it’s related to client-side web parts
• I don’t like it (just to be clear …) but still …
• Are you in Classic Sites or on-premises?
• Use Remote Provisioning
SharePoint Saturday Belgium 2017 • October 21 • Brussels
DEMO
Remote Provisioning of Artifacts
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Timer Jobs
• The Remote Timer Jobs are a very good replacement
• Can be Azure WebJobs or Azure Functions
• More in general can be any application using REST/CSOM remotely
• You can leverage the Remote Timer Job Framework
• Available in the PnP Core Library
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Workflows
• Get rid of SP2010 workflows based on WF 3.x
• Use Flow/PowerApps
• If they satisfy your functional requirements
• They are available both on Classic and Modern sites …
• Or create Workflow Manager workflows
• Provision any custom action via markup-only sandboxed solutions
• Or even better using Remote Provisioning (more support has yet to come …)
• Provision workflows using
• SharePoint Add-Ins
• Remote Provisioning (a PnP “solution” will come …)
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Wrap up
• SPFx and the SharePoint Add-In Model are not competing
• Actually, right now they are somehow complementary
• You should consider Office 365 Applications, too
• Mind the «noscript» flag of Modern Sites
• Classic sites can benefit of SPFx in classic pages, too
• And you have the modern UI for lists and libraries
• Leverage the Microsoft Graph API
• To benefit of the full Office 365 ecosystem
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Suggested links
• http://aka.ms/SharePointPnP
• http://dev.office.com/sharepoint
• https://msdn.microsoft.com/en-us/pnp_articles/modern-experience-
customizations-provisioning-sites
• https://msdn.microsoft.com/en-us/pnp_articles/modern-experience-
customizations-customize-sites
• https://msdn.microsoft.com/en-us/pnp_articles/modern-experience-
customizations-customize-lists-and-libraries
• https://msdn.microsoft.com/en-us/pnp_articles/modern-experience-
customizations-customize-pages
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Q&A
If time permits …
SharePoint Saturday Belgium 2017 • October 21 • Brussels
Thank You!
Feedback
http://spsbe.be

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure Functions
BIWUG
 
PowerApps and Flow, one year later
PowerApps and Flow, one year laterPowerApps and Flow, one year later
PowerApps and Flow, one year later
BIWUG
 
Let's do PowerBi - Together
Let's do PowerBi - TogetherLet's do PowerBi - Together
Let's do PowerBi - Together
BIWUG
 
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
BIWUG
 
Building the Perfect Office 365 Tenant
Building the Perfect Office 365 TenantBuilding the Perfect Office 365 Tenant
Building the Perfect Office 365 Tenant
BIWUG
 
Office365 and SharePoint
Office365 and SharePointOffice365 and SharePoint
Office365 and SharePoint
Hobie Henning
 

Was ist angesagt? (20)

Use PowerShell superpower to tame your Office 365
Use PowerShell superpower to tame your Office 365Use PowerShell superpower to tame your Office 365
Use PowerShell superpower to tame your Office 365
 
Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure Functions
 
PowerApps and Flow, one year later
PowerApps and Flow, one year laterPowerApps and Flow, one year later
PowerApps and Flow, one year later
 
Let's do PowerBi - Together
Let's do PowerBi - TogetherLet's do PowerBi - Together
Let's do PowerBi - Together
 
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
 
Building the Perfect Office 365 Tenant
Building the Perfect Office 365 TenantBuilding the Perfect Office 365 Tenant
Building the Perfect Office 365 Tenant
 
SPSBE - Microsoft Teams Deep Dive
SPSBE - Microsoft Teams Deep DiveSPSBE - Microsoft Teams Deep Dive
SPSBE - Microsoft Teams Deep Dive
 
SPS Brussels 2017
SPS Brussels 2017SPS Brussels 2017
SPS Brussels 2017
 
Microsoft Flow Advanced : tips, pitfalls, problems to be known before staring...
Microsoft Flow Advanced : tips, pitfalls, problems to be known before staring...Microsoft Flow Advanced : tips, pitfalls, problems to be known before staring...
Microsoft Flow Advanced : tips, pitfalls, problems to be known before staring...
 
When Windows Apps meet SharePoint
When Windows Apps meet SharePointWhen Windows Apps meet SharePoint
When Windows Apps meet SharePoint
 
O365Engage17 - The Latest and Greatest on Hybrid Exchange
O365Engage17 - The Latest and Greatest on Hybrid ExchangeO365Engage17 - The Latest and Greatest on Hybrid Exchange
O365Engage17 - The Latest and Greatest on Hybrid Exchange
 
SharePoint Saturday Belgium 2016
SharePoint Saturday Belgium 2016SharePoint Saturday Belgium 2016
SharePoint Saturday Belgium 2016
 
Enhance your Javascript with Typescript - FĂŠlix Billon
Enhance your Javascript with Typescript - FĂŠlix BillonEnhance your Javascript with Typescript - FĂŠlix Billon
Enhance your Javascript with Typescript - FĂŠlix Billon
 
Trivadis TechEvent 2017 Office365@tvd IT News by Trivadis IT
Trivadis TechEvent 2017 Office365@tvd IT News by Trivadis ITTrivadis TechEvent 2017 Office365@tvd IT News by Trivadis IT
Trivadis TechEvent 2017 Office365@tvd IT News by Trivadis IT
 
O365Engage17 - Working With OneDrive for Business
O365Engage17 - Working With OneDrive for BusinessO365Engage17 - Working With OneDrive for Business
O365Engage17 - Working With OneDrive for Business
 
bright box professional services for software development
bright box professional services for software developmentbright box professional services for software development
bright box professional services for software development
 
Office365 and SharePoint
Office365 and SharePointOffice365 and SharePoint
Office365 and SharePoint
 
Alfresco Day Amsterdam 2015, Technical Track - Doing more with Activiti
Alfresco Day Amsterdam 2015, Technical Track - Doing more with ActivitiAlfresco Day Amsterdam 2015, Technical Track - Doing more with Activiti
Alfresco Day Amsterdam 2015, Technical Track - Doing more with Activiti
 
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
 
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
 

Andere mochten auch

Office 365, Practical Adoption Strategies
Office 365, Practical Adoption StrategiesOffice 365, Practical Adoption Strategies
Office 365, Practical Adoption Strategies
BIWUG
 

Andere mochten auch (7)

Biwug 230217 choices_incollaboration - An Lenders
Biwug 230217 choices_incollaboration - An LendersBiwug 230217 choices_incollaboration - An Lenders
Biwug 230217 choices_incollaboration - An Lenders
 
Manual uso slideshare
Manual uso slideshareManual uso slideshare
Manual uso slideshare
 
One size doesn’t fit all – The left dimension
One size doesn’t fit all – The left dimensionOne size doesn’t fit all – The left dimension
One size doesn’t fit all – The left dimension
 
Office 365, Practical Adoption Strategies
Office 365, Practical Adoption StrategiesOffice 365, Practical Adoption Strategies
Office 365, Practical Adoption Strategies
 
Microsoft Flow Advanced: tips, pitfalls, problems
Microsoft Flow Advanced: tips, pitfalls, problemsMicrosoft Flow Advanced: tips, pitfalls, problems
Microsoft Flow Advanced: tips, pitfalls, problems
 
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
 
Slideshare
SlideshareSlideshare
Slideshare
 

Ähnlich wie Upgrading from Full Trust Code to Add-In Model and SharePoint Framework

Ähnlich wie Upgrading from Full Trust Code to Add-In Model and SharePoint Framework (20)

Building the Perfect Office 365 Tenant - SharePoint Saturday Belgium 2017 #SPSBE
Building the Perfect Office 365 Tenant - SharePoint Saturday Belgium 2017 #SPSBEBuilding the Perfect Office 365 Tenant - SharePoint Saturday Belgium 2017 #SPSBE
Building the Perfect Office 365 Tenant - SharePoint Saturday Belgium 2017 #SPSBE
 
SharePoint Saturday Belgium 2017 - The Business and end-user guide into the n...
SharePoint Saturday Belgium 2017 - The Business and end-user guide into the n...SharePoint Saturday Belgium 2017 - The Business and end-user guide into the n...
SharePoint Saturday Belgium 2017 - The Business and end-user guide into the n...
 
2018 12-06 SharePoint - the new era of provisioning
2018 12-06 SharePoint - the new era of provisioning2018 12-06 SharePoint - the new era of provisioning
2018 12-06 SharePoint - the new era of provisioning
 
SharePoint and javascript – modern development
SharePoint and javascript – modern developmentSharePoint and javascript – modern development
SharePoint and javascript – modern development
 
SharePoint et Javascript - Modern development - Yannick Plenevaux - Christoph...
SharePoint et Javascript - Modern development - Yannick Plenevaux - Christoph...SharePoint et Javascript - Modern development - Yannick Plenevaux - Christoph...
SharePoint et Javascript - Modern development - Yannick Plenevaux - Christoph...
 
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
 
Power Users Guide to Office 365 - SharePoint Saturday Belgium 2016 #spsbe
Power Users Guide to Office 365 - SharePoint Saturday Belgium 2016 #spsbePower Users Guide to Office 365 - SharePoint Saturday Belgium 2016 #spsbe
Power Users Guide to Office 365 - SharePoint Saturday Belgium 2016 #spsbe
 
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
 
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 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
 
O365: Attack of the Clones
O365: Attack of the ClonesO365: Attack of the Clones
O365: Attack of the Clones
 
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 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
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
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
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint 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
 
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
 

Mehr von BIWUG

Mehr von BIWUG (20)

Biwug20190425
Biwug20190425Biwug20190425
Biwug20190425
 
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Working with PowerShell, Visual Studio Code and Github for the reluctant IT ProWorking with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
 
Global Office 365 Developer Bootcamp
Global Office 365 Developer BootcampGlobal Office 365 Developer Bootcamp
Global Office 365 Developer Bootcamp
 
Deep dive into advanced teams development
Deep dive into advanced teams developmentDeep dive into advanced teams development
Deep dive into advanced teams development
 
SharePoint wizards - no magic needed, just use Microsoft Flow
SharePoint wizards - no magic needed, just use Microsoft FlowSharePoint wizards - no magic needed, just use Microsoft Flow
SharePoint wizards - no magic needed, just use Microsoft Flow
 
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professionalMake IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
 
Modern collaboration in teams and projects with Microsoft 365
Modern collaboration in teams and projects with Microsoft 365Modern collaboration in teams and projects with Microsoft 365
Modern collaboration in teams and projects with Microsoft 365
 
Mining SharePoint data with PowerBI
Mining SharePoint data with PowerBIMining SharePoint data with PowerBI
Mining SharePoint data with PowerBI
 
Don't simply deploy, transform! Build your digital workplace in Office 365
Don't simply deploy, transform! Build your digital workplace in Office 365Don't simply deploy, transform! Build your digital workplace in Office 365
Don't simply deploy, transform! Build your digital workplace in Office 365
 
Connect SharePoint Framework solutions to APIs secured with Azure AD
Connect SharePoint Framework solutions to APIs secured with Azure ADConnect SharePoint Framework solutions to APIs secured with Azure AD
Connect SharePoint Framework solutions to APIs secured with Azure AD
 
Cloud First. Be Prepared
Cloud First. Be PreparedCloud First. Be Prepared
Cloud First. Be Prepared
 
APIs, APIs Everywhere!
APIs, APIs Everywhere!APIs, APIs Everywhere!
APIs, APIs Everywhere!
 
Advanced PowerShell for Office 365
Advanced PowerShell for Office 365Advanced PowerShell for Office 365
Advanced PowerShell for Office 365
 
New era of customizing site provisioning
New era of customizing site provisioningNew era of customizing site provisioning
New era of customizing site provisioning
 
Understanding SharePoint Framework Extensions
Understanding SharePoint Framework ExtensionsUnderstanding SharePoint Framework Extensions
Understanding SharePoint Framework Extensions
 
Microsoft Flow in Real World Projects: 2 Years later & What's next
Microsoft Flow in Real World Projects: 2 Years later & What's nextMicrosoft Flow in Real World Projects: 2 Years later & What's next
Microsoft Flow in Real World Projects: 2 Years later & What's next
 
Microsoft Stream - Your enterprise video portal unleashed
Microsoft Stream - Your enterprise video portal unleashedMicrosoft Stream - Your enterprise video portal unleashed
Microsoft Stream - Your enterprise video portal unleashed
 
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
 
Why you shouldn't probably care about Machine Learning
Why you shouldn't probably care about Machine LearningWhy you shouldn't probably care about Machine Learning
Why you shouldn't probably care about Machine Learning
 
Transforming your classic team sites in group connected team sites
Transforming your classic team sites in group connected team sitesTransforming your classic team sites in group connected team sites
Transforming your classic team sites in group connected team sites
 

KĂźrzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+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@
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

KĂźrzlich hochgeladen (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
+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...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Upgrading from Full Trust Code to Add-In Model and SharePoint Framework

  • 1. SharePoint Saturday Belgium 2017 • October 21 • Brussels Track: DEV | Level: 300 Upgrading from Full Trust Code to Add-in Model and SharePoint Framework Paolo Pialorsi - @PaoloPia Senior Consultant - PiaSys.com
  • 3. SharePoint Saturday Belgium 2017 • October 21 • Brussels About me • Project Manager, Consultant, Trainer • About 50 Microsoft certification exams passed • MCSM – Charter SharePoint • MVP Office Servers and Services • SharePoint & Office 365 Dev PnP Core Team Member • Focused on SharePoint and Office 365 since the beginning • Author of many books about XML, SOAP, .NET, LINQ, SharePoint, and Office 365 • Speaker at main IT conferences
  • 4. SharePoint Saturday Belgium 2017 • October 21 • Brussels Agenda • Where do we come from? • Migrating and upgrading customizations • Common migration patterns • Q&A (if time permits…)
  • 5. SharePoint Saturday Belgium 2017 • October 21 • Brussels Where do we come from?
  • 6. SharePoint Saturday Belgium 2017 • October 21 • Brussels A Brief History of SharePoint Development Farm solutions  Full trust solutions  File system access  GAC deploy  14 hive access  .NET managed code  Inherited from SP2007 Sandbox solutions  Partially trusted code  Limited API  .NET managed code  No access to file system  No calls to services Add-In Model  New model app-oriented  Deployed from corporate catalog or Office Marketplace  Based on web standards  No code with server object mode! Solutions Model Add-In model SP2010 SP2013/SP2016 SharePoint Framework  New model for client-side development  Client-side Web Parts  Extensions  Based on web stack  TypeScript/JS  REST API Client-side model SPO (and partially SP2016 FP2)
  • 7. SharePoint Saturday Belgium 2017 • October 21 • Brussels Web Parts Extensions Client side Tools SP APIs Package Deployment Experiences Development SharePoint Online Modern Development Stack CSOM Add-ins MS Graph
  • 8. SharePoint Saturday Belgium 2017 • October 21 • Brussels It’s not all about SharePoint • In Office 365 and in hybrid topologies there is a cooler option • Office 365 Applications/Azure AD Applications • Register the application in Azure AD • Access the full Office 365 ecosystem of services • Using the Microsoft Graph API • Or the ÂŤoldÂť REST API on a per-service basis • You can still have full access to SPO via REST/CSOM • And few new capabilities using the Microsoft Graph
  • 9. SharePoint Saturday Belgium 2017 • October 21 • Brussels Nowdays available development options • SharePoint 2013/2016 on-premises • SharePoint Add-In model • SharePoint Framework client-side Web Parts (SP2016 FP2 only) • SharePoint Online • SharePoint Add-In model • SharePoint Framework • Office 365 Application (aka Azure AD Application) • Keep in mind hybrid topologies …
  • 10. SharePoint Saturday Belgium 2017 • October 21 • Brussels Migrating and Upgrading Customisations
  • 11. SharePoint Saturday Belgium 2017 • October 21 • Brussels Steps to Upgrade/Migrate • Assess existing solutions • Information Architecture • Provisoned sites and content • Data repositories • Analyze any new requirement • Leverage the upgrade/migration to improve your solutions • Upgrade/migrate on a step-by-step basis • Choose the right development tool/architecture • Migrate the Information Architecture • Migrate the project based on the requirements
  • 12. SharePoint Saturday Belgium 2017 • October 21 • Brussels Are There Migration Paths? • Well … no, ehm yes, or maybe  … • You shouldn’t compare FTC/Sandbox with Add-In/SPFx as 1:1 • They have different goals and satisfy somehow different needs • But you should be able to do what is really needed to do • Or what Microsoft assumes that should be done  • Let’s see some common examples and migration patterns …
  • 13. SharePoint Saturday Belgium 2017 • October 21 • Brussels Web Parts • Are you in Modern Sites/Pages? • SPFx Client Side Web Parts • Are you in Classic Sites/Pages or on-premises? • SPFx Client Side Web Parts (still) • Custom JavaScript code (client-side rendering) • Script Editor Web Part (JS injection) • User Custom Actions (JS embedding) • Try to avoid App Parts of the Add-In Model • Live and let die  …
  • 14. SharePoint Saturday Belgium 2017 • October 21 • Brussels DEMO Client-side Web Parts
  • 15. SharePoint Saturday Belgium 2017 • October 21 • Brussels Custom Pages • Are you in Modern Sites/Pages? • Modern Pages + SPFx Client-side Web Parts • Full Page Apps with Add-In Model • Office 365 Applications (eventually hybrid for on-premises) • Are you in Classic Sites/Pages or on-premises? • Classic Pages + SPFx Client-side Web Parts • Full Page Apps with Add-In Model • Office 365 Applications (eventually hybrid for on-premises) • User Custom Actions (JS embedding) with “blank” pages
  • 16. SharePoint Saturday Belgium 2017 • October 21 • Brussels Custom Actions • Are you in Modern Sites? • SharePoint Framework Extensions • Application Customizers • Command Sets • Are you in modern lists/libraries in Classic Sites? • Few UI Custom Actions (ECB and Ribbon) menu items? • But without any JavaScript embedding or ScriptLink/ScriptBlock • Are you in Classic Sites or on-premises? • Custom Actions via SharePoint Add-In Model • Custom Actions via Office 365 Application (eventually hybrid for on-premises)
  • 17. SharePoint Saturday Belgium 2017 • October 21 • Brussels DEMO SharePoint Framework Extensions
  • 18. SharePoint Saturday Belgium 2017 • October 21 • Brussels JSLink and List Views Customizations • Are you in Modern Sites? • SharePoint Framework Extensions • Field Customizers • Are you in Classic Sites or on-premises? • Use CSOM and apply the JSLink remotely • Use Remote Provisioning (PnP? What else? ) • Inject via Office 365 Application (eventually hybrid for on-premises)
  • 19. SharePoint Saturday Belgium 2017 • October 21 • Brussels Event Receivers • Use SharePoint Webhooks (in SPO only) • To be open to any development platform • To have a guaranteed delivery model • To trap events related to lists and libraries (only, so far …) • To be fully asynchronous • Use Remote Event Receivers, instead • If you’re on-premises • Or if you like to use .NET and WCF • There’s no guaranteed delivery of events • If you need kind of events other than lists and libraries (in SPO, too) • Sites/Web, Permissions, Security (Role/Group), Fields, BCS Entities
  • 20. SharePoint Saturday Belgium 2017 • October 21 • Brussels DEMO SharePoint Webhooks
  • 21. SharePoint Saturday Belgium 2017 • October 21 • Brussels Provisioning of Artifacts • Are you in Modern Sites? • Use Remote Provisioning • Be aware of some limitations due to the “noscript” flag • Use SPFx provisioning when it’s related to client-side web parts • I don’t like it (just to be clear …) but still … • Are you in Classic Sites or on-premises? • Use Remote Provisioning
  • 22. SharePoint Saturday Belgium 2017 • October 21 • Brussels DEMO Remote Provisioning of Artifacts
  • 23. SharePoint Saturday Belgium 2017 • October 21 • Brussels Timer Jobs • The Remote Timer Jobs are a very good replacement • Can be Azure WebJobs or Azure Functions • More in general can be any application using REST/CSOM remotely • You can leverage the Remote Timer Job Framework • Available in the PnP Core Library
  • 24. SharePoint Saturday Belgium 2017 • October 21 • Brussels Workflows • Get rid of SP2010 workflows based on WF 3.x • Use Flow/PowerApps • If they satisfy your functional requirements • They are available both on Classic and Modern sites … • Or create Workflow Manager workflows • Provision any custom action via markup-only sandboxed solutions • Or even better using Remote Provisioning (more support has yet to come …) • Provision workflows using • SharePoint Add-Ins • Remote Provisioning (a PnP “solution” will come …)
  • 25. SharePoint Saturday Belgium 2017 • October 21 • Brussels Wrap up • SPFx and the SharePoint Add-In Model are not competing • Actually, right now they are somehow complementary • You should consider Office 365 Applications, too • Mind the ÂŤnoscriptÂť flag of Modern Sites • Classic sites can benefit of SPFx in classic pages, too • And you have the modern UI for lists and libraries • Leverage the Microsoft Graph API • To benefit of the full Office 365 ecosystem
  • 26. SharePoint Saturday Belgium 2017 • October 21 • Brussels Suggested links • http://aka.ms/SharePointPnP • http://dev.office.com/sharepoint • https://msdn.microsoft.com/en-us/pnp_articles/modern-experience- customizations-provisioning-sites • https://msdn.microsoft.com/en-us/pnp_articles/modern-experience- customizations-customize-sites • https://msdn.microsoft.com/en-us/pnp_articles/modern-experience- customizations-customize-lists-and-libraries • https://msdn.microsoft.com/en-us/pnp_articles/modern-experience- customizations-customize-pages
  • 27. SharePoint Saturday Belgium 2017 • October 21 • Brussels Q&A If time permits …
  • 28. SharePoint Saturday Belgium 2017 • October 21 • Brussels Thank You!

Hinweis der Redaktion

  1. C:\github\sp-dev-samples\Samples\WebHooks.List https://officedevpnp.sharepoint.com/sites/webhookdemo/
  2. C:\OneDrive\Work\DevLeap-Eventi\SPS-Belgium-2017\SPSBE2017-Provisioning-Demo.ps1