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
the relation line between boundary seems a little strange #229
Comments
|
@featheryus Could you post an example to help illustrate what you mean? (I moved your comment into the issue description, hope you don't mind) |
|
Thank you for posting an example @miriamgreis, that gives us something to work with! Lets try to answer your questions... Why is the line from
|
| Method | Result |
|---|---|
BiRel_Neighbor |
|
BiRel_Up |
|
BiRel_Down |
|
BiRel_Left |
|
BiRel_Right |
Each of the Up/Down/Left/Right methods also has a shorthand notation, if you feel more so inclined: BiRel_U, BiRel_D, BiRel_L, or BiRel_R
Why are F and G not placed below A?
This has to do with things somewhat beyond our control... C4-PlantUML feeds instructions to PlantUML, which uses Graphviz to create the layout. Because of how things work internally, A is treated differently, as it is a container. This means using the Up/Down/Left/Right suffix most likely won't make much difference.
Reversing the order in which elements are declared will sometimes help, so Rel_Back(F, A, "includes") could be tried...
However, Rel_Back does not (yet) have support for Up/Down/Left/Right, so the result might not be as good.
I could create a ticket to add Up/Down/Left/Right to the Rel_Back to make this problem easier to solve. 🤔
|
I have a question on this as well because I think the issue isnt' necessarily where the boxes are but how the arrows are drawn. In the system example, I'm not sure why it would try to draw the arrow to the right vs just connecting to the left box. This behavior seems to be only with boundaries but would be interested if there is work arounds outside of just playing with locations. |
|
I hate having to repeat this, but the majority of placement options are beyond our control, as they are decided by PlantUML or Graphviz. It might be useful to have a look at LayoutOptions.md, which tries to explain these things and gives guidance on how to deal with quirks like these. |
|
Thanks for being direct and honest. So really until PlantUML or Graphviz address those, there's not a lot of adjustments that can happen. That's fair and I've been able typically to find a combination of layouts to work with what I need to do just was curious after seeing this if any efforts were going on to assist with that. If I get some spare time I may poke those teams and see their thoughts on adding more feature enhancements on that side. |
|
Not sure if I can ressurect this one, or should create a new. Anyway, I was researching this problem a bit, and noticed there's a workaround suggested in the PlantUML forum. Basically you can create a sub diagram in the Boundary. It wont be possible to make relations to the inner elements, but in many cases I think that can be ok. However, for this to work the Boundary procedure needs to put its body (the "inner" elements) within the Something like this: |


The line to the right, but starting from the left side
The text was updated successfully, but these errors were encountered: