July 07, 2011

Resolving Recurring DotNetNuke Scheduler Errors

One thing that can kill a DotNetNuke quite quickly is a module that goes "rogue" and starts throwing regular errors in the scheduler.  This is especially the case when it comes to a module that might be heavily used.  Not only do you just have the fact that you are having errors, but you also have the issues around the fact that you can't find TRUE errors in the log.  In a world long ago, back in the DNN 4.4 - 4.8.x days there used to be an issue with certain modules that has apparently started to rear its ugly little head again and I'm not sure why.  In this post I'll investigate this specific error type.

The Error

The actual module in error might differ from DNN Installation to Installation, but you will see a number of common trends.  The error will be similar to the following.

Error Creating BusinessControllerClass 'DotNetNuke.Modules.Links.LinkController, DotNetNuke.Modules.Links' of module(DNN_Links)

The key element here is "Error Creating BusinessControllerClass", that tells us that it was not able to find the proper information for integration.

Validating The Root Cause

The good news is there is a quick and easy way to determine if my recommended fix will work.  If you go to "Host" -> "SQL" and run the following query and see results, you have found the culprit.

FROM desktopmodules
WHERE SupportedFeatures < 0

What this query is looking for is any module that has an invalid value for the "supported features".  For the short summary, SupportedFeatures determines which of the optional Module Level interfaces are supported, such as "ISearchable" and "IPortable".  Any negative value is incorrect and there was at one point a DNN upgrade script that would fix these records.  But I am seeing more and more sites suffering from this.

The Fix

Amazingly the fix is very simple, a module that has a value less than 0 in the SupportedFeatures module can simply be updated to have a value of 0, and the errors will go away.  So simply running the following script:

UPDATE DesktopModules
SET SupportedFeatures = 0
WHERE SupportedFeatures < 0

Now, with any SQL change, I strongly recommend that you backup your database BEFORE making this change, just in case! 

After making the above change you should see the recurring errors go away.

tags: DNN, Quick Tips
comments powered by Disqus

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.

Content Copyright

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.