Spca2014 mirjam van olst upgrading share point 2010 custom solutions to sharepoint 2013

Preview:

Citation preview

Upgrading SharePoint

2010 custom solutions

to SharePoint 2013Mirjam van Olst

Avanade

About me

http://sharepointchick.com

@mirjamvanolst

mirjam@outlook.com

http://www.diwug.nl/e-magazines

Upgrading SharePoint 2010 to SharePoint 2013

Agenda

Upgrading your custom solutions

Post-upgrade options

Upgrading SharePoint 2010 to SharePoint 2013

SharePoint 2010 to SharePoint 2013 upgrade

SharePoint 2010

farm

Create new

SharePoint 2013

farm

SharePoint 2010 to SharePoint 2013 upgrade

SharePoint 2010

farm

Create new

SharePoint 2013

farm

Install

customizations

SharePoint 2010 to SharePoint 2013 upgrade

SharePoint 2010

farm

Create new

SharePoint 2013

farm

Install

customizations

Test Content

Databases

Fix issues

•Large lists

•Missing

customizations

•…

SharePoint 2010 to SharePoint 2013 upgrade

SharePoint 2010

farm

Create new

SharePoint 2013

farm

Install

customizations

Test Content

Databases

Fix issues

•Large lists

•Missing

customizations

•…

Upgrade Service

Applications

SharePoint 2010 to SharePoint 2013 upgrade

SharePoint 2010

farm

Create new

SharePoint 2013

farm

Install

customizations

Test Content

Databases

Fix issues

•Large lists

•Missing

customizations

•…

Upgrade Service

Applications

Upgrade Content

Databases

SharePoint 2010 to SharePoint 2013 upgrade

SharePoint 2010

farm

Create new

SharePoint 2013

farm

Install

customizations

Test Content

Databases

Fix issues

•Large lists

•Missing

customizations

•…

Upgrade Service

Applications

Upgrade Content

Databases

Upgrade Site

Collections

What’s new in SharePoint 2013

Feature Feature Type

Apps Developer

Workflow Manager Developer

Host Named Site Collections as a best practice IT Pro

eDiscovery Content

Office Web Apps Content

WCM: A whole lot Content

Content by Search Web Part Search

Themes Sites

Discontinued features in SharePoint 2013

•Document Workspace

•Meeting Workspace

•Chart Web Part

•SharePoint Status Indicators

•Status Lists

• “Old Style” Web Analytics

Upgrading your custom solutions

SharePoint Development Past, present and future

SharePoint 2003

No practical development

options

JavaScript hacks

SharePoint 2007

Server side object model

No deployment mechanism

SharePoint 2010

Features and solutions framework

SharePoint Foundation client side object model

Sandboxed solutions

SharePoint 2013

Cloud App Model

SharePoint Server client side object

model

Sandboxed solutions partially deprecated

Sandboxed Solutions

Code behind == deprecatedStill works in SharePoint 2013

Declarative = fully supported

SharePoint 2010 to SharePoint 2013 upgrade

SharePoint 2010 farm

Web Server farm

SharePoint 2013 farm

Ap

plicatio

nU

pg

rad

ePath

SP2010 FTC SP2010 Sandbox

SP2010 FTC

SP2013 FTC (15) SP2013 FTC (14 & 15) SP2013 Sandbox

App Long term

Temp, short term

Medium term

SharePoint 2010 to SharePoint 2013 upgrade

Content (sites) not upgraded Content (sites) upgraded

Database schema upgraded

SharePoint 2010 solution (14 hive)

SharePoint 2013 solution (15 hive)

SharePoint 2013 solution (14 & 15 hive)

CAM solution

Upgrade solution to a SharePoint 2013 solution

Upgrading the Solution

Update all references to use SharePoint 2013 and .Net4.5 DLLs

While sites are in CompatMode, code needs to be in 14 and 15 hive

Never change, remove or rename a Feature, or change the ID of a Feature

Keep Calm & Be Consistent

Never change the class name or namespace of an Event Receiver

Never make changes to a List Schema file

Customization Installation

Install-SPSolution [-CompatibilityLevel "14,15"/14/15]

• Use CompatibilityLevel to control installation location

• Without CompatibilityLevel the solution’s

SharePointProductVersion value controls installation

location

SPSite.CompatibilityLevel

• Tracked on site collection

• All 2010 sites are CompatibilityLevel = 14

• All 2013 sites are CompatibilityLevel = 15

• Set during database upgrade or site creation

• Changed when site collection is upgraded

• Webs are always in the same compatibility mode as site

collection

SPWebApplication.CompatibilityRange

•Tracked on Web Application

• Defaults to 14,15

•Determines site collection creation modes

• Template picker choice for new site collection

Fall Back Mechanisms

• Features can be same or earlier CompatibilityLevel as site

collection

• Checks current CompatibilityLevel version directory first then legacy one

• ASPX redirector will redirect to .aspx page in _layouts directory

based on CompatibilityLevel of SPSite

• Update code to use the version-specific layouts folder instead of

hardcoding to either the 14 or 15 hive

• Site definitions do not fall back

• A missing site definition will block site collection upgrade

Paths and directoriesIIS Site

_controltemplates

15

_layouts

15

Web Server Extensions

15

14

TEMPLATES

CONTROLTEMPLATES

FEATURES

LAYOUTS

TEMPLATES

CONTROLTEMPLATES

FEATURES

LAYOUTS

This will break• Applications using custom Search queries

• Existing Search Results Page & Search Center URLs

• Custom Master Pages

• SPLongOperation

• Existing Ratings

• Saved Site Templates

• CAML Query “OR” constructions on large lists

This will change

• Links on the quick launch

• Client-side script throttling

• Video and Rich Media Content Types

• Inline Editing and new List View functionality

• Lists and Libraries on Quicklaunch

• Static Web Part IDs

Customization Security Changes

• 2013 does not support partially trusted code solutions

• BIN directory deployment is now full trust only

• Test existing partially trusted code solutions

Sandboxed solutions

•Upgraded as part of content database upgrade

•Test!

•Consider refactoring to get rid of code behind

Post upgrade options

Cloud App Model

• Allow for a development model on SharePoint Online• Increase options and flexibility

• Take custom SharePoint solutions away from the

SharePoint server• Increase SharePoint server stability

• Reduce support calls

• Decouple custom solutions and SharePoint versions

Refactoring AFTER upgrade

• Replace customizations with out of the box functionality

where possible

• Replace deprecated code and functionality

• Optionally replace full trust code with apps

• Carefully consider whether to update existing sites

Wrap up

Test your custom code for all compatibility levels

Plan your deployment

Very limited refactoring during upgrade

Clean up custom solutions post upgrade

Wrap Up - Guidance

Questions?

THANK YOU

THANK YOU