sharepoint customizations the most overlooked road block to … · 2017. 4. 11. · full trust code...

31
w: rencore.com | e: [email protected] | t: @rencoreab SharePoint Customizations The most overlooked road block to your migration

Upload: others

Post on 24-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

w: rencore.com | e: [email protected] | t: @rencoreab

SharePoint Customizations

The most overlooked road block

to your migration

Page 2: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Erwin van HunenProduct Owner - Transformation

MVP Office Servers and Services

Microsoft Certified Master

[email protected]

www.spcaf.com/blog

@erwinvanhunen

Page 3: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Basics

rencore.com

Page 4: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Full Trust Code vs. „App“ „Addin“

rencore.com

Package/Application/Code that

uses

• Server Side Object Model

• Declarative Code

• Infrastructure specific components

(e.g. HTTP Handlers)

• (Too?) High level of trust

Package/Application/Code that

uses

• Client Side Object Model / REST

• Runs with Office365

• Runs outside the SharePoint box

• Configurable, but complex level of

trust

Page 5: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Full Trust Code vs. SharePoint Framework

rencore.com

Package/Application/Code that

uses

• Server Side Object Model

• Declarative Code

• Infrastructure specific components

(e.g. HTTP Handlers)

• (Too?) High level of trust

Package/Application/Code that

uses

• Client Side Object Model / REST

• Based on JavaScript / TypeScript

• Not yet available for SP 2016

• Has the same rights as the user

running it

Page 6: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

“Will you ever support farm solutions in Office

365?”

Farm solutions are deployed cross SharePoint farm

and they’d impact multiple customers…

No.

Vesa Juvonen, Microsoft

Page 7: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

What is „Transformation“

rencore.com

Page 8: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

rencore.com

Page 9: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

rencore.com

Magic

Page 10: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

rencore.com

Page 11: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

What does Transformation mean?

rencore.com

• Look at what you have, then

• Implement from scratch, while

• Re-using concepts, patterns and data

Page 12: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Why would you Transform?

rencore.com

• Moving from on-prem to Office365 or Hybrid

• SharePoint version update

• To be 'future proof'

• Changed / New Requirements

• Cannot start on a greenfield (time, money, complexity)

• Maintenance problems caused by customizations

Page 13: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

How would you Transform your Code?

rencore.com

• Replace / gradually update

existing FTC components

• Re-use

code / data structures / solution concepts/ integrations

Page 14: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Major Changes

rencore.com

Page 15: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Major Changes

rencore.com

• No SSOM, use CSOM/REST/Graph

• Do not use the Feature Framework

• Avoid Declarative artifacts / CAML where possible (WebTemplates, Content Types, etc.)

• Do not use MasterPages

• Minimize Branding

• Approach SharePoint/Office365 as a service

• ”Modern” web development technologies (SPFx) instead of .NET

Page 16: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

CAML == BAD

rencore.com

Custom Web Template

onet.xml

X feature activations

onet.xml

X feature activations

onet.xml

X feature activations +2

onet.xml

X feature activations +4

onet.xml

X feature activations

onet.xml

X feature activations

<< Copy >>

Significant differences on the outcome unless web template

onet.xml has been updated cross site collections with the

changes which were also done for out of the box team site.

Web Template onet.xml is created by

copying team site onet.xml and by adding

stapled features to the onet.xml

Service updates for introducing new capabilities to

team sites also using feature stapling

Source: TEE2015 DEV-B308

http://matte.in/TTE2015Transform

Page 17: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Reimagine!

rencore.com

Page 18: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Transformation != CTRL + V

rencore.com

• Is SharePoint/Office365 providing already the

functionality?

• Does your solution benefit from the SharePoint UI?

• Are you relying on 3rd party systems?

• Does it have to be SharePoint?

• Are the business requirements still valid?

Page 19: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

The Transformation Process

rencore.com

Learn Plan & Track TransformAssess

Page 20: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Readiness

rencore.com

• Add-in Model techniques

• App Part

• Full Immersive app

• UI Custom Actions

• Remote Provisioning

• Client Parts / SPFx

• Hosting

• on-prem/Office365,

• Provider/SharePoint hosted

• Authentication

• On-prem AD or Azure AD?

Page 21: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

„New“ Provisioning Approaches

rencore.com

Page 22: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Code Assessment

rencore.com

• Understand which customizations you have

• Understand what they do

• Understand why you have them and if they are still

relevant

• Understand the impact they make on the environment

• Understand the involved effort to transform

Page 23: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Consider Authentication Carefully

rencore.com

• If you transform your solution to SharePoint Online:

• Do you have an on-prem AD?

• Do you use ADFS?

• Are you moving to Azure AD?

• Will you use Hybrid?

• Will you use explicit or implicit grant flow for authentication?

Page 24: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Development: Add-In Model

rencore.com

• Complex security

• Add-in security vs User security

• Limited ability to specify what the add-in wants to do

• Powerful: full access to C# / .NET ecosystem

• Rich APIs

• CSOM

• REST

• Microsoft Graph

Page 25: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Development: SharePoint Framework

rencore.com

• Not a replacement for Add-Ins but rather another option

• Simple security

• The solution users has the same rights as the user using it

• Powerful: access to the full JavaScript ecosystem

• Rich APIs

• JSOM

• REST

• Microsoft Graph

Page 26: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Deployment

rencore.com

FULL TRUST

•WSP files

• Full control over server

• Flexible

•With great power

comes great

responsibility

SANDBOX

•WSP files

•No control over server

• Less flexible

•With less power comes

great frustration

APPS / ADD-INs

•Still new to many

people

•Separate hosting

model

•Complex

authentication model

SPFx

•Still in preview

•Separate hosting

model

•Potentially very new

development model to

'traditional' SP Devs

Page 27: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Move to Remote Provisioning

rencore.com

• 'Roll your own'

• Complex, high maintenance

• Flexible and potentially build for the task

• Use the PnP Provisioning Engine

• Tested, pre-built

• Template approach

• Code approach

• Extensible

• Use the PnP Partner Pack

• Based upon the PnP Provisioning Engine

Page 28: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Resources

rencore.com

Office Pattern & Practices

• https://dev.office.com/pnp

• Community project lead by Microsoft

• Core Library, PowerShell cmdlets,

samples, reference implementations

• Endorsed by SharePoint product group

SharePoint Framework (SPFx)

• https://dev.office.com/sharepoint

• Additional development model

• Still in preview

Page 29: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

rencore.com

Rencore SP Transformatorwww.sptransformator.com

Page 30: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

Questions?

rencore.com

Page 31: SharePoint Customizations The most overlooked road block to … · 2017. 4. 11. · Full Trust Code vs. SharePoint Framework rencore.com Package/Application/Code that uses • Server

THANK YOU!

[email protected]

www.sptransformator.com/trial

@sptransformator