From 1c86ba40b1cb01a2e5ffd6ddbc116208d97ff819 Mon Sep 17 00:00:00 2001 From: KIRCHSTH Date: Fri, 19 Mar 2021 17:15:01 +0100 Subject: [PATCH] #119, #72: Add link support: All elements (except relations) are updated --- C4.puml | 15 +++++++++++++-- C4_Component.puml | 24 ++++++++++++------------ C4_Container.puml | 28 ++++++++++++++-------------- C4_Context.puml | 25 +++++++++++++------------ C4_Deployment.puml | 24 ++++++++++++------------ 5 files changed, 64 insertions(+), 52 deletions(-) diff --git a/C4.puml b/C4.puml index 0564fe8b..279443a1 100644 --- a/C4.puml +++ b/C4.puml @@ -312,6 +312,17 @@ $elementSkin !$tagDefaultLegend = $tagStereoEntries !endprocedure +' Links +' ################################## + +!function $getLink($link) + !if ($link!="") + !return "[[" + $link + "]]" + !else + !return "" + !endif +!endfunction + ' Line breaks ' ################################## @@ -499,8 +510,8 @@ endlegend !endif !endfunction -!unquoted procedure Boundary($alias, $label, $type="", $tags="") -rectangle "$getBoundary($label, $type)" $toStereos("boundary", $tags) as $alias +!unquoted procedure Boundary($alias, $label, $type="", $tags="", $link="") +rectangle "$getBoundary($label, $type)" $toStereos("boundary", $tags) as $alias $getLink($link) !endprocedure ' Relationship diff --git a/C4_Component.puml b/C4_Component.puml index 5eeb4343..5f660d47 100644 --- a/C4_Component.puml +++ b/C4_Component.puml @@ -64,26 +64,26 @@ endlegend !endif !endfunction -!unquoted procedure Component($alias, $label, $techn, $descr="", $sprite="", $tags="") -rectangle "$getComponent($label, $techn, $descr, $sprite)$getProps()" $toStereos("component",$tags) as $alias +!unquoted procedure Component($alias, $label, $techn, $descr="", $sprite="", $tags="", $link="") +rectangle "$getComponent($label, $techn, $descr, $sprite)$getProps()" $toStereos("component",$tags) as $alias $getLink($link) !endprocedure -!unquoted procedure ComponentDb($alias, $label, $techn, $descr="", $sprite="", $tags="") -database "$getComponent($label, $techn, $descr, $sprite)$getProps()" $toStereos("component",$tags) as $alias +!unquoted procedure ComponentDb($alias, $label, $techn, $descr="", $sprite="", $tags="", $link="") +database "$getComponent($label, $techn, $descr, $sprite)$getProps()" $toStereos("component",$tags) as $alias $getLink($link) !endprocedure -!unquoted procedure ComponentQueue($alias, $label, $techn, $descr="", $sprite="", $tags="") -queue "$getComponent($label, $techn, $descr, $sprite)$getProps()" $toStereos("component",$tags) as $alias +!unquoted procedure ComponentQueue($alias, $label, $techn, $descr="", $sprite="", $tags="", $link="") +queue "$getComponent($label, $techn, $descr, $sprite)$getProps()" $toStereos("component",$tags) as $alias $getLink($link) !endprocedure -!unquoted procedure Component_Ext($alias, $label, $techn, $descr="", $sprite="", $tags="") -rectangle "$getComponent($label, $techn, $descr, $sprite)$getProps()" $toStereos("external_component",$tags) as $alias +!unquoted procedure Component_Ext($alias, $label, $techn, $descr="", $sprite="", $tags="", $link="") +rectangle "$getComponent($label, $techn, $descr, $sprite)$getProps()" $toStereos("external_component",$tags) as $alias $getLink($link) !endprocedure -!unquoted procedure ComponentDb_Ext($alias, $label, $techn, $descr="", $sprite="", $tags="") -database "$getComponent($label, $techn, $descr, $sprite)$getProps()" $toStereos("external_component",$tags) as $alias +!unquoted procedure ComponentDb_Ext($alias, $label, $techn, $descr="", $sprite="", $tags="", $link="") +database "$getComponent($label, $techn, $descr, $sprite)$getProps()" $toStereos("external_component",$tags) as $alias $getLink($link) !endprocedure -!unquoted procedure ComponentQueue_Ext($alias, $label, $techn, $descr="", $sprite="", $tags="") -queue "$getComponent($label, $techn, $descr, $sprite)$getProps()" $toStereos("external_component",$tags) as $alias +!unquoted procedure ComponentQueue_Ext($alias, $label, $techn, $descr="", $sprite="", $tags="", $link="") +queue "$getComponent($label, $techn, $descr, $sprite)$getProps()" $toStereos("external_component",$tags) as $alias $getLink($link) !endprocedure diff --git a/C4_Container.puml b/C4_Container.puml index 169944b1..3b721535 100644 --- a/C4_Container.puml +++ b/C4_Container.puml @@ -59,33 +59,33 @@ endlegend !endif !endfunction -!unquoted procedure Container($alias, $label, $techn, $descr="", $sprite="", $tags="") -rectangle "$getContainer($label, $techn, $descr, $sprite)$getProps()" $toStereos("container", $tags) as $alias +!unquoted procedure Container($alias, $label, $techn, $descr="", $sprite="", $tags="", $link="") +rectangle "$getContainer($label, $techn, $descr, $sprite)$getProps()" $toStereos("container", $tags) as $alias $getLink($link) !endprocedure -!unquoted procedure ContainerDb($alias, $label, $techn, $descr="", $sprite="", $tags="") -database "$getContainer($label, $techn, $descr, $sprite)$getProps()" $toStereos("container", $tags) as $alias +!unquoted procedure ContainerDb($alias, $label, $techn, $descr="", $sprite="", $tags="", $link="") +database "$getContainer($label, $techn, $descr, $sprite)$getProps()" $toStereos("container", $tags) as $alias $getLink($link) !endprocedure -!unquoted procedure ContainerQueue($alias, $label, $techn, $descr="", $sprite="", $tags="") -queue "$getContainer($label, $techn, $descr, $sprite)$getProps()" $toStereos("container", $tags) as $alias +!unquoted procedure ContainerQueue($alias, $label, $techn, $descr="", $sprite="", $tags="", $link="") +queue "$getContainer($label, $techn, $descr, $sprite)$getProps()" $toStereos("container", $tags) as $alias $getLink($link) !endprocedure -!unquoted procedure Container_Ext($alias, $label, $techn, $descr="", $sprite="", $tags="") -rectangle "$getContainer($label, $techn, $descr, $sprite)$getProps()" $toStereos("external_container", $tags) as $alias +!unquoted procedure Container_Ext($alias, $label, $techn, $descr="", $sprite="", $tags="", $link="") +rectangle "$getContainer($label, $techn, $descr, $sprite)$getProps()" $toStereos("external_container", $tags) as $alias $getLink($link) !endprocedure -!unquoted procedure ContainerDb_Ext($alias, $label, $techn, $descr="", $sprite="", $tags="") -database "$getContainer($label, $techn, $descr, $sprite)$getProps()" $toStereos("external_container", $tags) as $alias +!unquoted procedure ContainerDb_Ext($alias, $label, $techn, $descr="", $sprite="", $tags="", $link="") +database "$getContainer($label, $techn, $descr, $sprite)$getProps()" $toStereos("external_container", $tags) as $alias $getLink($link) !endprocedure -!unquoted procedure ContainerQueue_Ext($alias, $label, $techn, $descr="", $sprite="", $tags="") -queue "$getContainer($label, $techn, $descr, $sprite)$getProps()" $toStereos("external_container", $tags) as $alias +!unquoted procedure ContainerQueue_Ext($alias, $label, $techn, $descr="", $sprite="", $tags="", $link="") +queue "$getContainer($label, $techn, $descr, $sprite)$getProps()" $toStereos("external_container", $tags) as $alias $getLink($link) !endprocedure ' Boundaries ' ################################## -!unquoted procedure Container_Boundary($alias, $label, $tags="") -Boundary($alias, $label, "Container", $tags) +!unquoted procedure Container_Boundary($alias, $label, $tags="", $link="") +Boundary($alias, $label, "Container", $tags, $link) !endprocedure diff --git a/C4_Context.puml b/C4_Context.puml index 884cec2d..7e04a1d3 100644 --- a/C4_Context.puml +++ b/C4_Context.puml @@ -202,28 +202,29 @@ endlegend !endif !endfunction -!unquoted procedure Person($alias, $label, $descr="", $sprite="", $tags="") -rectangle "$getPerson($label, $descr, $sprite)$getProps()" $toStereos("person", $tags) as $alias +!unquoted procedure Person($alias, $label, $descr="", $sprite="", $tags="", $link="") +rectangle "$getPerson($label, $descr, $sprite)$getProps()" $toStereos("person", $tags) as $alias $getLink($link) !endprocedure -!unquoted procedure Person_Ext($alias, $label, $descr="", $sprite="", $tags="") -rectangle "$getPerson($label, $descr, $sprite)$getProps()" $toStereos("external_person", $tags) as $alias +!unquoted procedure Person_Ext($alias, $label, $descr="", $sprite="", $tags="", $link="") +rectangle "$getPerson($label, $descr, $sprite)$getProps()" $toStereos("external_person", $tags) as $alias $getLink($link) !endprocedure -!unquoted procedure System($alias, $label, $descr="", $sprite="", $tags="") -rectangle "$getSystem($label, $descr, $sprite)$getProps()" $toStereos("system", $tags) as $alias +!unquoted procedure System($alias, $label, $descr="", $sprite="", $tags="", $link="") +rectangle "$getSystem($label, $descr, $sprite)$getProps()" $toStereos("system", $tags) as $alias $getLink($link) !endprocedure -!unquoted procedure System_Ext($alias, $label, $descr="", $sprite="", $tags="") -rectangle "$getSystem($label, $descr, $sprite)$getProps()" $toStereos("external_system", $tags) as $alias +!unquoted procedure System_Ext($alias, $label, $descr="", $sprite="", $tags="", $link="") +rectangle "$getSystem($label, $descr, $sprite)$getProps()" $toStereos("external_system", $tags) as $alias $getLink($link) !endprocedure ' Boundaries ' ################################## -!unquoted procedure Enterprise_Boundary($alias, $label, $tags="") -Boundary($alias, $label, "Enterprise", $tags) +!unquoted procedure Enterprise_Boundary($alias, $label, $tags="", $link="") +Boundary($alias, $label, "Enterprise", $tags, $link) !endprocedure -!unquoted procedure System_Boundary($alias, $label, $tags="") -Boundary($alias, $label, "System", $tags) + +!unquoted procedure System_Boundary($alias, $label, $tags="", $link="") +Boundary($alias, $label, "System", $tags, $link) !endprocedure diff --git a/C4_Deployment.puml b/C4_Deployment.puml index 0ced07aa..00ca6bdc 100644 --- a/C4_Deployment.puml +++ b/C4_Deployment.puml @@ -122,26 +122,26 @@ SetDefaultLegendEntries("person\nsystem\ncontainer\nexternal_person\nexternal_sy !return $nodeText !endfunction -!unquoted procedure Deployment_Node($alias, $label, $type="", $descr="", $sprite="", $tags="") -rectangle "$getNode($label, $type, $descr, $sprite)$getProps()" $toStereos("node",$tags) as $alias +!unquoted procedure Deployment_Node($alias, $label, $type="", $descr="", $sprite="", $tags="", $link="") +rectangle "$getNode($label, $type, $descr, $sprite)$getProps()" $toStereos("node",$tags) as $alias $getLink($link) !endprocedure -!unquoted procedure Deployment_Node_L($alias, $label, $type="", $descr="", $sprite="", $tags="") -rectangle "$getNode_L($label, $type, $descr, $sprite)$getProps_L()" $toStereos("node",$tags) as $alias +!unquoted procedure Deployment_Node_L($alias, $label, $type="", $descr="", $sprite="", $tags="", $link="") +rectangle "$getNode_L($label, $type, $descr, $sprite)$getProps_L()" $toStereos("node",$tags) as $alias $getLink($link) !endprocedure -!unquoted procedure Deployment_Node_R($alias, $label, $type="", $descr="", $sprite="", $tags="") -rectangle "$getNode_R($label, $type, $descr, $sprite)$getProps_R()" $toStereos("node",$tags) as $alias +!unquoted procedure Deployment_Node_R($alias, $label, $type="", $descr="", $sprite="", $tags="", $link="") +rectangle "$getNode_R($label, $type, $descr, $sprite)$getProps_R()" $toStereos("node",$tags) as $alias $getLink($link) !endprocedure -!unquoted procedure Node($alias, $label, $type="", $descr="", $sprite="", $tags="") -rectangle "$getNode($label, $type, $descr, $sprite)$getProps()" $toStereos("node",$tags) as $alias +!unquoted procedure Node($alias, $label, $type="", $descr="", $sprite="", $tags="", $link="") +rectangle "$getNode($label, $type, $descr, $sprite)$getProps()" $toStereos("node",$tags) as $alias $getLink($link) !endprocedure -!unquoted procedure Node_L($alias, $label, $type="", $descr="", $sprite="", $tags="") -rectangle "$getNode_L($label, $type, $descr, $sprite)$getProps_L()" $toStereos("node",$tags) as $alias +!unquoted procedure Node_L($alias, $label, $type="", $descr="", $sprite="", $tags="", $link="") +rectangle "$getNode_L($label, $type, $descr, $sprite)$getProps_L()" $toStereos("node",$tags) as $alias $getLink($link) !endprocedure -!unquoted procedure Node_R($alias, $label, $type="", $descr="", $sprite="", $tags="") -rectangle "$getNode_R($label, $type, $descr, $sprite)$getProps_R()" $toStereos("node",$tags) as $alias +!unquoted procedure Node_R($alias, $label, $type="", $descr="", $sprite="", $tags="", $link="") +rectangle "$getNode_R($label, $type, $descr, $sprite)$getProps_R()" $toStereos("node",$tags) as $alias $getLink($link) !endprocedure