Midnighter / structurizr-python

A Python 3 port of Simon Brown's Structurizr diagrams-as-code architecture description tool.
https://structurizr.com/
Apache License 2.0
65 stars 16 forks source link

Add support for the group element in C4 DSL #72

Closed geirive closed 3 years ago

geirive commented 3 years ago

Checklist

Is your feature related to a problem? Please describe it.

I want to model an architecture with several different stakeholders in a partnership, and wanted to group components provided from/developed by each partner.

Describe the solution you would like.

An implementation of the group elemement (see dsl language reference)

Describe alternatives you considered

I can make use of the DSL or maintain "manual" diagrams for the landscape and potentially context level.

Additional context

Example can be rendered at https://structurizr.com/dsl demo site.

Midnighter commented 3 years ago

Hi @geirive,

Thank you for reporting this missing feature. As far as I know, this is a very recent feature of structurizr. So I think we would first work more basic missing features. Unless you are able to work on this yourself? I'd be happy to discuss how to approach this and review any code submissions.

geirive commented 3 years ago

No problem 👍. Yes it is a recent feature, and I fully understand your position.

yt-ms commented 3 years ago

This is actually a very useful feature for any diagram that is starting to get complicated. I had a quick look, and there's an example in DSL here. In the JSON (looking at the Swagger, this turns into a property on each element rather than being an element in the static model itself. In the Java implementation, Simon introduced a new GroupableElement into the static element type hierarchy which brings this property in, so we probably want to mimic that.

yt-ms commented 3 years ago

This is merged to main now.