Wednesday, March 16, 2011

DotNetNuke FileManager and ACTIONS menu break with performance compression on

I've spent no less than 6 hours over the last 2 days trying to figure out why my sites ACTION menu (SolPartMenu) and FileManager module were broken. I typically use Chrome for my primary browser and definitely use it when it comes to development work. Next I prefer FireFox and firebug, and then there's IE which I use mostly just for compatibility testing.

Looking at the source code behind the specific tags the problem revolved around, it was clear that this was a JS issue and appeared to be related to jQuery within DNN or ASP.Net AJAX, but the errors I saw weren't helping me much. It wasn't until I decided for reasons I don't even recall, to try the same in IE, that I saw an error I could search on more readily. When I took that error to the DotNetNuke forums, I found my solution and a post that indicates the cause is known. The combination, I find troubling. This seems like something that deserves more attention than it's getting and I hope that this post will have come to your attention MUCH faster than the one that helped me which by the way, is located HERE. I do want to thank William for the solution and I don't want to sound ungrateful, but he is on the DNN team, this is a fairly nasty issue, and I think it deserves a more proactive solution so here I am.


The symptoms:
    You click the "+" sign in FileManager to expand the root folder, or you click the ACTIONS menu to make it open up/drop down but in both cases, you just get an indefinate "wait" animation (spiral for default).


The indicators:
  • For Chrome:
    • In the Developers Tools, Console tab, Errors group: "Failed to load resource" on the current page.
  • For FireFox after clicking the image:
    • In FireBug, Console tab, All group:
      • A "POST" that returns 200 OK, but with the error symbol
      • A JS error
        • Index or size is negative or greater than the allowed amount"  code: "1
        • http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
        • "(function(a,b){function cg(a){return d...a:a+"px")}}),a.jQuery=a.$=d})(window);"
  • For Internet Explorer after hovering over the image:
    • In Developer Tools (F12), Console tab:
      • "SCRIPT5022: Sys.ArgumentException: Cannot deserialize empty string. ScriptResource.axd?"
      • or if you copy the error and search by pasting it:
      •   SCRIPT5022: Sys.ArgumentException: Cannot deserialize empty string.
        Parameter name: data  ScriptResource.axd


The solution:
  1. Login to your dnn instance as host
  2. Navigate to:
    1. Host Settings
    2. Advanced Settings
    3. Performance Settings
    4. "Compression Setting" (yes, there is another "Compression Settings" group, no it's not the one you want)
  3. Set "Compression Setting" to "No compression"
  4. Scroll down and click "Update"
NOW your ACTIONS menu and FileManager module should be working once more.

2 comments :

Cliff Richardson said...

Excellent! Thank you for the post. I also had to Restart the Application after making the change, but it worked.

One other thing. When I changed the compression from GZip to none, hit update, hit restart, gzip still shows up as the selected compression. It's working now, but is that normal?

rainabba said...

I don't think my install behaved that way (still appearing to have GZip selected). Glad I could help though :)

Post a Comment

Followers