Hello everyone!
First of all, let me tell you that I know I've been slow to respond because I've been working hard on this
release and -of course- my day job. I will go through my pending email
list and answer you concerns soon. Sorry about that.
This release is part of a major code cleanup. It includes all the changes that were in the nullable test versions plus a bunch of other things. A lot of old and unused code was removed and some things were refactored a bit to accomodate for some changes. Once we fix any bugs with this one I'll start looking at CSLA 3.5.
The intention is to have a few test rounds and then declare it the official CslaGenerator 2.0 version!! (hopefully within the next 2 weeks). Consider this an Alpha release. I'll be gathering feedback and release a Beta 1 next week.
Here's the changelog (I hope I didn't miss any changes).
Project Settings:
-Output Language is now on generation parameters. The per object setting is ignored as of this version (and should be hidden from now on).
-The "Objects to generate" checked list box is gone. See project panel changes for details.
-Cslagen now notes when the settings have changed and warns you before generating, with option to save.
-New option for adding a default criteria with no properties to ReadOnlyCollections and NameValueLists. (enabled by default).
Project Panel Changes:
-Support for filtering the list by name and object type.
-Support for different sorting options.
-Support for selecting multiple objects at the same time. This makes setting a value such as "Generate = True", or changing roles on many objects at once a lot easier. Adding columns to many objects at the same time is not supported though, you still have to do that one BO at a time.
-Since the "Objects to generate" list is gone from the project properties, the listbox now displays items that won't be generated in a lighter color so you can easily spot what's going to be generated.
Nullable Support:
-We now support nullables. Support for it can be enabled or disabled entirely through the generation parameters.
DateTime Support:
-We now support the standard DateTime data type. There's a setting inside the New Object Defaults tab under project settings where you can define your preferred date type (smartdate vs datetime).
Other features:
-New context menu shortcut for creating NameValueLists. Select a PK column and a non-PK column and right-click -> Create -> NameValueList.
-About Box. Thanks to Andrew Backer. Now you can stop wondering which version you have. :)
-The new object parameters window also got some love. I removed the grid view in favor of regular textboxes so that we don't have any more pesky focus issues. Also, when defining parent types in this window (when creating child collections), we get a little suggestions dropdown as we type.
Fixes:
-I have found an issue when opening older projects (pre multiple criteria) where sometimes generating sprocs could crash. This was fixed. Don't be afraid of working with old projects in new versions, and if you have any issues, post about the issues you have. I'm very careful with changes and I always do my best to try and maintain backwards compatibility.
-There's also a couple of c# fixes that have been reported.
-I've also fixed some other issues that I've seen in the forum and I may have not responded to.
Notes:
-The big changes happened in the ui and in the internal metadata. No changes other than a few bug fixes in the actual generated code.
-This is an early release and, while I did quite a bit of testing with different projects, you may run into bugs or issues. PLEASE, REMEMBER TO BACKUP YOUR WORK.
I hope that you all like the new features and download the latest release for testing. I'll do my best at fixing any bugs ASAP.
You can find this release here:
Binaries:
http://www.softwarethinking.com/CslaGen/CslaGenerator-20080723.rar
Source:
The latest trunk version does not have all the latest UI goodies. I'd like to make at least one test round before checking that in to svn.
https://cslagen.svn.sourceforge.net/svnroot/cslagen/trunk
--
Andrés