I'm using plantUML swimlanes to visualize internal processes but unfortunately encounter overlapping lines when I want to display processes that are executed and detach.
I'm using this:
@startuml
title something
|#dee4e8|p1|
|#c4c9cd|p2|
|#daf0fe|Backend|
|Backend|
start
:something;
if (open) then (yes)
:generate open data;
split
#3f3:Mail to p1\nMAIL ID: **3010**|
|p1|
:Receive Mail **3010**;
detach
split again
|Backend|
#3f3:Mail to p2\nMAIL ID: **3006**|
|p2|
:Receive Mail **3006**;
detach
end split
endif
|Backend|
#HotPink:something else>
stop
@enduml
and get:
I would like to have a non overlapping connection to the receive mail activity that i more looks like if I add an empty activity before sending the second mail:
It's also possible to do this in a sequence but I don't have a clue how I can detach the receive Mail activities and connect the "Mail to p1 / p2" with each other without making it an if statement.
You can use the same trick that you used to get the "else" part of the if to appear below the other steps.
Note that you are not actually using the correct else semantics (which would position the else branch to the side), but your "something else" is actually the continuation after the endif, just there are no links from the email actions due to the detach.
You can use the same trick to make p2 appear below p1. i.e. rather than have p2 as part of the split, move it after the end split. This will make it appear below the p1 part, but there will be no connector from p1 due to the detach.
@startuml
title something
|#dee4e8|p1|
|#c4c9cd|p2|
|#daf0fe|Backend|
|Backend|
start
:something;
if (open) then (yes)
:generate open data;
split
#3f3:Mail to p1\nMAIL ID: **3010**|
|p1|
:Receive Mail **3010**;
detach
split again
|Backend|
#3f3:Mail to p2\nMAIL ID: **3006**|
end split
|p2|
:Receive Mail **3006**;
detach
endif
|Backend|
#HotPink:something else>
stop
@enduml
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With