This document provides tips and guidance for upgrading a Kentico CMS site from version 7 to version 8. It discusses preparing the site for upgrade by checking in code, backing up the database, and inventorying custom code. Various tools are described to help with the upgrade process, including the Code Upgrade Tool to identify issues. Potential troubleshooting topics are also covered such as handling incomplete upgrades, SQL timeouts, and broken design tabs. The overall recommendation is to upgrade in stages and test at each step.
4. Tips: Prepare your Upgrade
Planning Your Upgrade
Downtime
Development effort
New UI
Site administrators
End Users
Communication
Convert custom code to native?
Version 7 hotfix version?
Separate online marketing database?
Azure site?
5. Tips: Prep your Kentico Site
• Check-In all your work
• Review Event Log for no existing errors
• Return Virtual Objects to the Database
• Back up you Database and Code
6. Tips: Review your Situation
• Inventory Custom Code
• Place custom C# inside of regions
<%-- #region Name --%>
private void GreatestFunctionEver()
{
//throw NotImplementedException();
}
<%-- #endregion --%>
7. Tips: One step at a time
5.0 5.5 5.5 R2 6.0 7.0 8.0 8.1
There’s no shortcuts
12. Tools: Code Upgrade Tool III
• Common Issues with API
• Class method CMS.xxxxxx was removed. You can use method CMS.xxxxxx instead.
• Follow instructions as is, find and replace
• CMSContext.xxxxxx no longer exists
• CMSContext was split into multiple context objects to increase performance and reduce
dependency
EcommerceContext
DocumentContext
PortalContext
MembershipContext
• Avoid False Positives
For customized Kentico files, the tool reports all detected issues, including the default Kentico 7 code.
To analyze only the code placed inside the regions, run the tool with an additional parameter: -
customregion=<regionName>
16. Tips: Don’t Run Vanilla (8.0.0)
Right after the upgrade
is a great time to hotfix
17. Tips: Upgrade Custom Class Registrations
• 7.0 custom classes for custom objects are different in 8.0
• Modules
• Scheduled Tasks
• Workflow Actions
• Integration Connectors
• http://www.mcbeev.com/Blog/May-2014/Registering-Custom-
Classes-in-Kentico-8-Has-Never-Been-Easier
18. Troubleshoot: Incomplete Upgrade
• After running Upgrade_7_0_8_0 exe, not all dll files in bin
were updated correctly.
• Windows 7 Users don’t forget to un block the upgrade download
• Also make sure you close Visual Studio before running the upgrade
package. You don't need to have the site running at the time of
upgrade.
21. Troubleshoot: SQL Timeout
• As it turns out the ConnectionTimeout variable is used from
your web.config file.
• Up It!
• Manually run the SQL Script in SQL Management Studio to
avoid this timeout.
• Do perform a database restore if initial run of the script
errors.
Apparently when I downloaded the backup zip of my blog to my Windows 7 machine at home the download file was "blocked". After extracting the site that blocked flag was still on all of the dll files. So the installer was not able to remove / modify them. I ended up with a mix of 7.0 and 8.0 dll files in my solution. Not Good. After unblocking the zip file everything went fine.