structurizr / ui

UI code for Structurizr Lite, on-premises, and cloud service.
https://docs.structurizr.com/ui
MIT License
38 stars 22 forks source link

Feature Request / Idea: Groups in dynamic views #51

Open mawid6 opened 4 months ago

mawid6 commented 4 months ago

Description

Idea! Rendering software systems and groups as outlines in dynamic views, similar to other views, would be very useful. I can see that you might not want this always, however.

Example - groups in blue

The code below renders this on the web, except I have added groups in blue: request-groups-in-dynamic-views drawio

workspace {
!identifiers hierarchical

    model {
        idp = softwareSystem "Identity Provider"
        group "Backend" {
            backend = softwareSystem "Shared Account Backend Service" {
                 server = container "Account Backend" {
                     -> idp "Auth"
                     idp -> this "Token"
                 }
                 api = container "Account API" {
                    -> server "Authenticate"
                    server -> this "Token"
                 }
            }
        }

        library = softwareSystem "Shared Library A" {
            account = container "Account components" {
                accountService = component "Lib A Account Service" {
                    -> backend.api "Authenticate"
                    backend.api -> this "Token"
                }
            }
        }
        group "Source Data Systems"{
            web = softwareSystem "Web Client" {
                -> library.account.accountService "Login"
            }
        }
    }

    views {
        component library.account {
            include *
        }
        dynamic library.account "Library-Account-Flow" {
            title "Library Account Auth flow"
            web -> library.account.accountService
            library.account.accountService -> backend.api
                backend.api -> backend.server
                    backend.server -> idp
                    idp -> backend.server
                backend.server -> backend.api 
            backend.api -> library.account.accountService
            // autolayout lr
        }

    }

}

Priority

I have no budget and there's no rush, please add this feature for free

More information

No response