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

SharePoint Customizations The most overlooked …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SharePoint Customizations The most overlooked …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

Basics

rencore.com

Page 4: SharePoint Customizations The most overlooked …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

“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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

What is „Transformation“

rencore.com

Page 8: SharePoint Customizations The most overlooked …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

rencore.com

Page 9: SharePoint Customizations The most overlooked …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

rencore.com

Magic

Page 10: SharePoint Customizations The most overlooked …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

rencore.com

Page 11: SharePoint Customizations The most overlooked …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

Major Changes

rencore.com

Page 15: SharePoint Customizations The most overlooked …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

Reimagine!

rencore.com

Page 18: SharePoint Customizations The most overlooked …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

The Transformation Process

rencore.com

Learn Plan & Track TransformAssess

Page 20: SharePoint Customizations The most overlooked …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

„New“ Provisioning Approaches

rencore.com

Page 22: SharePoint Customizations The most overlooked …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

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 …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

rencore.com

Rencore SP Transformatorwww.sptransformator.com

Page 30: SharePoint Customizations The most overlooked …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

Questions?

rencore.com

Page 31: SharePoint Customizations The most overlooked …...• Runs outside the SharePoint box • Configurable, but complex level of trust Full Trust Code vs. SharePoint Framework rencore.com

THANK YOU!

[email protected]

www.sptransformator.com/trial

@sptransformator