DNN: Upgrading DotNetNuke website from 6.x to 7.x

Dot Net Nuke

For one of my websites, I’ve used DNN Community Edition as the content management system. I’ve initially installed the DNN version 6.1.2. I haven’t upgraded it for the past 2 years. Now I’ve upgraded it to 7.2.2. I thought to sharing the steps I’ve followed for the upgrade. Most of the steps will be common for all the DNN upgrades. But some are unique to my website as I’ve done several enhancements and tweaks in DNN code for my need.

Read a lot about DNN Upgrade:

Obviously, I’ve spent more time in the preparation part than the time I took for real upgrade. To start with, I’ve collected the upgrade details from the below articles.

  1. http://www.dnnsoftware.com/community-blog/cid/154969/dnn-platform-722-released.
  2. http://www.dnnsoftware.com/wiki/page/upgrading-dotnetnuke.
  3. http://www.dnnsoftware.com/wiki/page/suggested_upgrade_path.
  4. http://support.powerdnn.com/kb/a671/how-to-upgrade-a-dotnetnuke-site.aspx.
  5. http://www.engagesoftware.com/Blog/EntryId/300/How-do-I-upgrade-to-the-latest-version-of-DNN.aspx.
  6. Search the web for any issues experienced by the users during upgrade.
  7. Check the DNN Community Forum (http://www.dnnsoftware.com/forums) for any known issues reported by users and the solutions provided.

Test Locally:

Before upgrading the production website, I strongly recommend to test the upgrade process in a local computer.I’ve followed the below steps to set up the local copy of my website in a local computer for testing:

  1. Take a backup of the database and restore it to the local SQL server.
  2. In the IIS create a new website.
  3. Take the backup of the http files and place the files to the new web site’s folder you have just created.
  4. Change the connection string in the web.config file to point the local database.
  5. In the database change the portal alias entries in the table PortalAlias to point to the local website url.
  6. Now the testing environment is ready in the local computer.
  7. Download the Upgrade Package from http://www.dnnsoftware.com/community/download.
  8. Copy the files to the website root.
  9. Open the browser and run the install.aspx in upgrade mode (http://”MY-WEBSITE-NAME”/install/install.aspx?mode=upgrade).
  10. Once the upgrade is complete, test all the pages, modules and admin section.
  11. Try creating new page, and add all the modules you have.
  12. Check whether all the installed modules are compatible with DNN 7.x. if not get the latest version of the module and install it.
  13. If you find any issue, check and see if you can fix them by yourself. If not try to get help from DNN Community Forum.
  14. Try the above steps (1 to 7) as much time you can, to be comfortable and ready to do the upgrade on production environment.

DNN Upgrade on Production Environment:

  1. Check with hosting company and make sure the environment is ready for dnn 7.2.2. Make sure the hosting environment has the requirement specified in http://www.dnnsoftware.com/platform/start/install#2047.
  2. Check the IIS AppPool settings and make sure that the .NET CLR version is set to 4.x.
  3. Check whether all the installed modules are compatible with DNN 7.x. if not get the latest version of the module and install it.
  4. Take a full backup of the database. Try restoring the database backup and make sure that it’s not corrupt.
  5. Take a backup of the web files.
  6. Make sure the AutoUpgrade Key in the web.config is set to false.
  7. Download the UPGRADE PACKAGE (In my case it’s DNN_Platform_07.02.02_Upgrade.zip) files from http://www.dnnsoftware.com/community/download.
  8. Extract all the files from zip to the Local computer.
  9. To reduce the downtime, First, copy the content in the “install” folder from the downloaded upgrade package to the “install” folder on the production website.
  10. Now, take the website off-line by adding an under construction page named App_Offline.htm at the root of the website.
  11. copy the remaining contents (excluding contents in the “install” folder)  to the root folder.
  12. Rename the App_Offline.htm file and immediately browse http://”MYWEBSITE”/install/install.aspx?mode=upgrade.
  13. The upgrade will run for a minute or two.
  14. Test the website, all the pages.
  15. Test in various screen resolutions, including phones and tablets.

Issues I’ve Encountered:

  1. DNN 7x considers comma “,” , hyphen ““, opening and closing brackets “( )” in the page name.I had some pages with these characters. In DNN 6.x these special characters were not visible in the page url. But after upgrading to DNN 7.x these page urls changed. I’ve to remove the special characters to make the url as before.
  2. The AppPool hung couple of times. I had to change the ViewState from Memory to Page State Persistence to fix this.

Leave your thoughts...