Dave Burke : Freelance .NET Web Developer specializing in Online Communities

CSTiers is born

A new CodeSmith Project enters the world and its called CSTiers, named after the excellent .netTiers project. While .netTiers creates a complete website, CSTiers will create a DBVT Community Server Visual Studio customization project framework.

Almost every Community Server customization project I do involves five areas: DBVTConfiguration, DBVTContext, DBVTUrls, a Data Provider and original Chameleon Controls.  The objective of CSTiers is to create the structure for each of these areas when I start a new CS project.

I created CodeSmith templates to generate Data Providers for both SQL Server and Access some time ago, and because I'll be creating a number of Chameleon Controls over the next weeks I added a CodeSmith template to generate the control classes: Data, List, PropertyValueComparison, PropertyComparison, ControlUtility, Query and ThreadQuery.  All seven classes may not be used for every Chameleon Control, but why not create them anyway?  I included the option for generating a ControlUtility class, and since this is an early version of the template I'm sure I will add more generation options going forward.

Below is the execution template for CSTiers.Controls using my recent DBVT ITunes mod as an example.  A master CodeSmith template would be used for the project, equivalent to the netTiers.cst template and would replace the individual templates.

 

 

The output of CSTiers.Controls is shown below.  And no, the classes aren't 100% complete, as there is still a bit more coding to do, but 80% complete is better than 0%.


 

The CodeSmith project output window so far looks like the following.  When complete it will contain a single template generating not only Controls and the Data Provider as shown, but the Configuration, CustomUrls and Context folders and files as well.

 

Comments (6) | Post RSS RSS comment feed

Posted on 10/30/2007 5:27:26 AM by Dave Burke
Categories: .NET | CodeSmith | Community Server
Tags: no tags for this post

Related posts

Comments (6) -

10/30/2007 6:27:01 AM Permalink

Excuse the very simple question but could you explain what CodeSmith is?

Alex C |

10/30/2007 7:24:50 AM Permalink

Hi, Alex.  Sorry, CodeSmith is a Code Generation tool that, well, generates code for you rather than writing it by hand.  If you view my site's "CodeSmith" category you'll find a number of descriptions.  The CodeSmith site is http://codesmithtools.com.  Thanks for visiting.

daveburke |

10/30/2007 8:37:13 AM Permalink

Can you post the project on CodePlex so that I can contribute? I'd really like to lend a hand, as this would be an incredibly useful toolset for CD modders.

Robert McLaws |

10/30/2007 9:32:25 AM Permalink

Any chance of a download link for this?  If so you would be the most super awesome person of the week ;)

Tom Lynch |

10/30/2007 9:45:07 AM Permalink

Being super awesome person of the week is over-rated. Smile  I'm sorry, Tom.  Not at this point.  Being completely on my own paying my own insurance, 401K, etc. I need every strategic advantage I can muster.  Besides, as my clients know, they're billed for the time I spend on CodeSmith templates like any other time on the project.  They benefit by fewer hours billed in the long-run so its all part of the happy DBVT service plan.  Besides, it ain't done yet.

I want to post more about CodeSmith, maybe even do an electronic doc/book/something and will post the essentials of writing out to files, creating CodeSmith projects, that sort of thing.  All I did for this was get up-close-and-personal with the most excellent netTiers.cst source.

daveburke |

11/1/2007 6:10:25 AM Permalink

Thanks - I'll have to have a look at that in the not so distant future.

Alex C |


Powered by BlogEngine.NET 2.0.0.36
Theme by Dave Burke