37
Transforming SharePoint Farm Solutions to the App Model #SPSBE17 Matthias Einig, MVP April 18 th , 2015

Matthias einig transforming share point farm solutions to the app model

  • Upload
    biwug

  • View
    247

  • Download
    1

Embed Size (px)

Citation preview

Transforming SharePoint Farm Solutions to the App Model

#SPSBE17

Matthias Einig, MVP

April 18th, 2015

Pla

tin

um

Go

ldSilver

Thanks to our sponsors!

Who is that guy?

[email protected]

www.matthiaseinig.de

Matthias EinigCEO, SharePoint MVP

Stockholm, Sweden

Basics

Full Trust Code vs. “App”

Package/Application/Code that uses

• Server Side Object Model

• Declarative Code

• Infrastructure specific components (e.g. HTTP Handlers)

Package/Application/Code that uses

• Client Side Object Model / REST

• Could run with Office365

• Runs off the SharePoint box

“Will Farm Solutions be supported with SharePoint Server 2016”

We will make though investments mainly on the

app model side also for on-premises to better align

the development story: Write once and use it cross

cloud and on-premises

Yes.Vesa Juvonen, Microsoft

“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

Transforming your code

What is “Transformation”?

Transformation != Migration

What does transformation mean?

“look at what you have”

then

“implement from scratch”

while

”re-using concepts, patterns and data”

Why?

Why would you transform?

Moving from on-prem to Office365 or Hybrid

SharePoint version update

Changed / New Requirements

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

Maintenance problems caused by customizations

How?

Replace / gradually update

existing FTC components

Re-use

code / data structures / solution concepts/

integrations

How would you transform your code?

Major Changes

Major Changes

No SSOM, use CSOM/REST

Avoid Feature Framework

Avoid CAML (WebTemplates, Content Types, etc.)

Avoid MasterPages

Minimize Branding

Run code outside of SharePoint (Client, Provider)

Consider SharePoint/Office365 as a service

CAML == BAD

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

Reimagine!

Transformation != CopyPaste

Is SharePoint/Office365 now 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?

Process

Assessment

&

Planning

Development

&

Testing

DeploymentReadiness

The Transformation Process

App Model techniques• App Part

• Full Immersive app

• UI Custom Actions

• Remote Provisioning

Hosting• on-prem/Office365,

• Provider/SharePoint hosted

Readiness

“New” provisioning approaches

• Discuss existing solution with the business.

• Discuss the requirements with the business.

• Learn how the existing customization are used

• Decide what to keep, change and remove.

Assessment: Requirements

1. Understand what customizations you have.

2. Understand what they do.

3. Understand why you have them and if you need them.

4. Understand the impact they make on the environment.

5. Understand the involved effort to transform.

Assessment: Code

Demo

Gather insights Get Guidance

Open Source Analysis rules

• Analysis rules for MA

• Working together with the

community and MS

• Extensible

Contribute and earn

free

SPCAF Professional licenses

http://matte.in/SPCAFGitHub

Development

Office Pattern & Practices

https://github.com/OfficeDev/PnP

• Community project lead by Microsoft

• Core Library, PowerShell cmdlets, samples, reference implementations

• Approved by SharePoint product group

Deployment

In Place

Pros:

- Less customer impact

- Less hardware and tooling

require

- Can be performed with minimal

downtime

Cons:

- Harder to track progress

- Increased possibility of

“Orphans”

Swing

Pros:

- Total isolation from Production

- Clean environment

Cons:

- Increased hardware and tooling required

- Increased downtime for users

(eg. Content Migration)

Source: MVA Training

http://matte.in/MVATransform

1. Understand the target platform and technology

2. Understand the existing solution and requirements

3. Reimagine and plan the solution

4. Transform

5. Deploy and Migrate Content

Summary

SPCAF Migration Assessmenthttp://matte.in/SPCAFMigrate

MVA Traininghttp://matte.in/MVATransform

TechEd Europe Session http://matte.in/TTE2015Transform

OfficeDev Patterns & Practiceshttps://github.com/OfficeDev/PnP

Resources

questions?

[email protected]

@MATTEIN

thank you.