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

Slides:



Advertisements
Similar presentations
SharePoint 2010 Client Side Object Model. Agenda Introduction The Problem Client side vs Server Side Client Side Object Model – How it works – What can.
Advertisements

Getting Started with SharePoint 2013 Apps
Design Solutions for a SharePoint in Flux. Agenda © 2014 Jamie McAllister.
Build /16/2017 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
Development models for on-premises Transformation approaches Farm solution considerations.
©2012 Microsoft Corporation. All rights reserved..
App development in SharePoint 2013 LIVE Introducing Cloud App Model Cloud-hosted Apps Experiences from the Field.
Office 365 Platform Flexible Tools Understand different provisioning options and their advantages and disadvantages…
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
Enabling Developers with Development Features Presented by: Ricardo Wilkins SharePoint Solutions Architect.
SharePoint Apps and the Architecture of the new Cloud App Model Introducing Cloud App Model Designing Apps SharePoint-hosted Apps Key Learnings.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Both Dutch and Swedish nationality 20+ years of industry experience Living in Stockholm, Sweden MCSM, MCM, MVP, MCSE, MCSD, MCSA, MCPD, MCITP, MCTS PnP.
Modern Development Technologies in SharePoint SHAREPOINT SATURDAY OMAHA APRIL, 2016.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Understanding and implementing the remote provision pattern in SharePoint.
Inspirirani ljudima. Ugasite mobitele. Hvala.. Paolo Pialorsi Senior Consultant PiaSys ( Publishing apps for SharePoint 2013 on Microsoft.
A Developer’s Introduction to SharePoint 2013 Apps Ryan McIntyre, MCITP, MCPD National
Ramping Up On The SharePoint Framework (SPFx)
Joy Rathnayake Senior Architect – Virtusa Pvt. Ltd.
From SharePoint to Office 365 Development
1/10/2018 9:33 PM Cloud Roadshow © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO.
SharePoint + CRM Saturday Zurich 2017
Demand Management and Workflow
Get an Introduction to the SharePoint Framework
5/9/2018 9:30 AM BRK2215 Deliver better experiences with SharePoint Patterns and Practices Community Solutions Mike Ammerlaan Product Marketing Manager,
Office 365 Developer Overview
Understanding SharePoint Framework Extensions
Let's build with SharePoint Web parts, extensions, and much more
Building Compliant Team Sites
What's new in the world of SharePoint development and deployment
About Bill Bill Baer (ˈbɛər)
SharePoint Development in the Enterprise (What's New, What's Coming)
6/1/2018 2:18 AM OSP302 Building Integrated Microsoft Office 365, SharePoint Online, and Office Solutions Using BCS and LOB Data Donovan Follette
Automate Custom Solutions Deployment on Office 365 and Azure
Microsoft Ignite /17/2018 4:41 AM BRK4016
Line of Business Solutions in SharePoint Online
SPC Developer 6/25/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Presented by Kenny Duenke and Patrick Witbrod
8/2/2018 4:49 AM Understanding the SharePoint Framework and how it affects your JavaScript customizations Mark Rackley / Chief Strategy.
Modern UI Extensions with the SharePoint Framework
0x - Lecture Title Andrew Connell, MVP
New Tricks for Old Dogs: The SharePoint Framework (SPFx)
Modern UI Extensions with the SharePoint Framework
Classic vs. modern SharePoint: What's the difference?
SharePoint Framework Extensions
SharePoint Online Development Best Practices
SPFx – A modern development tool for SharePoint
Introduction to SharePoint Framework (SPFx)
Understanding SharePoint Framework and Modern Development
SharePoint Online Management and Control
Transforming SharePoint Farm Solutions to the Add-in Model
The Future of SharePoint Development - Vision, Strategy, and Roadmap
Office 365 Development July 2014.
Developer Patterns to Integrate Silverlight 4.0 with SharePoint 2010
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework
Windows Azure Keenan Newton 3-021
Office 365 Development July 2014.
SharePoint Vladimir
03 | Site collection and site provisioning with app model
Getting Started with SP2013 Apps
SharePoint 2019 Overview and Use SPFx Extensions
2/27/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Microsoft Connect /28/2019 2:20 AM
SharePoint Development
Explore PnP Partner Pack for IT pros, admins and architects
Microsoft Dynamics.
PnP Partner Pack - Introduction
Azure DevOps Integration
Presentation transcript:

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

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

Agenda Where do we come from? Migrating and upgrading customizations Common migration patterns Q&A (if time permits…)

Where do we come from?

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)

SharePoint Online Modern Development Stack TechReady 23 7/30/2018 10: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.

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

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 …

Migrating and Upgrading Customisations

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

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 …

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  …

DEMO Client-side Web Parts

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

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)

DEMO SharePoint Framework Extensions

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)

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

DEMO SharePoint Webhooks C:\github\sp-dev-samples\Samples\WebHooks.List https://officedevpnp.sharepoint.com/sites/webhookdemo/ SharePoint Webhooks

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?

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

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

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 …)

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

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

Q&A If time permits …