Upgrading MitchelSellers.com - A DotNetNuke Upgrade Retrospective 

For those of you that are regular visitors to this site you most likely noticed a number of changes to the site over the past 24 hours, including a small amount of downtime.  This was caused by changes surrounding the upgrade of this site to DotNetNuke version 6.1.2.  Now, I have worked on a number of DotNetNuke upgrades over the years, and I lost count a few years back at about 300 upgrades.  This site was by-far one of the hardest upgrades that I have ever completed and in this post I will share a bit around the growing pains that were experiences throughout the process.

Starting Point

Before I get into the nitty-gritty specifics of how the upgrade process was less than "stellar" I want to give a quick overview of the modules, configuration, and DotNetNuke version involved PRIOR to the upgrade of the site.  This site was initially setup in September of 2006 and has only experienced limited upgrades to the DotNetNuke core.  I've talked about the reasoning behind the lack of upgrades in the past so I will not rehash that here.  Prior to the attempt of upgrading this site was running on DotNetNuke Version 4.9.5 and had been very stable.  From a third-party perspective there are actually very minimal modules installed, but there were a few key things that caused issues.  Below is the list of key items/configuration elements, some of which did not directly impact the upgrade.

  • Ventrian News Articles (Really, really old version)
  • Snapsis PageBlaster (Really, really old version)
  • Active Forums
  • iFinity Free URL Rewriting Module (Really old version)
  • Custom DNN Skin using Telerik RadMenu (Old version)
  • UrlRewriting.net www redirect module

Where the Problems Started

Going in to this upgrade I knew there were going to be problems as some items were known issues.  For example, older versions of the iFinity product needed to be replaced due to integration changes as well as the skin due to the inclusion of Telerik in DotNetNuke 5.3.x and later.

Before I even started the upgrade I reached out to a few people to get some help on the items that I knew would be killers.  I reached out to Mark Allan of DnnGarden to change the menu on my skin to use the DDRMenu rather than the Telerik one to avoid the known catastrophic failure of the skin after Telerik was included in the core.  I also went though and purchased the full version of UrlMaster and worked to get some of the other "stuff" ready to move away.

Initial Upgrade Attempt

About three months ago I tried my first actual attempt at upgrading the site.  Before I started I used a clean 6.x site to test the new skin and other upgraded modules to ensure that everything would work in the target version.  I tried the upgrade following the published upgrade paths in the DotNetNuke.com Wiki which is the process I used for all of my other sites.  Nothing worked, first run only got through part of the 5.x upgrades before the site was toast.

Looking into things I made a few executive decisions.  UrlRewriting.NET was pulled out entirely before the Upgrade, Friendly Url's were disabled, and non-needed modules removed.  I reverted to the base skin as well for a page to be able to test the upgrade.  This got me further along, but still ran into issues galore and finally decided to abandon it for a while.

Upgrade Assistance

Finally with the release of DotNetNuke 6.1.2 I really wanted to get the site upgraded and reached out again for a bit of help from the community.  Since I don't directly make money from this site, I had already invested too much time in the upgrade and it was easier for me to find someone else to work on it, so I could focus on Module Development and other stuff.  So I reached out to Joe Craig, who I have been sending a large number of upgrade referrals to in recent months.

Joe took the sites to his server and went to town on the upgrade.  In just a few days I got word that the sites were ready to go.  He found a few other modules that needed upgraded but was able to get the upgrade completed and the site running like normal.  He followed a similar process, disabling/removing friendly URL stuff, and was able to successfully get the site up.

I then proceeded to add in UrlMaster to clear the URL's back to the way they need to be for proper SEO and existing links and have been working on some styling changes and now we have a fully working site.

Lessons Learned

So why did I post this here?  Well I think there are a number of lessons to be learned from this upgrade.  There were things I did well for example knowing about skin issues, etc, but some items that didn't go as well such as missing modules that needed to be upgraded.  I don't regret the decision that I made to delay the upgrades, but keeping a solid inventory of installed modules, added configurations, and third-party dependencies is very important.

Thankfully, given the tendency to backup, test, retest, and validate though we accomplished the upgrade with only about 10-15 minutes of downtime for the site, even though hours and hours were spent on this outside of that.  Now that I have the site upgraded, I can start to move on to a few other things and improve some of the functionality here.

 

Posted by Mitchel on Friday, January 06, 2012
 

Comments

You are lucky that you didn't use parent portals in addition the list of modules. Earlier this year I had to upgrade my site from 4.8.3 to 5.6.3 and is uses a very similar set of modules. I worked on a localhost clone of the system first – upgraded the module to the latest and tested that they worked, and then I disabled them. I still had failures (Yellow Screen of Death) when viewing the “Portals” page.
Ultimately I had to hire DNNhelp.com. They found that in DNN had changed exactly which files DNN places in directories when it created a “Parent Portal.” Starting in 5.0 the core and some modules began depending on the existence of some of these files, and the resulting in the Yellow screen.
It sure would be nice if DNN had some better troubleshooting tools built-in! The first one that comes to mind would be the ability to log the SQL statements being sent to the server. I am sure if I could have seen the SQL select statement issued to the server for the opening of the Portals Page I might have solved the problem.
I have yet to try the 5 to 6 upgrade yet, but plan to do it soon.
/Dave

By David Snow on Saturday, January 07, 2012 at 11:47 AM

Dave,

Best of luck to you with your upgrade! This install was at one point a multi-portal instance, but I abandoned that a while back.

I will say that once you are on the 5.x and 6.x platforms, the upgrade scenario is MUCH better!

By mitchel.sellers@gmail.com on Sunday, January 08, 2012 at 2:35 PM

Name (required)

Email (required)

Website

CAPTCHA image
Enter the code shown above:

Content provided in this blog is provided "AS-IS" and the information should be used at your own discretion.  The thoughts and opinions expressed are the personal thoughts of Mitchel Sellers and do not reflect the opinions of his employer.

Friend of RedGate

www.datasprings.com - DotNetNuke Modules ICG Hosting

Click here for advertising information.

Content in this blog is copyright protected.  Re-publishing on other websites is allowed as long as proper credit and backlink to the article is provided.  Any other re-publishing or distribution of this content is prohibited without written permission from Mitchel Sellers.