structurizr / java

Structurizr for Java
https://docs.structurizr.com/java
Apache License 2.0
1.01k stars 288 forks source link

How to have all child relationship description display on parent context view? #299

Closed myste1tainn closed 4 months ago

myste1tainn commented 4 months ago

Question

First of all, I think structurizr is really great, thanks for the efforts.

I'm trying to achieve certain views where relationship would be modified to be clearer for the viewer, here goes.

Considering that I have this code

workspace {
    model {
        acme = softwareSystem "Acme Software" {
            aContainer = container "Container A" {
                a1 = component "A1"
                a2 = component "A2"
                a3 = component "A3"
            }
            bContainer = container "Container B" {
                b1 = component "B1"
                b2 = component "B2"
                b3 = component "B3"
            }

            a1 -> b1 "a1-to-b1 description"
            a2 -> b2 "a2-to-b2 description"
            a3 -> b3 "a3-to-b3 description"
        }
    }
    views {
        container acme "Acme" {
            include *
        }
    }
}

The diagram I got looks like this image image

But in fact, what I want to achieve is like either of this, on the container (parent level), without changing the children relations (modifying only the views) image image

The goal is to depict and reuses all child relationship to display on the parent level so that it can be understood also on the parent level for what functionality it is trying to reaches for.

Is this possible?

If not, then another way I'm thinking is to find a way to somehow "just remove the relationship description" from the parent level. So that it wouldn't be misleading for the viewer.

Please help, thanks in advance!

PS. The other part I noticed is how, on the parent with children-to-children relationship like this, "only the 1st description" of the relationship get displayed, not sure if this is intentional or a bug? because as you can see on the parent level it becomes misleading.