Hello Paolo,
Hi Michael,
Apologies in advance for the long reply, but I've used it to help organise my thoughts on the matter.
As I mentioned, we're looking into this problem ourselves.
Also, I note your subsequent response to Paul Lotz. I agree configurability is desirable - but ONLY if it is done right!i totally disagree, they do harm.
I currently parse through about 200 diagrams,
fixing this additional connectors shown and it hurts.
I didn't say they don't harm, I said the current situation - such as it is - does the LEAST harm. The alternative (again in the current situation - more below) of (say) NOT showing relationships by default is TOO dangerous from a model theoretic point of view.
When somebody adds a NEW connector to a diagram, than the connector primarily belongs to this diagram context.
This, perhaps, is where you and I may have to agree to disagree. You appear to be taking a diagram centric approach to modelling. The diagram IS the model
(if I've misunderstood, apologies - but I submit that from your comments that was a reasonable deduction).
If fact, the diagram is a VIEW into the model. That's why the UML specifications currently (except in very specific circumstances) don't mention diagrams at all! So, the EA DB (where all the information is persisted) is the model.
We should be able to look into the DB and "picture" what the data therein is telling us about the "Subject under model". Notionally, we shouldn't need diagrams at all!
In a past life, I experimented with "verbalisers" that generated narrative descriptions of the model.There's a saying (at least in English): "A picture is worth a thousand words". But in modelling, at least, I've found I've had to modify this to add: "unless there's more than 6 boxes and 12 lines - in which case, all bets are off!"
From a model theoretic point of view each diagram should show
everything that the model knows, otherwise the diagram is "lying" about the state of the model.
We humans can't handle the innate complexity of anything but a trivial model. So we create multiple diagrams to show specific aspects of the model that allow us to focus on what
WE (not the model or tool) consider important.
Again though, from a model theoretic point of view, the tool has no option but to (by default) show all the data that is in the model for the elements shown on the diagram.
If I stick a note to an element, I want to stick it in this diagram.
Well, when I add a note to an element, I'm adding that note to the model. I frequently want to see that note on multiple diagrams. So, since EA doesn't provide the notes in the browser I have to copy and paste from diagram to diagram. However, like the relationships themselves, I want to see the note on some diagrams and not on others.
If I want to add an element into a diagram, it belongs to this diagram context.
Again, in our models, the same item can appear on many diagrams.
The first autoupdatable diagram type we created was the "neighborhood" diagram
(we succumbed and much to our regret used the American spelling).
"For the specified 'root' item, create a diagram showing it as the central item (in great detail) and the items related to it by one relationship according to the defined algorithm (but rendered in summary)."
So, the same item appears on
many diagrams - sometimes in detail, sometimes in summary.
As the model changes, the set of items on the diagram may change - the diagram adapts accordingly.
If I hide the elements, I want to hide it on this diagram.
Well, remember that with elements, due to EAUI you're not "hiding" the element, you're
removing it from the diagram. In other words, you are filtering the view to the set of items you are currently displaying. (That's why there's no equivalent to the
Diagram|Visible Relations... [Ctrl+Shift+I] for elements.)
With our neighborhood diagram, as the model changes, any given element on any given diagram may end up an "orphan" that is not connected to any other element on the diagram (at least for the set of relationships we've decided on). The autoupdatable diagram manager will, therefore, remove the element for us.
The point is,
the diagram needs to adapt to the state of the model - not the other way round!!! The diagram is an input/output mechanism. It ISN'T the model. There's a famous painting by Rene Magritte
(cheers Geert!):
Ceci n'est pas une pipe. (This is not a pipe) Of which I keep a copy up on my wall.
It's to remind me that the model isn't reality and that the diagram is not the model!{see second part of response following}