Closed NathanDotTo closed 6 months ago
HI @NathanDotTo,
I will try to implement it in one of the next weekends. But in the meantime you could use following workaround for e.g. System_Boundary:
{
at the end of System(...)
and combine it with $tags="system_boundary"
to
System(..., $tags="system_boundary") {
}
after all included elementslike (follow the image link then you see the code)
BR Helmut
Cool, that worked, thanks! :-)
I have also had cause to use the type
too, like this:
System(a_system, "A Cloud Platform", "X-as-a-Service (XaaS) ", $type="GCP", $tags="system_boundary") {
Container ...
}
Update: correct solution see next comment
If you want a different type, then I would directly use a boundary and define its own $type like
Boundary(anotherBoundary, "Another Boundary", $type="BOUNDARY TYPE", $tags="v1") {
BR Helmut
Hi @NathanDotTo,
sorry, I forgot my implementation (indention) related to the $type support of a (System/Container/...)Boundary.
You can define it via the tags AddBoundaryTag(tagName, ..., $type="NewType", ...)
and then e.g. all (Systems) boundaries which uses the $tag displays the updated $type automatically too.
Sample see below (follow the image link then you see the code):
BR Helmut
Hi @NathanDotTo,
I implemented a version in my extended branch (details see #352) can you please check it via my branch?
(the only difference is that you have to use my extended branch !include https://raw.githubusercontent.com/kirchsth/C4-PlantUML/extended/...
@startuml
!include https://raw.githubusercontent.com/kirchsth/C4-PlantUML/extended/C4_Container.puml
AddBoundaryTag("chatGPT", $type="ChatGPT", $bgColor="red", $fontColor="white", $borderColor="darkred", $sprite="robot2")
Person(admin, "Administrator",$sprite="person2")
System_Boundary(c1, "Sample System", $descr="ChatGPT with model gpt-3.5-turbo. It has been updated to feature higher accuracy", $tags="chatGPT") {
Container(web_app, "Web Application", "C#, ASP.NET Core 2.1 MVC", "Allows users to compare multiple Twitter timelines")
}
System(twitter, "Twitter")
Rel(admin, web_app, "Uses", "HTTPS")
Rel(web_app, twitter, "Gets tweets from", "HTTPS")
SHOW_LEGEND()
@enduml
Thank you and best regards Helmut
Thank you for this. I will be able to test this next week.
I have tested this, and it works, thank you :-)
Hi
It seems to me that adding a description to a boundary would be a good thing. That way we could describe what the boundary contains in a general sense. This also seems like an obvious idea, so I am wondering why it is not already possible.
To explore whether boundary descriptions might be possible, I am looking at the
Enterprise_Boundary
,System_Boundary
, andContainer_Boundary
procedures. For example:Which leads to, in C4.puml:
Which leads to:
Does anyone reading this know whether/how a rectangle can have a description?
Am I thinking about this in the right way please?
Thanks
Nathan