Here is one of those "big strategy" emails that tend to have negative
impact on things that we can do here and now, instead of doing the
"right" thing some time later. So no intent to discourage CAY-762
implementation, just a somewhat related issue that we may discuss in
parallel.
For all its undeniable advantages, IMO the main usability issue with
CayenneModeler is the fact that it is separate from an IDE. This "gap"
results in the following problems:
1. Losing work context when switching between the apps:
You have to often jump between the IDE and the Modeler. When
switching, you lose your work context. E.g. click on a Java class name
within some code, the class opens... Then you'd like to see its
Cayenne mapping. To do that, you have to go to a different
application, type something in a search box, open the entity, then tab
between attributes/relationships, then look for DbEntity, tab between
attributes/relationships again. It is too far away from the original
Java class. I'd like to see Java/XML/Modeler representations of the
same entity in the same view.
2. Manual Refresh
When the model is saved, you have to refresh files in IDE to pick up
the change.
3. Class Generation:
You need to generate classes manually on model change, then refresh
files in the IDE. For Maven/Eclipse users cgen problem is somewhat
addressed, as you can tie cgen to Maven, and Maven to Eclipse, so
classes are generated on refresh. Still you have to do refresh, and
then a second refresh (first refresh for xml, second for the generated
classes - totally annoying).
The best way to address the gap is to write an IDE plugin replacing
the Modeler. There's a bunch of advantages and disadvantages to that:
[good]
* everything is integrated
* Eclipse environment provides lots of built in services that we can
take advantage of (most notably it has a built in project model),
including graph capabilities.
[bad]
* not everybody's using Eclipse (e.g. Kevin mentioned he's an IDEA
user). Supporting multiple IDE's is not realistic for us. I guess this
can be addressed by packaging it into a standalone SWT app.
* we'll have to support multiple versions of Eclipse, and will be
dependent on Eclipse API evolution.
[ugly]
* the time we invested in the Modeler. Reproducing that in Eclipse
would be non-trivial.
Or we can go with some hybrid approach of having an Eclipse plugin
exchanging events with the Modeler. Not sure if we can make the user
experience as nice, we'll have to support 2 tools instead of 1, and
we'll have to support an extra messaging layer. But this is probably
less work overall...
Or we can write an Eclipse plugin in parallel with the Modeler and
provide both as independent tools... Such internal competition will be
a resource drain though.
So nothing is free, and these are some hard choices... I am sort of in
favor of the last one, as even an initial plugin prototype will show
whether we can have significant usability improvements, without being
a full Modeler replacement.
Andrus
On Oct 22, 2009, at 10:40 AM, Andrey Razumovsky (JIRA) wrote:
> [ https://issues.apache.org/jira/browse/CAY-762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12768592
> #action_12768592 ]
>
> Andrey Razumovsky commented on CAY-762:
> ---------------------------------------
>
> FYI
> JGraph has moved to BSD since 5.13:
> http://www.jgraph.com/jgraphlog.html
>
> I assume this means we can now use it? The library seems to be quite
> promising
>
>> ERDiagram for Object Entities in Cayenne Modeler
>> ------------------------------------------------
>>
>> Key: CAY-762
>> URL: https://issues.apache.org/jira/browse/CAY-762
>> Project: Cayenne
>> Issue Type: New Feature
>> Components: CayenneModeler GUI
>> Affects Versions: 3.0
>> Reporter: Ahmed Mohombe
>> Assignee: Andrus Adamchik
>>
>> Please add an ER Diagram to the Cayenne Modeler. This is the
>> feature that I miss the most from WebObjects.
>> For start it would be even enough to have an ER Diagram View (so
>> no interactive activities) - just display and layout of entities.
>> I think this would help allot and would increase the productivity
>> with CM - most people think visually.
>> I don't think that it would be complicated to implement, the most
>> complicated question to answer is what graph library is allowed to
>> use, due to the restrictive "license compatibility" of the Apache
>> license.
>> Thanks in advance,
>> Ahmed.
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>
This archive was generated by hypermail 2.0.0 : Mon Nov 02 2009 - 03:56:35 EST