-
-
Notifications
You must be signed in to change notification settings - Fork 315
Group participants by parent in plantuml structurizr seq diagrams #429
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Group participants by parent in plantuml structurizr seq diagrams #429
Conversation
Should resolve #398 |
…parent view context
Thanks for this - I saw your message on LinkedIn. I would pause on the PR at the moment because there are still some issues with the exporters that need resolving, specifically related to elements being rendered outside of their boundaries (this happens with the Structurizr UI too, so both need to be resolved before the next major release). The re-ordering of elements on sequence diagrams when grouped also needs some thought. In the short-term, I'd recommend forking the exporter and building your own version if you need this functionality now. |
It is quite hard currently to understand large sequence diagrams created using Structurizr, as the participants are not grouped by parent.
This PR is starting to resolve this. It may also be a first step towards adding more advanced sequence diagram features relevant to C4 in the future, e.g. allowing to collapse or expand sequence diagram participants using element parents.
group components in Plantuml structurizr sequence diagrams by parent containers and by grand-parent software systems.
group containers in Plantuml structurizr sequence diagrams by parent software systems.
group elements in Plantuml structurizr sequence diagrams by parent groups.
add plantuml.teoz property to allow nested boxes in sequence diagrams - see teoz layout engine details here
styling of parent and grand-parents on sequence diagrams uses what is defined in styles object
First example (components grouped by containers then softwareSystem):
After changes in this PR - the elements with the same parent (f, g and h) are now grouped while they were not before. Both parent and grand-parent elements are shown. Any group is also shown
Second example (containers grouped by software systems):
After changes in this PR - the parents Software Systems of the container participants are shown:
Third example
After changes - elements belonging to the same container are grouped:
Possible extensions / improvements to this PR - to be discussed
property
flag to be backward compatible.f
is not the first anymore).