Author Topic: IDEA: Control of connector display  (Read 12600 times)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8607
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
IDEA: Control of connector display
« on: November 16, 2006, 05:47:41 am »
When you add an edge between two vertexes (such as an Association between two Classes), EA (6.5/800.) automatically adds the edge onto all the diagrams these two vertexes are found.

Superficially, this is most attractive.  However, as we move into more complex models with many layers and levels of diagrams, many of which are designed to display only certain aspects of the model, this can be counter-productive.

It seems to me that some form of flexible control is needed to assist in the management of edge displays.

Probably the place to start is at the Repository level - Add an option in the Diagram section of Tools|Options:

[X] Automatically add connectors to all applicable diagrams (unless otherwise directed)

By default this would be checked and thus preserve the current functionality.

Then on each diagram in the properties:

[  ] Do not automatically add all possible connectors

This is unchecked by default - thus preserving existing functionality.

Now if either of these defaults is reversed, then when the edge is added on the first diagram, the Set Connector Visibility dialog is invoked and the user can select which diagrams to add the connector to.

Now... if to the diagram properties we add the option:
[  ] By default do not add connectors
such that it is enabled if [X] Do not automatically add all possible connectors is checked, then we can have EA automatically set the default value of add/don't add to the Set Connector Visibility for this diagram.  The user can, of course, override the default.

I think this might provide the requisite control/flexibility to allow effective and efficient management of connect display on diagrams.

Thoughts?  Votes?
Paolo
[size=0]©2006 Paolo Cantoni, -Semantica-[/size]
« Last Edit: November 16, 2006, 03:43:00 pm by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

peter.zrnko

  • EA User
  • **
  • Posts: 253
  • Karma: +0/-0
    • View Profile
Re: IDEA: Control of connector display
« Reply #1 on: November 16, 2006, 06:46:07 am »
What do you mean by "if either of these defaults is reversed" for [  ] By default do not add connectors.

Do you mean By default do not add connectors = TRUE for
- the diagram where the link is created
- OR any of diagrams where EA is about to show the just created links
Peter

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: IDEA: Control of connector display
« Reply #2 on: November 16, 2006, 08:13:48 am »
I'm not really sure of the best way to present (or default) the options.

Still, the idea is excellent, and would help conserve what little hair I have left for pulling due to other things.

Add my vote.
No, you can't have it!

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8607
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: IDEA: Control of connector display
« Reply #3 on: November 16, 2006, 10:51:47 am »
Quote
What do you mean by "if either of these defaults is reversed" for [  ] By default do not add connectors.

Do you mean By default do not add connectors = TRUE for
- the diagram where the link is created
- OR any of diagrams where EA is about to show the just created links
Yes, Peter.

If the net effect of the options at the (at both the global and local) level for any (all) diagrams the connector could appear on is to not allow automatic addition, then the dialog should pop-up.

There are more intricacies you could add to the process to make it even more flexible, but this should do for starters...

Paolo
« Last Edit: November 16, 2006, 10:52:03 am by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

peter.zrnko

  • EA User
  • **
  • Posts: 253
  • Karma: +0/-0
    • View Profile
Re: IDEA: Control of connector display
« Reply #4 on: November 16, 2006, 02:49:53 pm »
I think the same effect could be achieved with simpler formulation of options:

In Tools - Options - Links
[ ] Always ask when adding new connector to diagrams other then actual diagram

Asking mean showing dialog "Set Connector Visibility"
By default unchecked = ask  only when there is unchecked setting at diagram level "Automatically add all possible connectors" (see below)
If checked then the dialog "Set Connector Visibility" will be shown every time a connector is created and there is at least one other diagram it could be shown.

In properties for particular diagram
[ ] Automatically add all possible connectors (by default checked)
[ ] By default add connectors (Enable when the above option is unchecked, by default unchecked)

Possible combinationes (first combination is the default one):

[ ] Always ask when adding new connector to diagrams other then actual diagram
[x] Automatically add all possible connectors - for all applicable diagrams
Preserve existing functionality, doesn't show dialog "Set Connector Visibility"

[ ] Always ask when adding new connector to diagrams other then actual diagram
[ ] Automatically add all possible connectors - for at least one applicable diagram
Show dialog "Set Connector Visibility" if there is at least one other diagram it could be shown.(With all applicable diagrams listed or only with those that have unchecked Automatically add ...? I don't know, maybe for all.)

[x] Always ask when adding new connector to diagrams other then actual diagram
[ ] or [x] Automatically add all possible connectors
Show dialog "Set Connector Visibility" for all applicable diagrams if there is at least one other diagram it could be shown.
Peter

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8607
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: IDEA: Control of connector display
« Reply #5 on: November 16, 2006, 03:52:59 pm »
Hi Peter,

I'm not sure how your formulation is simpler, since they are both 3 check boxes...  ;)

But as I understand your suggestion, there is a fundamental difference between the two approaches.

Yours is a "push" strategy - the options on one diagram affect behaviour on other diagrams.

Mine is a "pull" strategy each diagram determines how it's connectors will be managed.

Can you confirm my understanding?

If it is correct, then I believe the pull strategy is more amenable to subsequent automation where the diagram can be interrogated by the automation process to determine what behaviour needs to be applied.

Thoughts?
Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: IDEA: Control of connector display
« Reply #6 on: November 17, 2006, 05:30:41 am »
The 'pull' strategy also seems to be a better match for the way things are done in EA at present. That's not to say that EA matches your CCC approach, but it can't hurt to have a little more (perhaps one C and a bit).
No, you can't have it!

peter.zrnko

  • EA User
  • **
  • Posts: 253
  • Karma: +0/-0
    • View Profile
Re: IDEA: Control of connector display
« Reply #7 on: November 17, 2006, 12:42:40 pm »
My formulation is simpler becuase all optiones are formulated positively - ask, add, ...
I don't like options formulated negatively - do not add, ...
If you uncheck such option you end with something like "Not do not add ..."

I think my strategy is also pull strategy. Options on one diagram affect only this diagram. The only possible exception is when adding a connector to a diagram and
the global option
[ ] Always ask when adding new connector to diagrams other then actual diagram
is unchecked
and diagram option
[ ] Automatically add all possible connectors
is unchecked for at least one applicable diagram
What to show in that dialog?
- only applicaple diagrams with unchecked option [] Automaticaly add ... (in this case my strategy is completely pull one)
- or all applicable diagrams (in this case there is little influence between different diagrams)

But generaly one strategy or the other it doesn't matter. You have proposed a great new feature and I'm voting for it.
Peter

Oscar

  • EA User
  • **
  • Posts: 65
  • Karma: +0/-0
    • View Profile
Re: IDEA: Control of connector display
« Reply #8 on: November 20, 2006, 02:07:48 am »
Add my vote.

I prefer Paolo's  pull strategy

thomaskilian

  • Guest
Re: IDEA: Control of connector display
« Reply #9 on: November 20, 2006, 03:05:13 am »
Add my vote. The current way of manually hiding all unwanted connectors definitely needs some improvement. And Paolos suggestion will support that pretty good.

Re Peter: Yes. Double negation is never at no time preferable over a positive statement ;D IOW: I appreciate your way to express it.
« Last Edit: November 20, 2006, 03:08:22 am by thomaskilian »

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8607
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: IDEA: Control of connector display
« Reply #10 on: November 20, 2006, 05:34:22 am »
Quote
Re Peter: Yes. Double negation is never at no time preferable over a positive statement ;D IOW: I appreciate your way to express it.
OK...  Here are the double negatives removed...  :D

Add an option in the Diagram section of Tools|Options:

[X] Automatically add connectors to all applicable diagrams (unless otherwise directed)

By default this would be checked and thus preserve the current functionality.

Then on each diagram in the properties:

[X] Automatically add all possible connectors

This is checked by default - thus preserving existing functionality.

Now if either of these defaults is reversed, then when the edge is added on the first diagram, the Set Connector Visibility dialog is invoked and the user can select which diagrams to add the connector to.

Now... if to the diagram properties we add the option:
[  ] By default do not add connectors
such that it is enabled if [  ] Automatically add all possible connectors is unchecked, then we can have EA automatically set the default value of add/don't add to the Set Connector Visibility for this diagram.  The user can, of course, override the default.

I think this might provide the requisite control/flexibility to allow effective and efficient management of connect display on diagrams.

Are we now agreed?
Paolo
[size=0]©2006 Paolo Cantoni, -Semantica-[/size]
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Oscar

  • EA User
  • **
  • Posts: 65
  • Karma: +0/-0
    • View Profile
Re: IDEA: Control of connector display
« Reply #11 on: November 20, 2006, 11:44:38 pm »
Quote
Are we now agreed?


I am.
« Last Edit: November 20, 2006, 11:45:52 pm by Oscar »

peter.zrnko

  • EA User
  • **
  • Posts: 253
  • Karma: +0/-0
    • View Profile
Re: IDEA: Control of connector display
« Reply #12 on: November 21, 2006, 12:24:27 am »
If I understand you well, you mean that
what happened after user add a connector to diagram A depends only on settings in diagram's A properties.

That means, if I want another diagram say diagram B to be  "protected diagram" (no other connectors will be accidentaly added to this diagram) I will have to uncheck
"Automatically add all possible connectors" for diagram A and all other diagrams. This is checked by default so it's quite a lot of work and can forget to uncheck it for some diagram.
And while unchecking "Automatically add all possible connectors" I'm making all diagrams "protected" and not only diagram B.
In fact I can achieve the same effect by the global setting.

Conclusion - with options you've suggested it's not possible to have selective "protected diagrams" (it's possible to protect all diagrams or none).

Maybe it's not bad.

Maybe a combination of push and pull strategies is possible.
Peter

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8607
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: IDEA: Control of connector display
« Reply #13 on: November 21, 2006, 12:35:25 am »
Quote
If I understand you well, you mean that what happened after user add a connector to diagram A depends only on settings in diagram's A properties.

That means, if I want another diagram say diagram B to be "protected diagram" (no other connectors will be accidentally added to this diagram)
Hi Peter,

I don't think I've explained myself well enough...  My view is that to create a protected diagram "B", I need to have:

Diagram section of Tools|Options:
[X] Automatically add connectors to all applicable diagrams (unless otherwise directed)
- This can be on or off - doesn't really affect this particular process - because I'm going to direct otherwise... :) (that's why I think it's a "pull" idiom).

Then in diagram "B"'s properties:

[  ] Automatically add all possible connectors
[X] By default do not add connectors

Should protect "B".  "B" is in charge of it's destiny...

Correct?
Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

peter.zrnko

  • EA User
  • **
  • Posts: 253
  • Karma: +0/-0
    • View Profile
Re: IDEA: Control of connector display
« Reply #14 on: November 21, 2006, 12:41:37 am »
OK.

In your suggestion, you can describe
[  ] Automatically add all possible connectors
as
[  ] Automatically add all possible connectors to this diagram

(at least in help file)
Peter