Saturday, August 19, 2006

ActiveWriter is a DLinq designer like addin for Visual Studio 2005 to design a domain model and to generate code decorated with ActiveRecord attributes.

 

 

It supports / will support:

  • Modeling
    Classes (Almost done)
    Class properties (Almost done)
    Setting a property as primary keys (Done)
    Setting more than one property as composite key (TBI)
    Many to One (Done), One to One, Many to Many relations (TBI)
    Nested classes (TBI)
    ... and more (I'm targeting to support the whole ActiveRecord model)
  • Model validation
    Current build validates most common things like classes without names, spaces in class names etc.
  • Drag and drop of table(s) from Server Explorer
    Can place tables, populate properties. I'm working on relations right now.
  • Automatic generation of source code of the model on save.
    Not implemented yet, but I know how to do it. Right now, it goes through .tt file.
  • Multiple database types as drag/drop source.
    Working on SQL Server right now. Oracle and others will follow.

I use the current CTP of DSL Tools to build the base. There are no downloadable bits right now, since I have to get a VSIP licence to make it run without the SDK.

I don't know to what extent I can open the source. I'll sure make the source downloadable but since part of the code is generated by DSL Tools and there's this VSIP licence, I may not be able to licence it under BSD or something. I'll look for it.

Anyway, I believe it will be a nice addin to have for people working with ActiveRecord/NHibernate. I'm doing my best to release a preview in one or two months.

Comments and suggestions are welcome.


8/19/2006 4:11:44 PM UTC
This looks amazing. Will you be able to edit the templates which are used to generate the class files (to fit house coding standards for example)?
8/19/2006 6:57:43 PM UTC
Colin,

This is a definitive TODO. First, I have to figure out a good way to inject custom naming / code. VS addins, AFAIK, does not have the permission to load external assemblies so a plugin model is impossible. I may have to devise a templating model on top of it, right now I don't know how.

Original templating of DSL tools, t4 model (.tt files), will be unavailable to the user, since I'll encapsulate them in a cutom tool. It's virtually impossible to generate code in t4 files with its asp like language, decorating stuff with <%%>'s etc., so I just call my generator library from the template.

Added to my TODO list. Thanks.
Gokhan
8/19/2006 7:58:30 PM UTC
Gokhan, you might be right about addins not loading external assemblies, but Resharper has a plugin infrastructure that does load external assemblies. It give you two options to load them, through a devenv command line option or using the plugin folder under the Resharper installation folder... This might simplify things.
10/18/2006 7:27:33 PM UTC
Hi,

I want to use some of your code in ActiveWriter in my own generator. What's the source license for this ??

Dondy
10/18/2006 7:36:13 PM UTC
Released under Apache v2.0. You can get the source at http://altinoren.com/activewriter/downloads.htm

If you encounter any bugs, please let me know so I can fix them in ActiveWriter. Have fun :)
Gokhan
11/23/2006 1:15:09 PM UTC
I'm interested - any update on progress?

Is this project still active?
Steve
11/23/2006 8:16:42 PM UTC
Steve,

You can download current bits and the source at http://altinoren.com/activewriter/

The project is active, I'm working on some improvements (generics support, a plugin structure and blinq like functionality through a plugin) but don't have enough time lately.
Gokhan
12/8/2006 10:11:03 PM UTC
Thanks.
I'm mostly interested how it does the relationships
Steve
Name
E-mail
Home page

Comment (HTML not allowed)  

Enter the code shown (prevents robots):