On 29/03/2016 7:06am, Michael Gentry wrote:
> One thing I'm curious about is with the 4.0 CM, the
> attributes/relationships tabs have been merged.  With the approach I was
> taking, keeping them separate allowed an "inspector" to appear below the
> the attributes (I was going to take the same approach for relationships) so
> that you don't have to deal with a popup inspector.  I think this is very
> useful when adding the JavaDoc and Annotations support.  Having the
> inspector there obviously takes up valuable screen space, so I'm concerned
> that if the attributes and relationships remain merged, as in the 4.0 CM,
> the display area would be quite tight.  Maybe we should keep them separate?
> 
> I've spent 3-4 days on it thus far, but would love some constructive
> feedback, especially if I'm heading down a bad path.

Visually, it looks much improved, and the JavaFX skin is clean and modern. Your 
icons are much more consistent than what we have today, even though they aren't 
terribly informative visually.


I can see what you are doing with the "inspector" however I don't think the 
hierarchy of information is very clear. That is, a user can understand the left 
tree shows DataDomain -> DataMap -> ObjEntity. And then they are shown a list 
of attributes and other properties of that ObjEntity in the right panel when 
they click in the tree.

It is also clear that each of those properties (eg an attribute or relation) 
has a number of 'options' they can adjust, displayed in columns: name, Java 
type, path, etc.

However I think it becomes confusing to then show additional options in a panel 
at the bottom: annotations, docs, etc.




Possible solutions:

1. Move ObjEntity properties into the tree on the left. For an example of such 
an approach (from MySQL Workbench) look at this:

https://dl.dropboxusercontent.com/u/14832257/tree%20with%20attributes.png

Pros:

* The overall structure is clearer
* Plenty of room in the right panel to clearly set out Java type, DB type, 
locking, and the other options now shown in the table. This gives more room for 
clearer labels and help text.
* No more editing in tables which can be non-intuitive if you don't know where 
to click
* More easily expandable compared to what we have today
* Easier to show validation errors (it can be hard to style table cells to show 
errors)
* Existing floating windows like the "relationship inspector" now has enough 
room to fit in the edit view.

Cons
* List of attributes sorted only by name, with callbacks, attributes and 
relations all mixed (probably with different icons to distinguish them). 
Although the mysql example does separately group columns/indexes/etc so they 
could be kept separated.
* More clicks to rapidly change options of lots of attributes (click on each, 
then change property in right panel). Is this a common use-case?
* You don't see all the attributes with their options in a table in one glance



2. A three panel view. So, Michael's design but with the additional properties 
to the right rather than at the bottom.

This sort of approach is common in email. Tree of mailboxes to the left. List 
of messages in the middle and the details to the right. We'd have 
domain/map/objentities in the left tree. Attributes in the middle. Options to 
the right.

Pros:

* Left tree is simpler than in option 1
* Shows hierarchy better than option 0 (Michael's mockup)


Cons
* Middle panel (list of attributes) would need to have fewer columns than we do 
now in order to keep the width to a minimum.
* Not as flexible as option 1
* combination of tree and multi-panel approach might be confusing



3. Move the additional options (javadoc, annotations, etc) into floating 
windows like the Relationship Inspector.

Pros:

* Least effort
* Yeah, nothing else.. its a pretty horrible UI choice.

Cons:

* Ugh




I had a quick go at mocking some of these up, but spent so much time fighting 
the tools that I didn't get very far. Michael, if convenient can you send 
through your SceneBuilder files to play with?

I think the other problem to solve is the icons. Myself, I typically use 
Cayenne Modeler once every few months. So every time I use it, I'm clicking on 
icons to try and remember which one is which. Is blob-blob-plus a new 
relationship?

Ari


-- 
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A

Reply via email to