Now that DotNetNuke 3.2/4.0 have been released, I thought I'd write a blog on my Top 10 cool features now available in this release.
10) DNNTextSuggest WebControl
Ever wish to give your users a suggestion on what you think
they are searching for? The
DNNTextSuggest control does just this by utilizing a client callback after the
user enter a minimal set of characters.
Note: The DNNTextSuggest included in 3.2/4.0 should
be considered a beta, for we ran out of time.
9) Expand / Collapse
The visibility skin object has been enhanced to allow the
expanding and collapsing of the modules to utilize an animation.
Note: The speed of the animation can be tweaked
through the AnimationFrames property.
Provider - StartTabId
The navigation controls now allow a specific tabid to be
specified as the root of the navigation structure. Simply specify the StartTabId attribute in
your navigation markup.
7) DNNTree Keyboard
The DNNTree now is accessible through the keyboard, allowing
you to navigate its hierarchy utilizing the Arrow keys.
Note: The current position within the hierarchy is
denoted by the hover class. By default
the DNN install does not supply this class so in order to figure out where you
are you will want to specify a css class for the CSSNodeHover property within
One of the criticisms of DNN in the Open Source world is
that it relies on 3rd party controls.
The introduction of the navigation provider and a new Menu control
should help to quell some of these arguments.
Note: The menu included in 3.2/4.0 should be
considered a beta, for we ran out of time.
Provider - ProviderName
The new navgation provider allows for easy substitution of
both the DNN Main Page navigation control and the Module Actions menus. While this could be done before by coding a
new skin object and adding some custom code to the skin object, it is now as
easy as specifying a ProviderName in the skin object.
Skinning Property Reorganization
One aspect of skinning that had a steep learning curve was
piecing together what attribute is used to accomplish a given visual
effect. In 3.2/4.0 we have introduced a
new set of properties containing a common set of prefixes to help make it
easier to find the setting you are looking for.
Here is a brief summary:
CSS – CSS classname to assign
Style – Style attribute to assign
Path – Path/Directory to locate images and script
Mouse – Settings to handle Mouse specific events
Node – Properties like custom HTML to apply to specific nodes
Separator – Properties like custom HTML to apply to separators
Effects – Effects to apply to the menu
3) Client Callbacks
The ClientAPI now supports client callbacks in a similar
fashion as ASP.NET 2.0. Developers can
now easily add advanced AJAX
functionality to their modules that will support both ASP.NET 1.x and 2.0
When in admin mode you can now edit the module titles
without going to the module settings page!
This is accomplished with the new DNNLabelEdit control by utilizing a
Client Callback (AJAX) to persist your changes.
The new control will even support RichTextEditing.
Note: To enable this feature you need to set the
EditEnabled="true" on the Title skin object.
Provider - Populate On Demand
The ability to make your navigation control support Populate
On Demand is now as easy as specifying an ExpandDepth in your skin
object. Specify the number of levels to fetch with this
Note: This setting has no effect on controls
(Providers) that do not support it.
Currently the DNNTree and DNNMenu Navigation providers support Populate
On Demand (POD).
You may have noticed a little bias in the features I mention here :)