ContextMapper / context-mapper-dsl

ContextMapper DSL: A Domain-specific Language for Context Mapping & Service Decomposition
https://contextmapper.org/
Apache License 2.0
217 stars 28 forks source link

Support for DomainVisionStatement as part of the context-map-generator #317

Open gustavomonarin opened 2 years ago

gustavomonarin commented 2 years ago

Is your feature request related to a problem? Please describe. The domain vision statement was added as part of the pr #4 , which is useful in an overview / context map diagram. However it is currently not used on the context-map-generator. This issue is intended to understand the usage of the domain vision statement and possibly make it visible on the context-map outputs.

Describe the solution you'd like The challenge in here is how to present such detail / verbose text on an overview chart. The underlying library Graphviz supports tooltips. Tooltips could be used on the bounded context to provide a detailed description without much clutter on the chart. This approach would be limited by png outputs but well presented on svg and gv formats.

The tooltip could be added to the whole bonded context or in order to make a bit more explicit, be associated to a small icon within the bonded context. This second alternative is more complex to implement however it would also enable in the future to further add detailed information for other textual information already present on the bounded context dsl (ie. technologies).

Describe alternatives you've considered Using freemaker templates, which was a bit complex maybe due to the first steps with the library. Adding textual information directly to the chart, which could pollute with too much information.

Additional context I would be more than happy to work on this feature on my free time if the team believe is valuable. Also, in order to be safe and iterative, the initial implementation could make use of printAdditionalLabels toggle or introduce a new toggle.

socadk commented 2 years ago

Thank you for your suggestion, @gustavomonarin I agree that adding some more information to the output of this (and other) generators can be useful, in fact I had a use for such enhanced generator output myself too.

For the graphviz'ed context maps, we decided to stay very close to the notation in "the red book"... but feel free to suggest a new feature via a PR. One challenge probably that vision statements might get long, so not easy to find a general solution that always produces good looking results (?).

And there are some more attributes to that might ask for similar treatment... see https://contextmapper.org/docs/bounded-context/