Page title
  Login
MyDNN Updates
Thursday, July 24, 2008
Generating DNN4 Modules
Location: BlogsDNN Notes    
Posted by: sherritp 4/29/2007 12:16 PM

I started coding DotNetNuke modules back in DNN 1.06 when you had to compile your module into the main source of the project.  So much of a DNN module will be the same from one module to the next that a code-generation tool makes a lot of sense.  I'd rather tweak and improve my base code in a template so that any best practice techniques can be automatically incorporated into my next module.  I won't say that creating a DNN module from scratch by hand is overwhelming--it certainly can be done, but the layers that have been added in DNN 2 & DNN 3 added functionality at the expense of additional code layers.

For DNN3, there are some great solutions:

Some other solutions (ok, but a step behind the generators above):

  • Nate Thornton's DNN Templates look like they build upon Ashish Agrawal's additions to Mark (lunchin) Hall's earlier templates (Dave Allen-Williams--Dave A-W--fits into this chain somewhere too).
  • John (grandOPUS) Thomas has VB.Net templates, and MyGeneration also includes standard DNN templates in their install.
  • Todd Davis' Private Assembly Creation Tool (PACT)

I've use all of the above tools to generate DotNetNuke modules.  By far the best tool listed above is AppTheory's ATGen SDK.  This tool not only creates the module code, SQL Install, and DNN Manifest file, it also creates a NAnt build script which will package your module in both PA and Source .zip files which include the module name and version number!  The files that it creates are very thorough and generate view and edit controls that support localization already.  I love this tool, but it hasn't been maintained.  For DNN modules targeting DNN 3.x, I would still heartily recommend this solution (warts and all).  ATGen SDK will also generate a custom profile provider object for you if you so desire.

All the other solutions (to one extent or another) generate your module source code.  Some of the better ones create a Visual Studio project/solution file and a DNN Manifest file (.dnn file).  Some of them generate the SQL you'll need to install your tables.  Some of them create the DAL code to query your database table and turn the data into business objects for you.

The problem?  Where are the solutions for generating module code for DNN4?

The DotNetNuke team ships a module generator that plugs into Visual Studio 2005.  It is called a Starter Kit and generates a project that you can use to build your module.  It makes a complete 'do nothing' module that is a fine starting point.  However, it doesn't target the database table you've created or help you with any code specific to the layout of your module.  It creates the files and sets up the namespace.  That's fine--I'll not look a gift horse in the mouth, but it is a pale reflection of what could be done for DNN3.

The Starter Kit also only generates VB.Net code.  I've written modules in both C# and VB.Net, and I've found that I often have some outside reason for using one language or the other (like porting some existing code from another project of mine to DNN).  I'd prefer to have an option of the language that I can use.

So what have I found?

I have found a couple of useful starting points for DNN 4 module creation. 

So far, the Quizical's solution seems to be the best.  It doesn't create a project/solution file but it does create the SQL table creation scripts and some reasonable VB.Net starter code which is more specific than the Starter Kit initial files.

Has anyone used DNN KickStart (a module generator on Snowcovered)?

Have you seen another DNN 4 module generator that I should look at?

If so, leave a comment!

Permalink |  Trackback

Comments (5)   Add Comment
Re: Generating DNN4 Modules    By Allen Foster on 5/9/2007 9:36 AM
I just started looking at DNN KickStart myself - planning to kick off a variety of DNN 4 projects - I'll watch here with interest and hopefully have some feedback before too long.

Re: Generating DNN4 Modules    By MyDNN on 5/9/2007 8:56 PM
I've dug into the trial version of KickStart since posting. While I don't want to tear down any of the folks trying to solve this problem, the level of sophistication of KickStart versus ATGen SDK is very low. The user manual is nice, but only covers step-by-step instructions--it doesn't have any tips or troubleshooting. This doesn't meet my expectations for a for-pay solution...

Re: Generating DNN4 Modules    By Happy on 6/6/2007 2:48 PM
Using KickStart and saved myself a lot of money using it!

Re: Generating DNN4 Modules    By TimP on 1/8/2008 11:17 PM
Kickstart doesn't work. I downloaded it and was found to be very buggy. I don't recommend it at this time. Although it purported to support VB and C#, neither worked correctly. I have been waiting weeks for a usable version and nadda. Looking for other alternative approaches. DAL-Click Once seems to do exactly as advertised and the developer IS responsive to changes turning around issues (fixes and enhancements) almost immediately. Works well to reduce significant coding of DAL and associated classes for DNN.<br><br>Tim

Re: Generating DNN4 Modules    By Gadget on 3/16/2008 10:36 PM
I bought KickStart recently and found it is buggy to the point of being unusable. It's nice to have an app that builds the entire package, but KickStart has so many bugs that it's impossible to generate anything that works.<br>The product is pushed as a complete IDE to develop your CRUD apps in, but it does not support any type of round-tripping, so each generation erases all of your modifications (and removes all of your fixes for its bugs!).<br>Very disappointing,<br> Gadget


Your name:
Title:
Comment:
Add Comment   Cancel 
Terms Of Use | in8 - The good stuff's inside | Privacy Statement
Copyright (c) 2008 mydnn.org