CodeSmith Tools’ Open Source Components

Sometimes I think that people don’t realize how much code CodeSmith Tools has open sourced over the years. Sure some of these projects are CodeSmith specific (such as our many schema providers), but many of them are not dependent on us at all.

General Open Source Components

  • CodeSmith.Data

    • This is library. Included with the PLINQO source code, is not CodeSmith specific! It contains a slew of fun things such as cache providers, LINQ extension methods, and even a generic rules engine.
    • Source Tree
  • Ext.ux.JSONP v2.0

    • This is a rewrite of the Ext.ux.JSONP component. It includes additional parameters that match up with a normal Ext.Ajax.request, meaning that it includes handlers for success, failure, and callback.
    • Blog Post
    • Download
  • Ext.ux.MvcFormValidator

    • These JavaScript libraries allow you to use the MVC2 client side model validation and only have to reference the ExtJS core library.
    • Blog Post
    • Download
    • Demo
  • MVC JSON Model Binder

    • This simple little BinderAttribute allows for controller action properties to be generically deserialized from JSON strings.
    • Blog Post
  • MVC2 AddValidationErrors Extensions

    • These extensions allow you to populate a controller’s ModelStateDictionary, making it easier to unit test controller actions that check for ModelState validation.
    • Blog Post
  • Selenium 2 and WebDriver Extensions for .NET

    • Some of these extension methods have now been made obsolete with the release of Selenium 2 Beta 1, but there are still many more useful methods here that allow for use of LINQ in element selection and simple interfaces for executing JavaScript.
    • Blog Post
    • Download

All of our Templates and Frameworks

While they are obviously CodeSmith specific, all of our Generator templates and frameworks are open source. This means that anyone is free to use them, learn from them, commit patches to them, upgrade them, and customize them as they choose. Can you imagine if LINQ to SQL had been open source? It would be a very different world, and PLINQO would probably be a very different framework.

CodeSmith Generator Schema Providers

CodeSmith Generator’s Schema Explorer is architected around the provider model. Different database providers can be plugged into Schema Explorer, allowing all templates to use the same model regardless of which database they are being generated for. To ensure that users always have access to the best and most up to date providers, all of these have been open sourced and are packaged in the latest version of CodeSmith Generator. Here is a list of the providers that have been open sourced and included in the extracted samples:

We are considering on releasing more open source code in the future. If you have any questions or concerns please contact support.