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
- Ext.ux.MvcFormValidator
- 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
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:
- Microsoft SQL Server
- Microsoft SQL Server Compact
- Oracle
- MySQL
- PostgreSQL
- IBM iSeries (Requires iSeries OS that is v5.4 or greater. This provider has been tested against v6.1.)
- VistaDB
- Sybase SQL Anywhere
- SQLite
- ADOX (Can be used to connect to any other database engine. (E.G. Microsoft Access or Microsoft Visual FoxPro)
We are considering on releasing more open source code in the future. If you have any questions or concerns please contact support.