Hello.
I know WBS (Work Breakdown Structure) is not really part of UML (or I think so...), but it is a common diagram in project documentation, and as such, I am not pleased having to depend on extra tools, usually mouse-oriented, to draw such a "simple" diagram.
Currently I use Activity-beta as a substitute, but it is not really what it should be.
It could be something like this:
@startwbs / @startuml + wbs (like it is with salt)
[title, skimparams etc...]
skinparam wbsToplevelBackground darkgrey
skinparam wbsSecondlevelBackground lightgrey
skinparam wbsThirdlevelBackground grey
/' Alternate (more sane!) skinning targeting '/
skinparam wbsBackground<<C3L4>> LightGreen
' Upper level
:Top Level; /' similar syntax to activity beta '/
/' Since there can only be one element as first level AFAIK,
all other elements go to the second level, nested by splitting
'/
split "Level Two First Column" as C1
split "Level Two Second Column" as C2
split C1 "Column 1 Third Level" as C1L3
split C1 "Column 1 Fourth Level" as C1L4
split C2 "Column 2 Third Level" as C2L3
split C3 "Column 3 Fourth Level" as C3L3
split C3 "Column 3 Fourth Level" as C3L4
/'
Now, the contents:
'/
C1L3 {
:Job 1;
:Job 2;
:C1L4/ /' Reference to the Next Sub division '/
}
/'
Here, it can be further nested, or it can take the
the contents from another definition block with its name
'/
C1L4 {
:Sub Job 1-3 One;
:Sub Job 1-3 Two;
}
/' full new column '/
C4 as "Fourth Column" {
:Sub Job at last Column ;
:Another Sub Job;
C4L2 as "Last Column" {
:Fourth-level job here
at the last column;
}
}
C2L3 {
/' And so on '/
}
@enduml/@endwbs
The skinparam could target WBS sub-levels to customize the appearance, and rows should be vertically top-aligned.