DotNetNuke 6 Developer Quick Start

The DotNetNuke 6 Developer Quick Start page is intended to be used as a resource that can help get DotNetNuke extension developers up to speed on the latest offerings available in 6.0. If you are new to Skin Object, Module or Provider development in DotNetNuke, you may wish to visit the Module Development page for further details.
Image
%%%%EditSectionPlaceHolder%%%%

Azure Compatible»

All editions of DotNetNuke 6 are Azure compatible. However, additional work is required to install.

Azure SQL Script Compatibility Concerns When Developing:
Resources:
Top

%%%%EditSectionPlaceHolder%%%%

Control Panel»

The 'Ribbon Bar' control panel that was included with DotNetNuke 5.x versions has been heavily updated.

Please see the DDR Menu section for details on styling the DDR menu.

Top

%%%%EditSectionPlaceHolder%%%%

CSS: Important Notes »

The default.css file contains very significant style definitions for the new user interface. The core form patterns and the associated jQuery plugins all depend on default.css for style.

DotNetNuke 6 also uses a jQuery UI theme. In order to use multiple jQuery UI themes on one website, each theme needs to take into account CSS Scope. In general, this means that each theme will only target specific elements - and there are no "global" themes used. This avoids competition between themes.

Please read the following article for more information: Using Multiple jQuery UI Themes on a Single Page.

Additional Resources:
Top

%%%%EditSectionPlaceHolder%%%%

DDR Menu»

The DDR Menu, as of DotNetNuke 6, is the default menu provider that ships with the framework. Existing installs will not be automatically upgraded to this menu, though.

Resources:
Top

%%%%EditSectionPlaceHolder%%%%

DotNetNuke Extension Feed»

The DotNetNuke Extension Feed is new functionality for DotNetNuke 6.0. To break it down, the Extension Feed is an enhancement to the "Extensions" module that provides Super Users a centralized point to search extensions located in Snowcovered (The DotNetNuke Store) and the Extension Forge. After users find an extension using the search interface, they can also use the same module to download and deploy in their install.

Resources:
Top

%%%%EditSectionPlaceHolder%%%%

DST Support (Enhanced Time Zone) »

As of DotNetNuke 6.0, Daylight Savings Time support has been added to the core framework.

Existing API Updates:
Two brand new APIs have been introduced to obtain current time. These API make a direct query into the database and return timestamp from database. These API will be very useful in a web-farm configuration with multiple web-heads or configurations where web-head and database are deployed on separate servers, perhaps separate time zones.

New API Methods:
Resources:
Top

%%%%EditSectionPlaceHolder%%%%

Folder Provider API»

Two new API classes have been created for file and folder management in DotNetNuke 6: FileManager, FolderManager. These replace the now deprecated FileSystemUtils, FileController and FolderController classes. These APIs have been created on top of a new Provider, the FolderProvider. This new Provider allows to work with different storage locations.

Folder Providers Shipping with 6.0:
Resources:
Top

%%%%EditSectionPlaceHolder%%%%

Form Pattern »

The form pattern refers to the User Interface update that was a big part of DotNetNuke 6.0.

Styling Modal Popups»

Modal popups are implemented using the jQuery UI dialog. By default, there is a section in default.css that contains all classes to style this (and other jQuery UI widgets we use) where we basically apply a default theme via CSS. Placement in the default.css allows skin designers to override this in their own skins via skin.css, yet older skins that were not designed for 6.0 will also have the dialog styled so it doesn’t look broken (it may not fit 100% with the site design, though).

z-Index:»


Resources:
Top

%%%%EditSectionPlaceHolder%%%%

Icon API»

In DotNetNuke 6.0, an enhancement was made to use one unified API to access icons in the framework. Simply pass a key (e.g. Add, Edit, or Delete) and get a Url back to an image without worrying about the physical location. It's also worth noting that 6.0 ships with a new set of icons replacing all existing icons in the application (those in 5.x and earlier).

New Icons Folder with Pngs (key points):
API Notes:

The IconKey property for WebControls»

Similar to the ResourceKey property for WebControls to facilitate Localization, there is a new IconKey property available to major webcontrols that contain an ImageUrl property.


Resources:
Top

%%%%EditSectionPlaceHolder%%%%

jQuery & jQuery UI »

All editions of DotNetNuke are shipping with jQuery and jQuery UI enabled and used throughout all interfaces in the core admin and host modules (as well as the control panel and interfaces in the framework itself).

Resources:
Top

%%%%EditSectionPlaceHolder%%%%

log4net»

The log4net assembly (version 1.2.10) has been added to all editions of the DotNetNuke framework in 6.0. Log File Details:
Resources:
Top

%%%%EditSectionPlaceHolder%%%%

Manifest Updates»

There was technically 1 addition to the manifest file in DotNetNuke 6, the iconFile node. Another node, supportsPopUps was made available in DotNetNuke 5.6.x but due to a bug it was not usable by extension developers.

Resources:
Top

%%%%EditSectionPlaceHolder%%%%

Modal Popups»

Support for modal popups has been added to DotNetNuke 6. It is a setting that can be enabled or disabled per portal. When enabled, module controls that support this feature can be loaded via a modal popup (which is jQuery UI).

Developers who wish to enable, or disable this feature in their modules should add the supportsPopUps node for each module control in their DotNetNuke 6 compatible manifest file.

By default all core admin and host modules will have this enabled. Third party and core modules that have not yet specified this support for this in their module will have this feature disabled.

Resources:
Top

%%%%EditSectionPlaceHolder%%%%

Module Actions»

As of DotNetNuke 6, the module actions menu which was previous exposed to designers (via the container) is no longer displayed. Instead, the framework injects a DDR menu for each module. Please refer to the DDR menu section for further details. The only time this is not the case is when a third party module action replacement menu was used (this was an update not made until Beta 2 for 6.0).

Top

%%%%EditSectionPlaceHolder%%%%

Module Branding»

Module branding allows DotNetNuke extension developers (both developers and skin designers) to associate an icon with their extension package. This image is displayed in both the Extensions page, as well as in the module drop down in the control panel (for modules).

Resources:
Top

%%%%EditSectionPlaceHolder%%%%

Module Categorization»

Module Categorization allows Host users to categorize their modules so that finding a module in the Control Panel is much easier. Please note, developers cannot 'categorize' their modules. This ability was intentionally left out as the goal of Module Categorization is to allow Super Users to manage the categorization and allowing extension developers to add categories would defeat this goal.

Resources:
Top

%%%%EditSectionPlaceHolder%%%%

New Modules»


Top

%%%%EditSectionPlaceHolder%%%%

Telerik»

DotNetNuke 6 ships with Telerik's 2011 Q1 SP2 release. All controls provided by Telerik (as of the release DotNetNuke is shipping with) now have DotNetNuke equivalent wrappers (All wrappers are part of DotNetNuke.Web project). This update allows module developers to use the full suite of Telerik ASP.NET AJAX controls in their own modules. You can view live demo's of all the available Telerik ASP.NET Ajax controls here.

A few notes about where the core uses Telerik as of 6:
Resources:
Top

%%%%EditSectionPlaceHolder%%%%

Updated Modules & Providers»

This section summarizes the modules that were updated in time for the DotNetNuke 6.0 public release. All packages were included with the distribution, unless otherwise noted.


One final note here is that DotNetNuke 6.0 is likely the last (or one of the last) releases that will include 'core' modules with the distribution packages.

Top

%%%%EditSectionPlaceHolder%%%%

Other Changes»

These are other additions/changes that were made in 6.0 that didn't necessarily merit an entire section of their own (in this Wiki page).

Resources:


Top