structurizr / dsl

Structurizr DSL
https://docs.structurizr.com/dsl
Apache License 2.0
1.41k stars 266 forks source link

Implicit relationships were a good thing and should not have been removed #329

Closed jerkstorecaller closed 1 year ago

jerkstorecaller commented 1 year ago

Description

Can you please revert or rethink the solution to #166? If you think about it from the perspective of casual users only interested in producing nice doc with as little effort as possible, this breaking change is bad. It costs the user convenience and utility, for no benefit that I can perceive. Please explain, how does a single dynamic view creating relationships make anything confusing or worse?

I have a single "bird's eye view of everything" dynamic animation I wrote to help people understand a full end-to-end flow of my multi-system project. In an animation like that, I don't want to show components that only act as a middle-man (i.e. implementation details) even though they exist, because there's already way too much going on on the screen.

Now my options are:

  1. Make these relationship explicitly defined in the model. Now a dev looking at that system in isolation will see two relationships, The real world Entity1 -> Middleman -> Entity2, and the new Entity1 -> Entity2, just because I want my animation to show Entity1 -> Entity2.
  2. Delete my "bird's eye" view, never write views like that again

Option 1 is obviously unacceptable, leaving only option 2. Structurizr's utility just got slashed.

There should be a "casual_mode" directive that leaves all the convenience that ordinary people would depend on. My recommendation is to never remove features that give convenience, just hide them behind this flag.

Priority

Low

Resolution

I have no budget, please add this feature for free

More information

No response