For the last 4 years DotNetNuke has been adding more and more client-side functionality using JavaScript. First we started with the ClientAPI which has added some great features to the platform. When Microsoft created ASP.Net AJAX, we were quick to implement that as well since it solved several problems and didn’t require us to re-invent the wheel. One of the key features in DotNetNuke 5.0 is the new Widget framework which simplifies the creation and distribution of JavaScript widgets. In looking at an upcoming refresh of our admin UI, we were looking around at our various options. We really need a richer user experience that will continue to have cross-browser support and that can easily be extended and used by the developer community when creating their own modules.
With the announcement by Scott Guthrie that Microsoft will be distributing jQuery with the next version of Visual Studio, this made our decision very easy. Starting in DotNetNuke 5.0, we will fully support jQuery in the base DotNetNuke platform. Over the next several releases, we will begin migrating our existing libraries to delegate as much work as possible to jQuery. There are still many areas where the ClientAPI and Widget framework provide needed functionality that is not available in jQuery or ASP.Net AJAX, but there is a lot of code which can now be greatly simplified.
When you login as Host in DNN 5, you will have access to jQuery settings on the Host Settings screen. Using these settings allows you to configure the jQuery library which will be used in the framework. By default, DNN 5 will use the minified version of jQuery that is served from the DotNetNuke resources directory. This configuration provides good performance while also minimizing external dependencies. For those looking to maximize their performance, we have included support for using a hosted version of jQuery. The default hosted jQuery version will be the minified version hosted on Google. By using a hosted version of the library, you increase the likelihood that the user will already have a cached version of the library. This also allows hosts to specify which version of the jQuery library they wish to use. This allows hosts to have greater control over their environment. Just remember that the core and some third party modules may have version dependencies so you should be careful about pointing to older versions of the scripts.
In the short term, DNN 5 will be using jQuery to implement a few features like Pane Previews. This feature is immediately available in DotNetNuke 5.0 RC1 which will be available this week. Our next RC will extend jQuery usage to fix a few other bugs and to simplify the Widget framework.
We are very excited about this new capability and will certainly be posting more detailed information about how module developers can take advantage of this exciting new feature in DNN 5.