SlideShare a Scribd company logo
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

More Related Content

What's hot

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
BIWUG
 
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
 
SPSBE - Microsoft Teams Deep Dive
SPSBE - Microsoft Teams Deep DiveSPSBE - Microsoft Teams Deep Dive
SPSBE - Microsoft Teams Deep Dive
Maarten Eekels
 
SPS Brussels 2017
SPS Brussels 2017SPS Brussels 2017
SPS Brussels 2017
Joëlle Ruelle
 
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...
serge luca
 
When Windows Apps meet SharePoint
When Windows Apps meet SharePointWhen Windows Apps meet SharePoint
When Windows Apps meet SharePoint
SPC Adriatics
 
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
NCCOMMS
 
SharePoint Saturday Belgium 2016
SharePoint Saturday Belgium 2016SharePoint Saturday Belgium 2016
SharePoint Saturday Belgium 2016
Rick Van Rousselt
 
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
aOS Community
 
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
Trivadis
 
O365Engage17 - Working With OneDrive for Business
O365Engage17 - Working With OneDrive for BusinessO365Engage17 - Working With OneDrive for Business
O365Engage17 - Working With OneDrive for Business
NCCOMMS
 
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
Innokenty Belotsky
 
Office365 and SharePoint
Office365 and SharePointOffice365 and SharePoint
Office365 and SharePointHobie Henning
 
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
Alfresco Software
 
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
Sébastien Levert
 
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
Sébastien Levert
 

What's hot (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
 

Viewers also liked

Biwug 230217 choices_incollaboration - An Lenders
Biwug 230217 choices_incollaboration - An LendersBiwug 230217 choices_incollaboration - An Lenders
Biwug 230217 choices_incollaboration - An Lenders
BIWUG
 
Manual uso slideshare
Manual uso slideshareManual uso slideshare
Manual uso slideshare
joselcardenas
 
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
BIWUG
 
Office 365, Practical Adoption Strategies
Office 365, Practical Adoption StrategiesOffice 365, Practical Adoption Strategies
Office 365, Practical Adoption Strategies
BIWUG
 
Microsoft Flow Advanced: tips, pitfalls, problems
Microsoft Flow Advanced: tips, pitfalls, problemsMicrosoft Flow Advanced: tips, pitfalls, problems
Microsoft Flow Advanced: tips, pitfalls, problems
BIWUG
 
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
Spsbepoelmanssharepointbigdataclean 150421080105-conversion-gate02
BIWUG
 
Slideshare
SlideshareSlideshare
Slideshare
al211226
 

Viewers also liked (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
 

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

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
Chirag Patel
 
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...
Jasper Oosterveld
 
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
Yannick Plenevaux
 
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 Community
 
SharePoint and javascript – modern development
SharePoint and javascript – modern developmentSharePoint and javascript – modern development
SharePoint and javascript – modern development
Yannick Plenevaux
 
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
Sébastien Levert
 
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
Sébastien Levert
 
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
Chirag Patel
 
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
Sébastien Levert
 
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
Sébastien Levert
 
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
Sébastien Levert
 
O365: Attack of the Clones
O365: Attack of the ClonesO365: Attack of the Clones
O365: Attack of the Clones
Christopher Johnson
 
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
Sébastien Levert
 
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
Sébastien Levert
 
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?
Talbott Crowell
 
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
Sébastien Levert
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint Development
Eric Overfield
 
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
Sébastien Levert
 
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
Sébastien Levert
 
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...
Rencore
 

Similar to 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 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...
 
SharePoint and javascript – modern development
SharePoint and javascript – modern developmentSharePoint and javascript – modern development
SharePoint and javascript – modern development
 
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...
 

More from BIWUG

Biwug20190425
Biwug20190425Biwug20190425
Biwug20190425
BIWUG
 
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
BIWUG
 
Global Office 365 Developer Bootcamp
Global Office 365 Developer BootcampGlobal Office 365 Developer Bootcamp
Global Office 365 Developer Bootcamp
BIWUG
 
Deep dive into advanced teams development
Deep dive into advanced teams developmentDeep dive into advanced teams development
Deep dive into advanced teams development
BIWUG
 
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
BIWUG
 
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
BIWUG
 
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
BIWUG
 
Mining SharePoint data with PowerBI
Mining SharePoint data with PowerBIMining SharePoint data with PowerBI
Mining SharePoint data with PowerBI
BIWUG
 
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
BIWUG
 
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
BIWUG
 
Cloud First. Be Prepared
Cloud First. Be PreparedCloud First. Be Prepared
Cloud First. Be Prepared
BIWUG
 
APIs, APIs Everywhere!
APIs, APIs Everywhere!APIs, APIs Everywhere!
APIs, APIs Everywhere!
BIWUG
 
Advanced PowerShell for Office 365
Advanced PowerShell for Office 365Advanced PowerShell for Office 365
Advanced PowerShell for Office 365
BIWUG
 
New era of customizing site provisioning
New era of customizing site provisioningNew era of customizing site provisioning
New era of customizing site provisioning
BIWUG
 
Understanding SharePoint Framework Extensions
Understanding SharePoint Framework ExtensionsUnderstanding SharePoint Framework Extensions
Understanding SharePoint Framework Extensions
BIWUG
 
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
BIWUG
 
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
BIWUG
 
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
BIWUG
 
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
BIWUG
 
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
BIWUG
 

More from 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
 

Recently uploaded

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 

Recently uploaded (20)

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 

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!

Editor's Notes

  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