Closed faustool closed 11 months ago
I think allowing !ref
to be used as a nested keyword will potentially cause confusion, with people asking why things like this don't work:
softwareSystem = softwareSystem "Software System" {
container1 = container "Container 1" {
loggingComponent = component "Logging Component"
}
container2 = container "Container 2" {
!ref container1.loggingComponent
}
}
Thanks for the suggestion, but it's not something I want to implement at this time.
Description
I am adopting a docs coding style where I separate the element definition and their relationships in different sections. First the elements, their tags, descriptions, technologies, etc., then the relationships follow bellow them.
For instance:
I'm also using
!identifiers hierarchical
to avoid name clashes.I am also documenting my containers (frontend, backend) in separate files. I document the internal relationships (e.g.: between components) of these containers inside their files, alongside the component definitions.
The problem I am facing now is that I cannot use !ref inside those containers, components, or even softwareSystem. That means I have to repeat the full qualified name of the elements every time.
For instance, I have this database component:
After I defined the structure, now I want to describe the relationship between these elements next:
Except this will not work because I cannot use !ref inside the softwareSystem definition where this example would be placed.
Instead, this is what I have to write:
Perhaps this was never intended to be used like this, but I think it can be very useful.
Priority
Medium
Resolution
I have no budget, please add this feature for free
More information
No response