Eric J. Smith's Weblog

CodeSmith, .NET, etc...

March 2004 - Posts

CodeSmith Feedback Survey

Now that CodeSmith 2.5 has been released, I'm starting to think about the things that will make it into the next version and I would really like to hear all of your opinions. I have setup a small survey (only 9 questions) and would really appreciate everyone taking a minute to fill it out. I'm especially interested in hearing from the people who have had problems with CodeSmith or didn't like it for some reason.  I truely want to make it the best that it can be and this is your chance to help drive the future of CodeSmith.

Here is a link to the survey:
http://bulletsurvey.com/respond/?s=6c45664a-2c4

P.S. I want to thank the great people at bulletsurvey.com for hosting this survey.  They have a great product and have been very responsive to my requests.

Posted: Mar 29 2004, 10:53 PM by ejsmith | with 1 comment(s)
Filed under:
CodeSmith Knowledge Base

CodeSmith now has a knowledge base with FAQ, tutorials and troubleshooting information.  James Avery and I have been working to get this populated with more and more useful information and so far we have a decent start, but we will be adding more content as time permits.

I want to thank InstantASP for creating such an awesome application.  If you have a need for a knowledge base or forums application, I highly recommend their products.  I couldn't believe how easy it was to plug their knowledge base application into my website's framework.  Very cool stuff.

Posted: Mar 22 2004, 06:02 PM by ejsmith | with 4 comment(s)
Filed under:
CodeSmith and XML

Stefan Cullmann points out CodeSmith's current lack of good XML support.  I agree completely and dramatically improving XML support in CodeSmith is very high on my priority list so I decided to take this opportunity to let you all know what I am planning to do and see what you think.

Currently, CodeSmith only supports XML serializable objects.  Basically, you create an object that is XML serializable, create a property of this type in your template, CodeSmith then allows you to select an XML file which will be deserialized into an instance of your object, and you can then proceed to use the information provided in this object in a fully object oriented and strongly typed fashion.  Even though you can easily use XSD.exe to generate this object for you based on either an XSD or infered from an XML instance document, it is still a bit of a pain to setup and needs to be updated as you decide to add more information to your XML document.

I am planning to add 2 additional ways of supporting XML in CodeSmith.  First, I plan to put together a simple designer that will allow you to select any XML file and CodeSmith will load this XML for you into an XmlDocument object and you will be able to traverse the information using the XML DOM.

Secondly, I plan to implement my own version of XSD.exe that will be embedded into the CodeSmith engine and will take any XSD and dynamically create a strongly typed object model for it on the fly.  This will basically give you the best of both worlds.  You will be able to use XML as an input source and you will also be able to write your templates against a strongly typed object model.  Here is a little sample of what this might look like:

<%@ XmlProperty Name="MyOrder" Schema="MyOrderSchema.xsd" %>
<% foreach (DetailLine detailLine in MyOrder.DetailLines) { %>
ProductID: <%= detailLine.ProductID %> Quantity: <%= detailLine.Quantity %>
<% } %>

I'm interested to know what you guys think of this so feel free to comment on this post and let me know.

Posted: Mar 15 2004, 06:18 PM by ejsmith | with 3 comment(s)
Filed under:
More Posts