Top Banner
Transforming SharePoint Farm Solutions to the App Model #SPSBE17 Matthias Einig, MVP April 18 th , 2015
37
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Matthias einig   transforming share point farm solutions to the app model

Transforming SharePoint Farm Solutions to the App Model

#SPSBE17

Matthias Einig, MVP

April 18th, 2015

Page 2: Matthias einig   transforming share point farm solutions to the app model

Pla

tin

um

Go

ldSilver

Thanks to our sponsors!

Page 3: Matthias einig   transforming share point farm solutions to the app model

Who is that guy?

[email protected]

www.matthiaseinig.de

Matthias EinigCEO, SharePoint MVP

Stockholm, Sweden

Page 4: Matthias einig   transforming share point farm solutions to the app model

Basics

Page 5: Matthias einig   transforming share point farm solutions to the app model

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

Page 6: Matthias einig   transforming share point farm solutions to the app model

“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

Page 7: Matthias einig   transforming share point farm solutions to the app model

“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 8: Matthias einig   transforming share point farm solutions to the app model

Transforming your code

Page 9: Matthias einig   transforming share point farm solutions to the app model

What is “Transformation”?

Page 10: Matthias einig   transforming share point farm solutions to the app model
Page 11: Matthias einig   transforming share point farm solutions to the app model
Page 12: Matthias einig   transforming share point farm solutions to the app model

Transformation != Migration

Page 13: Matthias einig   transforming share point farm solutions to the app model

What does transformation mean?

“look at what you have”

then

“implement from scratch”

while

”re-using concepts, patterns and data”

Page 14: Matthias einig   transforming share point farm solutions to the app model

Why?

Page 15: Matthias einig   transforming share point farm solutions to the app model

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

Page 16: Matthias einig   transforming share point farm solutions to the app model

How?

Page 17: Matthias einig   transforming share point farm solutions to the app model

Replace / gradually update

existing FTC components

Re-use

code / data structures / solution concepts/

integrations

How would you transform your code?

Page 18: Matthias einig   transforming share point farm solutions to the app model

Major Changes

Page 19: Matthias einig   transforming share point farm solutions to the app model

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

Page 20: Matthias einig   transforming share point farm solutions to the app model

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

Page 21: Matthias einig   transforming share point farm solutions to the app model

Reimagine!

Page 22: Matthias einig   transforming share point farm solutions to the app model

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?

Page 23: Matthias einig   transforming share point farm solutions to the app model

Process

Page 24: Matthias einig   transforming share point farm solutions to the app model

Assessment

&

Planning

Development

&

Testing

DeploymentReadiness

The Transformation Process

Page 25: Matthias einig   transforming share point farm solutions to the app model

App Model techniques• App Part

• Full Immersive app

• UI Custom Actions

• Remote Provisioning

Hosting• on-prem/Office365,

• Provider/SharePoint hosted

Readiness

Page 26: Matthias einig   transforming share point farm solutions to the app model

“New” provisioning approaches

Page 27: Matthias einig   transforming share point farm solutions to the app model

• 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

Page 28: Matthias einig   transforming share point farm solutions to the app model

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

Page 29: Matthias einig   transforming share point farm solutions to the app model

Demo

Gather insights Get Guidance

Page 30: Matthias einig   transforming share point farm solutions to the app model

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

Page 31: Matthias einig   transforming share point farm solutions to the app model

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

Page 32: Matthias einig   transforming share point farm solutions to the app model

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

Page 33: Matthias einig   transforming share point farm solutions to the app model

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

Page 34: Matthias einig   transforming share point farm solutions to the app model

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

Page 35: Matthias einig   transforming share point farm solutions to the app model

questions?

[email protected]

@MATTEIN

Page 36: Matthias einig   transforming share point farm solutions to the app model

thank you.

Page 37: Matthias einig   transforming share point farm solutions to the app model