When the Cambrian project was announced at OpenForce in November, we promised a First Look at some of the new features in January 2008.
As part of that commitment, I will be blogging on some of these new features over the next few weeks. The features I will be blogging about are scheduled for inclusion in the first Cambrian release - promised for the end of this quarter.
In this blog, I will be introducing the new "Features" Module and "Feature" installer.
What are Features?
DotNetNuke has long had a rich extensibility model - Modules, SkinObjects, Skins, Containers, Languages, Providers, and more recently (v4.6) Authentication Systems. Each extensibility item has historically had its own custom admin module and installer.
In Cambrian, all of these extensibility items are "Features" and ALL such "Features" will be accessible through a single consolidated Module and Installer.
This module is still in the early stages of development, so it may change significantly in appearance by release time. On the left is a treeview containing the supported "Feature" types. When a Feature type (folder) node is selected the right side of the view displays a list of the features of that type. In the example above the list of installed providers is displayed. If the Feature type node is expanded the treeview displays the list of installed features in the tree.
When the feature node is clicked the right hand side of the display now displays the detail for that feature. One of the benefits of this UI paradigm is that it requires fewer clicks to switch between features. There are four tabs in the detail view - Feature Info, Editor, License, ReleaseNotes. The first tab - Feature Info - displays the properties that are common to all features. Note that some of the properties are "new" for some feature types.
The Editor tab displays the custom properties for the specific feature - for example an Authentication System will show the editor below.
The License tab displays the License and the Release Notes displays the release notes for the "current" version.
As with the "Module Definitions" module, there are Actions for Installing and Creatiing new features. In addition at the bottom of the "View" area for the Feature there are command buttons for Updating and Uninstalling the Feature - again similar to "Module Definitions"
In future blogs I will describe how a Feature is installed and Uninstalled, how to add your own feature types - for example if you use templates as part of your module, you can use the Feature Installer to install your templates, and I will describe how the new Feature Installer works and how you can extend it.