I have been putting off upgrading WillStrohl.com to the most recent version of DotNetNuke® for quite a while now. I have been keeping it in the 4.09.x series, mostly due to laziness. However, as of a few moments ago, I have completed an upgrade and clean-up of this site.
I upgraded WillStrohl.com to version 4.09.05 earlier today for security reasons. But I knew that upgrading to the Cambrian series of DNN would be much more involved and require more time, so I waited until this evening to begin. The upgrade process was mostly uneventful.
I of course backed up my site files and database first. DO NOT forget to do that!
Earlier, I upgraded from version 4.09.04 to 4.09.05. Tonight, I upgraded from 4.09.05 to version 5.00.01, and then to version 5.01.02.
The main issue I ran into when upgrading was with my skin package. I paused my upgrade on version 5.00.01 to fix the skin and container files.
My skin package was still using pre-DNN 5 namespaces and menu references. I had to clean up a handful of errors due to that. Unfortunately, I did that live because I forgot about those updates. DNN 4 used the DotNetNuke.Skin class, while DNN 5 uses the DotNetNuke.UI.Skins.Skin class.
I also added jQuery to my skin, to make sure it’s always loaded. Since my skin is an ASCX skin, I used the following lines of code to accomplish that:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If you do not intend to use jQuery throughout your DNN site, the above code is not necessary. Just call the RequestRegistration() method as needed in your modules. Or you can also use PageBlaster or my Injection Module to inject jQuery into your site as needed.
I also had to fix my containers. First, they had a similar issue from earlier with the skins. The previous container class was DotNetNuke.Container, and now it uses the DotNetNuke.UI.Containers.Container class.
The Actions Menu in the containers needed to use the new syntax to properly render. Basically, I needed to specify the menu provider. Here is the line of code I am talking about:
<dnn:ACTIONS runat="server" id="dnnACTIONS" ProviderName="DNNMenuNavigationProvider"
ExpandDepth="1" PopulateNodesFromClient="True" />
Once the skins and site was working okay, I quickly used Windows Live Writer to make sure that the blog module was working right since that’s the primary function of this site, and also because I found a bug with the DNN Module in DNN 5.01.02. It worked!
Now I could focus on cleaning up the DNN instance. This was very necessary, because it used to host 4 different sites, and now only hosts one. I first uninstalled all of the modules that weren’t being used. There were a couple. DNN 5 makes this easy by clearly indicating whether a module is in use right on the Extensions page. (Please note: Modules will continue to show as being used if you have deleted the module or page, but haven’t yet emptied the recycle bin.)
This is necessary for performance sake in the database, but mostly on the web server. Uninstalling unused modules helps performance by removing unused DLLs out of memory. While uninstalling, I found that several of the DNN Core Modules do not properly uninstall. Tsk, tsk… Luckily, they are aware of those modules already.
Once the initial sweep was done to delete the modules, I deleted all of the portals that I am no longer hosting on this instance. That’s easy. It’s literally a single click to permanently remove a portal. Following this step, I was able to do a final sweep on the remaining modules that are no longer in use.
There was one more step left in my clean-up. I am not using LiveID or OpenID to authenticate myself on this site, so I uninstalled those authentication providers as well. This results as a decreased page load time on your login page.
That’s it! Everything appears to be running pretty smooth. I didn’t run into any errors, other than those experienced with my skin package not being updated. I really should have updated those files before upgrading, and adding them to the upgrade package. Great work overall by DNN Corp!
I still have some new CSS issues to work out, but I am not too worried about that. I plan to have a new skin in the near future anyway. :)