Well, yet again I decided to upgrade my DNN installation to the newest version. This time when I was testing my upgrade as I always do with my development environment at home I ran into a few more problems than what I encountered in previous upgrade attempts. Therefore I thought I would share the items that I have recently identified as being important to watch when upgrading. Most of the items I will discuss below are web.config settings that must be copied over successfully. To view my comprehensive guide to DNN upgrades, please look at my previous postings under DotNetNuke.
app_offline.htm
One of the questions I have noticed a lot recently is; "What will users see when I am in the process of upgrading?" or "How can I prevent any random user from performing the upgrade installation?" Well the answer to this is quite simple. First is the placement of an "app_offline.htm" file in the ROOT of your DNN installation. In this file you can put any text you wish your users to see. If this file exists DNN will ONLY serve this file and the users will not see the content of ANY site hosted on the DNN installation. During my upgrade I placed a simple Under Construction informational page. The second set is to set the "AutoUpgrade" application setting, this is discussed below.
Auto Upgrade = "false" <- Application Setting
If you have upgraded DotNetNuke in the past with the default release.config configuation you will notice that typically once you have uploaded all of your files any navigation to a content page will trigger the upgrade process. Now, you don't want this happening until you have all files uploaded and you are fully ready to upgrade the site. To prevent the auto execution of your upgrade simply set the "AutoUpgrade" application setting to "false". Once you complete this step you will be required to navigate to the Install/Install.aspx page to complete the upgrade process.
BiteTheBullet Site Map and other HTTP Handlers
As I know many individuals are using the BiteTheBullet Site Map handler to generate Google maps I thought I would mention this here as well. BTB and other HTTP handlers all require a configuration setting entry under the <HttpHandlers> element. Be sure to compare the values of your new configuration file to your old one as it is quite possible that you need to copy 1 or more of these items over.
Code Sub Directories
With DotNetNuke modules you can have modules written in VB and C#, if you have any modules installed (with source code) on your website DotNetNuke will have automatically added a CodeSubDirectories configuration element to your web config. You MUST be sure to copy this section over to your new config. Failure to do so will result in a compile error and you will NOT be able to access your site until this is completed. NOTE: Be sure to NOT copy over the commented out section that refers to a non-existent directory
HttpRuntime Values
Another typical modification to DotNetNuke installations that is missed are modifications to the HttpRuntime settings. These settings control the Maximum Request Length for HTTP requests to your site. Individuals will typically modify these values if they have troubles uploading files to the repository or other areas of the sites that might accept files. If you modified these default settings which I believe are typically around 8MB or so, be sure to copy these values.
This information is intended to be a supplimental "check-list" if you will for a DNN upgrade.