sharepoint connections coast to coast migrating sharepoint 2007 solutions to sharepoint 2010
DESCRIPTION
In the wake of the SharePoint 2010 release, many companies are now looking to migrate their web sites from SharePoint 2007 to 2010. However, where do you start? What are the new features that enable you to migrate your site? How do you work with your developers and administrators to help them get started? If these are the questions you’re trying to answer, then you’ll not want to miss this session. You’ll learn about the features, tools and processes that will help you move your 2007 assets to 2010.TRANSCRIPT
Migrating SharePoint 2007 Solutions to SharePoint Server 2010
Ivan SandersSharePoint MVP Developer, EvangelistDimension [email protected]
VSIX extensions
Agenda
• Upgrading VSeWSS projects
• Common upgrade issues for custom code● Issues you might run into during upgrade your code
• Managing your upgrade process● What to consider during upgrade planning for your
customizations
VSEWSS PROJECT UPGRADES
How to upgrade VSeWSS projects?
Upgrade tool for VSeWSS
• VS.NET Template that allow for importing of existing VSeWSS projects● VB and C#● VSeWSS 1.1 and up
• Converts projects to Visual Studio 2010 format and maintains existing project layout
• Availability ● Released after RTM
Overview
• Template “Import VSeWSS Project”• Supports Full trust and sandbox solutions
http://almspecialisttoolkit.codeplex.com/http://almspecialisttoolkit.codeplex.com/http://almspecialisttoolkit.codeplex.com/
Before & AfterVSEWSS WSP View
Visual Studio 2010 Packaging Explorer
VSeWSS upgrade
demo
Project Refactoring• Console/WinForms Applications
● Build as x64, .Net 3.5 SP1● Fix-up references
• VS 2008/2005 Projects● Import WSP● Refactor● Add non-packaged files (source code, BDC, docs,
scripts)● Fix-up references● Add additional support/related projects
Refactoring Solutions• VSeWSS had 1:1 Feature:artifact• VS2010 is more flexible• Feature Designer
● Add/Remove SharePoint Artifacts into features• From other projects in solution
● Feature Rename, Add, Remove and Delete• Packaging Explorer
● Add/Remove Features from WSP ● Add/Remove custom assemblies
Refactoring Your WSPRefactored
(multiple artifacts / feature)Original
(1 artifacts for 1 feature)
CKS: Development ToolsServer Explorer
With CKS ExtensionsServer Explorer
Default
refactor solutions
demo
UPGRADE ISSUESCommon issues you might run into
Upgrade Issues
• Site templates - STP Files• UI Changes
● CSS● Custom Actions● Backwards Compatible UI
• Large List Query Throttling• Deprecated API’s• Deployment Path issues• Project Refactoring• Other issues
Create V3 site
Upgrade to V4
Fix any Issues
Save as Template
Upgrading site templates
• Site template file format is not anymore STP● Need to be converted to solution packages
STP Template
.WSP
Backwards Compatible UI
( Configurable on a site by site basis )
V3 UI
V4 Development
V4 UIV3 UI Mode
ToolbarsV3 CSSV3 Themes
No Interactive calendarsNo In-Place Wiki editsNo Ribbon
SP2007 SP2010
Site Collection Options• Site Settings
> Site Collection Administration
> Supported User Experiences
Site Options
• Site Settings
> Title, Description & Appearance (in V3 UI Mode)
intranet upgrade
demo
Object Model Options
• Web Level● SPWeb.UIVersion (int values of 3 or 4)
• Site Collection● SPSite.UIVersionConfigurationEnabled● “Preview Mode” if in V4 and
UIVersionConfigurationEnabled==true
Versioned Controls
• Allows for rendering of version specific content.
• During Render
• At Load Time – handles child controls properly
CSS Changes
• What has changed in SharePoint CSS?● Almost everything!
• Any customizations that depend on V3 CSS such as master pages will need to be redesigned to work correctly in V4.
Rendering based on XHTML WCAG 2.0 AA level compliant
Custom Actions• No more toolbars in V4 UI Mode• Toolbar actions are moved
• Moved to Custom Commands on the ribbon.• It is possible to show ribbon and toolbar by
modifying the list form web part properties.
Actions with code behind(ControlAssembly, ControlClass, or ControlSrc attribute) don’t migrate to Custom Commands tab.
Upgrading master pages
1. Remove unnecessary controls, which are replaced with ribbon● Publishing Console, Site actions, sign in and log-in controls
2. Add new place holders● PlaceHolderQuickLaunchTop,
PlaceHolderQuickLaunchBottom
3. Add the Ribbon to page
4. Add additional controls to page● SPPageManager, ScriptManager, ScriptLink
5. Modify CSS classes based on your UI
Upgrading themes
• Old themes are not compatible with 2010● New themes files have to be created
• Old themes can be used with legacy UI rendering mode before upgrade to 2010 UI is done
Upgrade changed content
• If SharePoint Designer has been used to customize site content, changed files are in database, not in file system
• Two options● Reset the content to be in uncustomized state
and provide updates using Feature Framework● Use SPD to manually update the changed files
List view threshold
• Queries that return/touch large numberof list items may fail.
• Thresholds are configurable through the Central Administration site.
Large List Considerations
• This can bite you• Need it to surface in Development
● Test as a non-admin user● Use realistic data volumes in development and
test servers• Refactor code to use ContentIterator, if
possible
Using Existing Code
• All SharePoint 2007 code in all processes will work without recompilation● Achieved by using machine level binding
redirections• Binding redirections will work also for any
custom code, which is not running under IIS
just the wsp
demo
Deprecated API's
• Numerous API’s have been deprecated. ● Recompile your application for 2010 and you will see
warnings for any affected API’s within your application.● Deprecated doesn’t always mean unsupported!● Only affect will be a compiler warning● Most API’s deprecated in 2007 are still in 2010● Microsoft will not invest in these API’s in the future and
will remove deprecated APIs after next version
Deprecated API's Examples
• SPFarm.Create● Message: Use the SPFarm.Create method
that takes a passphrase.• SPVirtualServer
● Message: Use SPWebApplication or SPIisSettings instead.
• Shared Service Provider Code in some level
Path and registry issues
• Path to the SharePoint Hive has changed● C:\Program Files\Common Files\Microsoft
Shared\Web Server Extension\14
• Custom code that references \12 should be updated
• Custom code references to 12 registry keys should be updated
Other Issues
• X86->x64 COM references (IID changes)• 3rd party dependencies• HttpModule/HttpHandler registration
changes for IIS7 integrated pipeline
Other issues (cont)
intranet upgrade
demo
Upgrade logging• More logging information available
● Actions conducted during psconfig upgrade are logged to dedicated logs
• Logs located in the ULS folder● Improved logging and seperate error log
• User interface on central administration application to view the upgrade actions● Provides additional information on the actions
MANAGING YOUR UPGRADE PROCESS
How to manage your upgrade process?
Upgrade process
• It’s much more than your customizations• Always use QA environments to verify the
process● Preruns and document the possible issues and
process to deploy● Virtualization provides excellent tools to move back to
previous state
Upgrade Cycle: OverviewLearn•Requirements/prerequisites
•Upgrade methods•Downtime mitigation•Common issues
Prepare•Document environment
•Manage customizations•Plan upgrade strategy•Make items upgradable
Test•Build test farms•Use real data
•Evaluate techniques•Find issues early
Implement•Build/upgrade farms•Deploy customizations•Minimize downtime•Monitor progress
Validate•Upgrade event failures•UI/UX issues•Data issues
Summary
• Upgrading VSeWSS project• Common upgrade issues for custom code
● Issues you might run into during upgrade your code
• Managing your upgrade process● What to consider during upgrade planning
• Know your Tools● Whats available for FREE● Whenh yoiu should buy
Your Feedback is Important
Please fill out a session evaluation form.
Thank you!
Ivan [email protected] http://twitter.com/iasandershttp://www.linkedin.com/in/iasanders
Who can you trust??
• Maurice Prather http://www.bluedoglimited.com/default.aspx • Andrew Connell http://www.andrewconnell.com/blog • Spence Harbar http://www.harbar.net • Heather Solomon http://www.heathersolomon.com/blog • Todd Klindt http://www.toddklindt.com/default.aspx• Todd Baginski http://www.toddbaginski.com/blog • Todd Bleeker http://bit.ly/edlSm5
Jan Tielens http://weblogs.asp.net/jan • Patrick Tisseghem http://www.u2u.info/Blogs/Patrick/default.aspx • Wictor Wilen http://www.wictorwilen.se • Ted Patisson http://blog.tedpattison.net/default.aspx • Lars Fastrup http://www.fastrup.net • Carsten Keutmann http://keutmann.blogspot.com• Keith Richie http://blog.krichie.com• Bill Baer http://blogs.technet.com/b/wbaer • Sahil Malik http://blah.winsmarts.com • Bil Simser http://weblogs.asp.net/bsimser
Codeplex – with Source Code• http://cksdev.codeplex.com • http://startermasterpages.codeplex.com • http://spm.codeplex.com • http://autospinstaller.codeplex.com • http://spsf.codeplex.com • http://slk.codeplex.com • http://smarttools.codeplex.com • http://spviewpermission.codeplex.com• http://bidshelper.codeplex.com • http://almspecialisttoolkit.codeplex.com
SharePoint 2010 Guidance
Book Buy Book
Downloads Developing Applications for SharePoint 2010 (includes the Help file [CHM], samples, and library source code)
Media
•Introduction to Developing Applications with SharePoint 2010 •SharePoint Server-side Data Access – Part 1 of 3: Introduction •SharePoint Server-side Data Access – Part 2 of 3: Related Lists •SharePoint Server-side Data Access – Part 3 of 3: Analyzing Generated CAML
Support Discussions for patterns & practices SharePoint Guidance
Training Hands-on labs
Community patterns & practices SharePoint Guidance Community Site
License Microsoft patterns & practices license September 2009
CKS DEV VSIX Extensions
WSPBuilder conversion tool (WCT) betaImproved Quick DeployKeyboard shortcutsUpdated Full Trust Proxy SPIRestart processes menusAttach to processes menusSolution level Package allImproved import Content Types
Branding SPIImproved Fluent visual web part SPIBasic service application SPIWCF service SPISharePoint PowerShell cmdlet SPISharePoint PowerShell pipe binding SPIImproved copy assembly name menu
20