Presentation is loading. Please wait.

Presentation is loading. Please wait.

Upgrading from Full Trust Code to Add-in Model and SharePoint Framework Paolo Pialorsi - @PaoloPia Senior Consultant - PiaSys.com Track: DEV | Level:

Similar presentations


Presentation on theme: "Upgrading from Full Trust Code to Add-in Model and SharePoint Framework Paolo Pialorsi - @PaoloPia Senior Consultant - PiaSys.com Track: DEV | Level:"— Presentation transcript:

1 Upgrading from Full Trust Code to Add-in Model and SharePoint Framework
Paolo Pialorsi Senior Consultant - PiaSys.com Track: DEV | Level: 300

2

3 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 Agenda Where do we come from? Migrating and upgrading customizations
Common migration patterns Q&A (if time permits…)

5 Where do we come from?

6 A Brief History of SharePoint Development
Farm solutions Sandbox solutions Add-In Model SharePoint Framework Full trust solutions File system access GAC deploy 14 hive access .NET managed code Inherited from SP2007 Partially trusted code Limited API .NET managed code No access to file system No calls to services New model app-oriented Deployed from corporate catalog or Office Marketplace Based on web standards No code with server object mode! New model for client-side development Client-side Web Parts Extensions Based on web stack TypeScript/JS REST API Solutions Model Add-In model Client-side model SP2010 SP2013/SP2016 SPO (and partially SP2016 FP2)

7 SharePoint Online Modern Development Stack
TechReady 23 7/30/ :48 AM SharePoint Online Modern Development Stack SharePoint Framework Provider Hosted Web Parts Extensions Add-ins Experiences MS Graph CSOM Client side Tools Package Deployment SP APIs Development © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

8 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 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 Framework Office 365 Application (aka Azure AD Application) Keep in mind hybrid topologies …

10 Migrating and Upgrading Customisations

11 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 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 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 DEMO Client-side Web Parts

15 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 User Custom Actions (JS embedding) with “blank” pages

16 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 DEMO SharePoint Framework Extensions

18 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 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 DEMO SharePoint Webhooks
C:\github\sp-dev-samples\Samples\WebHooks.List SharePoint Webhooks

21 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?

22 DEMO Remote Provisioning of Artifacts
C:\OneDrive\Work\DevLeap-Eventi\SPS-Belgium-2017\SPSBE2017-Provisioning-Demo.ps1 Remote Provisioning of Artifacts

23 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 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 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 Suggested links http://aka.ms/SharePointPnP
customizations-provisioning-sites customizations-customize-sites customizations-customize-lists-and-libraries customizations-customize-pages

27 Q&A If time permits …

28

29


Download ppt "Upgrading from Full Trust Code to Add-in Model and SharePoint Framework Paolo Pialorsi - @PaoloPia Senior Consultant - PiaSys.com Track: DEV | Level:"

Similar presentations


Ads by Google