Number 2 is really interesting actually. As an option to "Generating
Classes" it would be really neat if it would 'Generate a Maven
Project' or 'Build Library' and create self-contained data libraries.
We distribute a maven dependancy for our data layer to multiple
projects that depend on it.
Ok, but maybe thats just how I work ;) If that is interesting to
anyone else I'd love to take a look at working on it. But if its only
interesting to me then I'll let it sit.
In general I tend to start at the database, build my tables and
foreign keys and then reverse engineer it back to the modeler for name
changes, query building and class generation. Once I do the bulk setup
I then use the modeler for minor changes, only going back to SQL (and
migration) for new tables/relationships.
I guess it depends on what your comfortable with and this is the
beauty of Cayenne to me. GUI person? Use the modeler on its own. XML
person? Generate it by hand. SQL guy, reverse engineer into Cayenne. I
love that optionality.
John-
On Thu, Aug 20, 2009 at 12:56 PM, Michael Gentry<mgentr..asslight.net> wrote:
> Just to add some context, I'll use this legend:
>
> M = Me
> E = EOF guys
> H = Hibernate/Spring guys
>
> Meh. Something like that.
>
> [1] E/H - Found creating a new model confusing. Especially since they
> weren't familiar with the concepts of DataDomain, etc. Basically,
> they get a blank window and have no idea where to start, even though
> they are familiar with ORM modeling techniques. "I hate to be the
> typical Windows user, but some kind of wizard would be nice." (Said by
> a guy developing on OS X.) Even I recall being a little confused by
> what domains, maps, and nodes were when I first started coming from
> EOF.
>
> [2] E - Wanted the OS X concept of a wrapper/bundle for the model
> files. Essentially, he wanted to be able to name his model file
> (something other than cayenne.xml), but as we talked more he wanted a
> bundle that he can name ("MyProject" -> MyProject.cayenne directory)
> and then the cayenne.xml, etc files would be under there.
>
> [3] H - One guy used Cayenne quite a bit, but eventually ditched the
> modeler and edited the XML by hand. "It's not intuitive. I was
> confused. I remember having so many problems setting up the correct
> path so when files were generated they had the right path and package
> names." I'm not sure which version of the modeler he was using, but
> probably 2.x.
>
> [4] M/E/H - Allow multiple projects to be open at the same time. The
> EOF guy considered this a bug.
>
> [5] H - More useful validation. "When it is validating the mapping
> file, I dont find its output useful at all. Since the mapping works
> despite the warnings raised in the modeler, I question the value of
> those warnings." I think he was probably using 2.x then.
>
> [6] E - After generating DB schema, menu bar gets blitzed. I told him
> this was due to a recent OS X update and hopefully Apple will fix it
> soon.
>
> [7] M - If you rename a DB attribute, it doesn't change the name in
> the ObjEntity even if you remember to sync the class.
>
> [8] E - "I can't figure out how to flatten a relationship." I had to
> fess up and tell him that I didn't know, either.
>
> [9] M - Recent projects list. When launching CM, I see a nice list
> with "/Volumes/Macintosh_HD/Users/mgentry/Projects/Eclipse/Works..."
> This fills up my recent projects list and I can't tell what is what.
>
> [10] M - If you select an ObjEntity and look at the attributes, then
> resize a column (say, Java Type) so you can read everything in the
> column, then select something else, then come back to that same
> ObjEntity, the column doesn't retain the size you had set. I suspect
> this applies to more than just the attributes tab (too lazy to go try
> the others right now).
>
> [11] M - Generate Classes should probably show the entities first,
> then the code generator. Perhaps put both in the same window so it is
> obvious what is being done. The text "One entity selected" is a
> little too easy to ignore at the bottom of the window.
>
> [12] M - Generate Database Schema has similar problems to the Generate
> Classes, but is also inconsistent. In GC, if you select the Map it
> will generate all classes by default, but if you select an ObjEntity
> it'll just generate that one class. In GDS it doesn't matter which
> you select, it will do ALL tables. Of course, you might easily miss
> this as the tables tab isn't the first thing selected and the GDS
> window doesn't tell you how many are selected (unlike GC). Or you
> might get conditioned by the GC dialog and when doing a GDS assume it
> works the same way and end up dropping all of your tables (that
> happened to me the other day). Also, the Uncheck All Tables toggle
> doesn't work right.
>
>
> OK, a dozen is a good number for now. I've asked the others to pass
> on any other things if they think of it, but I wanted to try to
> kickstart a discussion about the future of CM.
>
> Thanks!
>
> mrg
>
This archive was generated by hypermail 2.0.0 : Thu Aug 20 2009 - 16:08:52 EDT