DotNetNuke Core Modules and AJAX (Round 2) 

As promised this article is an update with more testing results of DNN core modules and the enabling of AJAX. I will investigate multiple core modules and will provide the test results for each of the modules, regardless of success or failure, to give you an idea of where each of these modules are for potential use of AJAX.

The Modules

In this article I will cover my testing results for the below list of modules. As with my previous article and all other articles that I have written these results are from MY testing only and do no represent the opinions provided by DotNetNuke or the respective module development teams.  I am testing the AJAX implementation on a CLEAN DNN 4.5.1 installation using the DNN Horizontal Blue Fixed default skin.

  • Announcements
  • Documents
  • Forum
  • Gallery
  • Links

Announcements

The first module up for testing was the announcements module, this module only has three controls, a view, edit, and settings control. After looking at this module it is not all that interactive and in all honesty no areas of this module would be benefited by enabling AJAX support, therefore I did not attempt any modifications to the module definition for this module.

Documents

Next was the documents module, this module although quite complex is all contained within 3 controls, one for viewing, one for editing, and one for settings. Below I will discuss my findings regarding AJAX and each of these particular display controls.

View Control (Document.ascx)

As of the current tested version there are no client selectable events that cause postbacks as the download links simply are links to linkclick.aspx, therefore, there was no potential benefits from enabling AJAX

Settings Control (EditDocumentsSettings.ascx)

Those that are familiar with the Documents module are all too familiar with the "Display Columns" option within the module settings. You can rearrange the columsn moving them up and down the tree but each time you move an item it causes a postback and you have to scroll back to the bottom of the settings page. Another item that always caused me pain was the "Add Sort Order" item, this also caused a postback. Well after I enabled partial rendering for this control, it was able to quickly move columns around and add/remove sort order items from the listing.

At no time did I notice any errors with AJAX enabled so I would say it is "safe" with testing to enable AJAX for this control

Edit Control (EditDocs.ascx)

The documents module edit page is where you upload/edit documents. I tested this page with AJAX enabled and was NOT successful. All fuctionality worked with the exception of uploading new documents. THis error appears to be due to the DotNetNuke Link control implementation used in the module.

Module Conclusion

You can obtain benefits in one area of the Documents module by enabling AJAX support, for my users this area in the administration section was VERY helpful as it allowed them to configure the module in a much more timely fashion. I will revisit this investigation when the new version of the documents module has been released.

Forum

The forum is an incredibly complex piece of functionality within DotNetNuke and from my testing I was unable to find a single control that could safely be AJAX enabled without causing problems with the forum display.  Additionally much of the transition areas in the forum is from control to control which would not be benefited by AJAX functionality.

Gallery

Next I looked at the DotNetNuke Gallery module, this module is another one that has multiple controls therefore I am not going to list each of the modules individually, however, I will say that in my testing there were NO controls that I could enable AJAX on on and notice a performance improvement.  Some controls are performing internal Response.Redirects() that stop the AJAX request process therefore no benefit was gained.  I did personally test all controls within the module and none were successful.

Links

The links module is another control that is fairly simple as it only has three display controls. I was unable to successfully enable AJAX on both the Edit and Settings controls due to their use of the "Link" control provided by the DotNetNuke framework. I was however able to enable AJAX successfully for the View control.  This provided a VERY nice interface if you have the "Info" option enabled for your links where you can show the description.  This quick fix makes for a great improvement in module performance.

Conclusion

This wraps up my second round of AJAX testing for DotNetNuke 4.5.1 and the DotNetNuke core modules. Look for future blog articles to cover the remaining core modules, I will then start testing some third party modules that I use on a regular basis. If you have a module you would like me to review or if you have any feedback/questions please share it below.

Posted by Mitchel on Thursday, April 26, 2007
 

Comments

Nice info. but i wonder, how to enable ajax in dotnetnuke module? Just nested the control with update panel from ajax.net ?

By Joe on Thursday, April 26, 2007 at 10:58 AM

Joe,

I covered this I believe a few blog articles back, DotNetNuke will automatically wrap a module in an update panel if you have the "Supports Partia lRendering" option checked in the control definiton.

1. Login as host
2. Go to the "host" menu and select "Module Definitions"
3. Click "Edit" next to the module you wish to updaate
4. Click "Edit" next to the control you wish to update to allow partial rendering
5. Select the "Supports Partial Rendering" option and press update.

Then you are done, this is the method I used for testing.

By mitchel.sellers@gmail.com on Thursday, April 26, 2007 at 11:19 AM

Hi, thanks for review, can you review third parties like news articles module of Ventrian for ajax support?

By green on Friday, April 27, 2007 at 2:26 AM

wow...that easy!!!

I read about dotnetnuke integration with ajax.net.

but i never knew how to use that feature until I read ur article.

Thanks

By Joe on Friday, April 27, 2007 at 3:26 AM

Green - Yes Ventrian's News Articles is one of my first look items for third-party modules.

By mitchel.sellers@gmail.com on Friday, April 27, 2007 at 7:35 AM

I'll be interested on your view of ListX by BI4ce. I used it pre-4.4.0 with Ajax and have upgraded to 4.5.1 and appears to be working as adverised out of the box. I am wondering what conflicts may arise.

By Laverne Douglas on Tuesday, May 01, 2007 at 9:10 AM

Hi Mitchel,

Could you add the aggregator by DNNSTUFF to your list for testing. This is a great module and I use it extensively throughout my site. In fact, I think an aggregator would be a great core module project for DNN.

Thanks,

Paul

By packrat on Friday, May 11, 2007 at 5:38 PM

Paul,

I am actually going to post a blog prompting requests for third party reviews....I have too many requests to remember the most popular ones.

By mitchel.sellers@gmail.com on Saturday, May 12, 2007 at 12:53 PM

The links module is another control that is fairly simple as it only has three display controls. I was unable to successfully enable AJAX on both the Edit and Settings controls due to their use of the "Link" control provided by the DotNetNuke framework. I was however able to enable AJAX successfully for the View control. This provided a VERY nice interface if you have the "Info" option enabled for your links where you can show the description. This quick fix makes for a great improvement in module performance.

By ZK@Web Marketing Blog on Saturday, June 13, 2009 at 5:56 AM

Name (required)

Email (required)

Website

CAPTCHA image
Enter the code shown above:

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.

Friend of RedGate

www.datasprings.com - DotNetNuke Modules ICG Hosting

Click here for advertising information.

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.