Upload
nccomms
View
168
Download
0
Embed Size (px)
Citation preview
Upgrading SharePoint
2010 custom solutions
to SharePoint 2013Mirjam van Olst
Avanade
About me
http://sharepointchick.com
@mirjamvanolst
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
Refactoring DURING upgrade
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