Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDevelopment and...Development and...Getting StartedGetting StartedDevelopment QuestionDevelopment Question
Previous
 
Next
New Post
4/20/2010 3:32 PM
 

As I continue to research custom module Development in DNN I see a lot of talk about Subsonic & Codesmith. If you know anything about these , could you help me understand what they are and how they fit into module development.

Thanks for any insight,

Regards,

Clint

 
New Post
4/20/2010 4:06 PM
 

 I use Codesmith tools, never touched subsonic, so guess which I'm posting about. :)

Codesmith tools is a template engine. You make a template with some inputs and it outputs the template with the variables in place.

I use it EXTENSIVELY in my module development. I have it generate everything I need to just start coding on a module. Including my test project for the module.

It's used to speed up generating identical code. Aside from my own module templates, I use netTiers for my DAL and that uses codesmith [the reason I bought codesmith originally]. It generates a DAL for my entire database without me writing a single line of code. Some of my projects tag upwards of 40 tables, so doing this manually, or writing my own [which I did for a while] isn't nearly as nice or robust as nettiers is.

There are other DAL projects that utilize nettiers to generate the DAL for a given database.

Codesmith also ties into Visual Studio, so it's possible to write small 'snippet' templates that you can run inside visual studio and have the code generated. I'm going to be looking into this soon because of the duplicative nature of a lot of code I do in my code that I can't automate at generation time.

 

Subsonic looks like it's 'equivalent' to netTiers. Generates a DAL. I like codesmith because it can do more than just a DAL.

 

hth

 
New Post
4/20/2010 4:07 PM
 

They are actually a combination of multiple things (ORM, Code Generation, etc.) and you can also add EntitySpaces to the list which does have built in support for DotNetNuke.  There are other players here too, but EntitySpaces is the one I am most familiar with that caters to DotNetNuke specifically. Basically, these allow you to create tables and views then use those tables and views to generate code that replaces the DNN Data layer thus saving you time in development.  


Chris Paterra

Get direct answers to your questions in the Community Exchange.
 
New Post
4/21/2010 11:55 AM
 

Baatezu & Chris,

Thanks so much for responding.  So I think it's safe to say that I may be making it a little harder on myself with module development if I didn't know about the tools that you all just referred me to... would you agree?  At least if I don't want to hand code everything from scratch that is.

Now to my next question...I've got books on DNN module development and in the latest book they have a small image of a module's architecture.  I'm a visual learner and so I recreated the graphic so as to help me understand it better by making each piece.  It may be elementary to do that, but I like to get a conceptual grasp on things before hand and I know how I learn.   See the module architecture/data flow image here

As I read the books (and as I watch the demos) I try to align what I'm seeing with where it goes on the chart.  As a beginner, this has not been easy for me to do.  In your posts you said that you use CodeSmith + NetTiers / EntitySpaces for your Data Access Layer.  Can you help me understand what exactly this is providing for you with regards to the files in the module structure?  I know it's generating code based off a template that helps you develop rapidly, but where do you place the code once you get it?  Is it creating your "Concrete Data Provider" as well as your "Abstract Data Provider"?  I'm pretty sure that it is creating your "Controller" class.  Also, am I correct to say that many of these files reside in the Components folder in the module folder hieararchy?

My end goal is to know what code files are provided to you by the ORM/Code gen tools.  I feel like I know what tools are necessary and now I'm trying to figure out where exactly the code that they generate resides within the architecture of a module (the chart image) and also where they are located within the hierarchy of folders that get created from the DNN Starter Kit template. 

Thanks again for any insight.  Your responses are really helpful to me.

Regards,

Clint

 
Previous
 
Next
HomeHomeDevelopment and...Development and...Getting StartedGetting StartedDevelopment QuestionDevelopment Question


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out