As I underdstand it, the option "Apply Locks to all Connectors" is a refinement of the EA locking mechanism: don't just lock element, lock connectors as well.
But I don't quite understand why it works the way it does.
As an example, say that the option is ON, and I have two elements, A and B, and A is in a package which is locked to me, but B is not.
When I try to draw a connector from A (the locked element) to B (the unlocked one) then EA puts up a helpful error message ("Warning: Connector cannot be created....").
Excellent: expected behaviour.
But when I try to draw a connector the other way around, from B to A, EA will allow me to create almost any kind of connector.
If the connector is directionless - say an Association - then its just strange. A to B doesn't work but B to A does, so if the user starts drawing from A, no connector, if from B, they get a connector.
If the direction is meaningful (Dependency, Realization etc) then EA seems to allow inbound (B to A) connections, but not allow outbound ones. Which at least is self-consistent. So I can make A 'a part of' B, but not B a part of A.
Does anyone else feel this is a bit strange?
I'm tempted to expand the function of this option by intercepting the 'create connector' event, and saying NO when either end of the connector is locked to the current user. That way, I'll get behaviour I expected: no connectors means no connectors. Not 'only inbound connectors, or directionless ones when you start from an un-locked element'.
Can anyone see a problem with making the locking more restrictive? Or am I 20 years late into a debate that has already happened?