DNN Blog

Mar 21

Posted by: Charles Nurse
3/21/2008  RssIcon

A month or so ago I started a series of blogs about the new Features Module that will be a major focus of the upcoming Cambrian release.  I had intended to publish these blogs on a frequent basis, but a "busy" life got in the way.

Anyway, now I am back "blogging" I intend to continue this series of blogs on the Features Module, by giving an update on some changes, and looking at the other parts of this module.

Features Module Updates

So first off, there have been a few cosmetic changes in the module since my first two posts - designed to make the module look more like the module it replaces "Module Definitions".

So instead of a "TreeView" on the left we have a drop-down box at the top, which is used to choose the type of Feature to display (in this case "Not Specified" displays all the installed features).  If you then select the pencil "edit" icon you will then be redirected to an "Edit Feature" page (for example for the default DNN Authentication Feature)

The top half of this "Edit Page"  depends on the feature type being edited.  In this case we are editing an Authentication System.  The bottom half of the page (which by default is collapsed) shows the common "package" settings for the feature.

This UI paradigm more closely follows the design of other core modules and so it was felt that this was a better approach (pending a more complete overhaul to the admin UI).  At the bottom of the page are three command buttons "Update Feature", Create Feature Package" and "Cancel".  These are fairly straigtforward - "Update Feature" is used to save changes, "Create Feature Package" is used by a Feature developer to "package" their Feature ready for distribution, and Cancel is used to return to the main List. 

Most of the time their will also be a fourth command button "Uninstall Feature" which is used to Uninstall (or delete) a feature.  In this case the "button" is suppressed as the basic DNN Authentication System is considered a "System" feature - as the site might not function without it.

Create Feature Package Wizard

The Features Module allows developers to create packages for distibuting their Features.  The old Module Definitions Module and the old Languages Module had these features but in our new "Universal" system where all extensions are types of  "Features", this packaging is now available to all Feature types.  Clicking on the "Create Feature Package" command button launches the new "Create Package Wizard". In this example, I am using the "Links" module.  The first page displays the information about the Feature

The next page display a list of files.  The "folder" chosen depends on the feature type and for some features is a best guess at which folder to use.  However, you can edit the folder field and click the "Refresh Fil List" command button to update the lower display

The list shows ALL the files in the folder selected (as well as the files in child folders).  In this case you can see that my "Links" module folder contains addition language files (for the dutch and turkish languages) as I had been working on some Localization issues.  I don't want these files in my package so I can simply "remove" these files from the list.

Next the Wizard displays a list of "assemblies" to include.  Again, as with the files list, the Wizard makes a best guess attempt at determining which assemblies to include - for example by using the project file.  But as with the files list you can add, edit or delete assemblies in the list.

On the enxte page the Wizard asks if you are just generating a manifest or whether you want to create a zip package, and prompts you for the file names.

Finally the last page of the Wizard provides a "Report" of the packaging operation.

Uninstall Feature Wizard

To uninstall a feature you can select the red cross "Delete" button in the list or you can select the "Uninstall Feature" command button in the Edit Page - either way the operation is only available if the Feature is not "flagged" as a System Feature.  Using the Links modules as an example again, selecting "delete" or "uninstall" will start the "Uninstall Feature Wizard".  The first page again displays information about the Feature (just to ensure you know which feature you have chosen to delete).  To uninstall the feature you will need to click the "Uninstall Feature" command button.  Notice that in this case as we are requiring you to select Delete/Uninstall twice there is no "alert" pop-up for you to confirm your choice.  As with the old Module Definitions module you can choose to optionally delete all the files associated with the Feature OR to just "unregister" the Feature.

Once you click the Uninstall button, you will get a report of the uninstall.  In this case (see below) there was a failure caused by an issue with Uninstall SQL Script.

This shouldn't have happened - but it does serve as a demonstration.  Unlike the old Module delete function we do now attempt to give you a full report of what happened.

This blog has been pretty long, but I hope you will have been able to get a sense of the potential power of this new system.  In my next Blog I will start describing how the new Installer/Uninstaller works and how developers can start to adopt the new features we have incorporated into the system.

 

 

 

 

 

Tags:
Categories:
Location: Blogs Parent Separator Charles Nurse

12 comment(s) so far...


Re: Cambrian First Look - New Features Module (Pt 3)

Looks great. Can't wait to see you cover the feature that will allow us to alter the web.config to enable features like Linq to SQL.

By AdefWebserver on   3/21/2008

Re: Cambrian First Look - New Features Module (Pt 3)

Awesome job Charles! But what else would anyone expect from someone with such an awesome first name :-)

Chuck (Charles) R.

By carizzio on   3/21/2008

Re: Cambrian First Look - New Features Module (Pt 3)

Fantastic job!

By afromobile on   3/22/2008

Re: Cambrian First Look - New Features Module (Pt 3)

Nice work. I'd like to not see "Not Specified" as the default or even at all. I don't see the use for that. It also slows down the page processing as well as displaying too much data. Thanks.

By brian on   3/22/2008

Re: Cambrian First Look - New Features Module (Pt 3)

I would rename "Not Specified" to "All Types" as this is far more meaningful (not specified could be interpreted as "no features to display" :). You have to have an option here if the drop down allows you to filter the features (which of course is a very useful facility). Thanks for this Charles... great stuff.

By NukeAlexS on   3/22/2008

Re: Cambrian First Look - New Features Module (Pt 3)

Also, if there was a grouping feature. For example, some 'modules' install 10 to 15 modules. It creates an overload of data and lack of organization. It would be handy to group by the actual module installed and then can go into further details.

By brian on   3/22/2008

Re: Cambrian First Look - New Features Module (Pt 3)

I love the idea, but could we call this whole thing "Extensions" rather than "Features"? Modules, Skins, Language Packs, etc. really are just extending the DNN framework so "Extensions" would be more appropriate.

By mathisjay on   3/23/2008

Re: Cambrian First Look - New Features Module (Pt 3)

I am not sure how far into this you are, so perhaps it's too late. However, it would benefit alot of us to include (Author, Company Name & Contact Info) into the manifest and Module Definition. Very few (to none) module developers add this information to the description (although they could). By making fields in the manifiest specifically for this information, I would imagine there would be a greater adoption rate of providing this information. There's nothing worse than trying to track down 'who' made a module on someone's DNN instance when you're not entirely familiar with that instance (ie. hosters issues) to contact the developer.

I also like the comment about grouping modules of the same type (ie. look at the Catalook install) and the syntax of DNN 'extensions'.

Great work all.

By schafer_brad on   3/26/2008

Re: Cambrian First Look - New Features Module (Pt 3)

PS: The blog should really add the host URL to the pictures for RSS syndication. All we get are missing images in our aggregators. :)

By schafer_brad on   3/26/2008

Re: Cambrian First Look - New Features Module (Pt 3)

Schafer_Brad:

Good news - we have already included that. There will be an Author tag - with sub-elements name, organisation, url, and email. These will be displayed on the first Wizard page on the Install Wizard. There will also be an opportunity for the developer to add the fields during packaging (see my next blog)

By cnurse on   3/26/2008

Re: Cambrian First Look - New Features Module (Pt 3)

@mathisjay - I really like your suggestion about calling the whole thing "extensions" or even DNNextensions as a trademark :).

By NukeAlexS on   3/26/2008

Re: Cambrian First Look - New Features Module (Pt 3)

I like the look & feel change. Would it make sense to add paging to the list (like the recent change to the Portals list)? Not sure how many packages there will be, but it's starting to look like the list could get pretty long....

By DrewTheRat on   4/9/2008
Attend A Webinar
Free Demo Site
Download DotNetNuke Professional Edition Trial
Have Someone Contact Me

Like Us on Facebook Join our Network on LinkedIn Follow DNN Corporate on Twitter Follow DNN on Twitter

Advertisers

Sponsors

DotNetNuke Corporation

DotNetNuke Corp. is the steward of the DotNetNuke open source project, the most widely adopted Web Content Management Platform for building web sites and web applications on Microsoft .NET. Organizations use DotNetNuke to quickly develop and deploy interactive and dynamic web sites, intranets, extranets and web applications. The DotNetNuke platform is available in a free Community and subscription-based Professional and Enterprise Editions with an Elite Support option. DotNetNuke Corp. also operates Snowcovered.com where users purchase third party apps for the platform.