DotNetNuke and the WebsitePanel

I moved an existing DotNetNuke site to my ASP.Net web hosting account on Arvixe. I used the backup and restore module from Evotiva to facilitate the move and everything looked good. I logged in and made a few changes, upgraded the DNN install to the latest version and was testing that everything was working, when I realized that some of my Google Map data was not displaying. The site relies heavily on custom Google Maps. Data that was being pulled from xml files was displaying but data from KML and KMZ files was missing. I quickly realized that I had forgotten to add the Google Earth custom MIME types that are required to serve KML and KMZ files. No problem, I logged into my Arvixe WebsitePanel and added the MIME types. I went back to my map and the files were being served and the map was functioning as expected. That was the good news.

The bad news was, something had gone terrible wrong and the site started to experience a number of problems. DotNetNuke uses a dynamically generated page called LinkClick.aspx to serve PDF and other files. All of the LinkClick.aspx links were broken and displayed a Server Error – 404 page not found to the users. I also use AJAX Tabs to display data and they were not displaying. I could login to the site but could not edit or change anything, no postback was occurring. I noticed some other odd things and I couldn’t even log out of the site. I went back into the WebsitePanel and removed the MIME types. The site was still broken.

After hours of searching the DNN forums and trying to troubleshoot the problem, I finally realized that part of my Web.Config file was missing. I first realized that the WebsitePanel was writing to the Web.Config when I saw a default document section, something I had never seen in a DotNetNuke Web.Config file before. Upon closer examination I realized that all of the handlers had been removed from the system.webServer section of the Web.Config file. For some reason when the WebsitePanel writes to the Web.Config file, the handlers are not retained. I added the handlers section back and the site came back to life. Looking at this section, it becomes obvious why LinkClick and AJAX tabs weren’t working and I couldn’t log off. Once I got the site working again I manually added the Google Earth custom MIME types to the system.Webserver section of the web.Config file like this:

MIME Type screenshot

MIME Type screenshot

So, if you start to experience problems with your DotNetNuke website after changing something under the website section of the WebsitePanel, look for missing handlers.

DNN web.Config missing handlers screenshot

DNN web.Config missing handlers screenshot

Tags: , | Posted under DotNetNuke, WebsitePanel Tutorials | RSS 2.0

2 Comments on DotNetNuke and the WebsitePanel

  1. Turns out that any change made within the website section of the website panel will strip the handlers. I changed the home folder and the same thing happened. To quickly recover I have copied the handlers section and keep them commented out so that I can quickly replace them if needed.

  2. Bill Quinn says:

    Hi Richard,

    Thank you so much for discovering this and sharing it. I ran into the same issues and spent many hours trying to fix them. Today I came across your/this post and am relieved to find that your solution worked.

    As you suggest, the bigger question is why the WebsitePanel would remove the handlers when it writes back?

    Thanks, again, Richard for taking the time to share this!

Leave a Reply

Your email address will not be published. Required fields are marked *