A recent post:
Off-Page Connectors in BPMN reminded me about the fact that support for "long" connectors in EA is limited (and, to a small extent, disfunctional).
So, before I submit a formal feature request, I thought I should sort out some of the ideas involved and get any feedback from our knowledgeable user base.
Whatever proposal that we generate, needs to be both human usable and manageable by automation. The solution should also apply to the HTML and RTF reports. In particular, for my own part, I seem to be working increasingly at the level of generating websites corresponding to the portions of the model - "page" will have two meanings: Web screen (at a particular resolution) and printed page.
Metamodel: A
model is composed of related
vertexes connectable by
arcs (not every vertex is related to it's related vertexes by arcs). The vertexes and their interconnections can be represented in
diagrams. Diagrams are rendered onto one or more
pages, printed or web.
The saying goes: "A picture is worth a thousand words" - to which I have added the rejoinder: "until there's more than 6 shapes and twelve lines in which case, all bets are off!". However, often, we need to have more complex diagrams that include the many more arcs and shapes.
Given the current drawing engine (or paradigm - as a user it's not clear which) that EA uses forces arcs to overlay vertexes, a diagram can become visually confusing very quickly. (NOTE: I'm not criticising the overlay approach, just observing that's the functionality).
EA provides a somewhat convoluted mechanism to allow the creation of on-diagram: You first have to make the arc a "custom line" style, then you have to add "bends" (way-points) on the line to create multiple segments. Next you have to suppress one of the line segments - and EA will then place a marker at either end of the suppressed segment. The markers (at each end of the suppressed segment) have no explicit identity - so, if you had more than one suppressed line segment on the diagram, this might be a source of confusion (depending on circumstances). If you have named the arc, then the name of the arc is embedded within the marker. (NOTE: again, some (possibly mostly) of these actions are necessary, but, in my view, some of the mechanisms used here are not optimal).
So what to do?
Firstly, it seems to me we need to clearly separate model infrastructure from rendering infrastructure. The original post (and KP's response) cite BPMN as providing off-page connectors. The BPMN specification (in section 10.2.1 Normal Flow) describes the use of Link Intermediate Events as "Off-page Connectors" or "Goto Objects". In my view, this is conflating two ideas - modelling and rendering. Your model should not be constrained by the rendering constraints imposed by an arbitrary rendering technology. The reduction of "clutter" on a diagram is a function of the diagram - hence mechanism such as on/off page connectors should be attached to the diagrams themselves - thus requiring:
Diagrams as first class citizens of Repository.
Now, to the concepts themselves...
I have made a distinction in the topic title between on/and off diagram connectors. I believe they are conceptually different - although not by much. EA already provides mechanisms for linking between diagrams: The incorrectly named "composite" element mechanism and hyperlinks. The former attaches a diagram (of arbitrary type and, once linked, arbitrary location within the repository) to a vertex. The latter allows you to move to another diagram by double-clicking the (adorned) vertex or the hyperlink. Now, it seems to me that in the context of this discussion, an off-diagram connector is about "splitting" an arc so that one end is in one diagram and the other end is in another diagram. Consequently, it is a rendering function. Neither of the existing mechanisms achieve this. So a new mechanism is required.
The ability to create/suppress segments shouldn't be restricted to "custom line" style arcs... The number of segments is orthogonal to the "shape" of the arc. In particular the creation of such connectors should be a first class function of the arc. (Not as at present almost a side effect of a series of operations).
As regards on-diagram connectors, I believe an indication of whether the other end is on the same page or on a different page would be useful. This would apply to whether the page were printed or nominated screen size.
(See part 2 below)