Skip to content

Implied relationships for some filtered views aren't rendered #307

@richhosek

Description

@richhosek

Expected

When I create a filtered view, I expect to see all relationships and implied relationships that match the filter.

Actual

For some implied relationships, the relationship does not render.

Steps to reproduce

  • Create a model that has a person and a software system.
  • Add a container that has two tags "Setup,Payment"
  • Inside the container add two or more components that have either the tag "Setup" or the Tag "Payment"
  • Create relationships between the person and the components. For the relationships connecting the person to a component tagged "Setup", tag the relationship with the same tag, and for relationships connecting the person to a component tagged "Payment", tag the relationship with the same tag.
  • create a container view for the software system, include *.
  • create three filtered views:
    • one that includes "Element,Relationship"
    • one that includes only the tag "Payment"
    • one that includes only the tag "Setup"
  • In the rendered views, the implied relationships between the person and the container will render for the filtered view that includes "Element,Relationship" and "Setup" but NOT "Payment"
workspace {

    model {
        buyer = person "Buyer" {
            tags "Person,Setup,Payment"
        }
        paymentflow = softwareSystem "Payment Flow" {
            buyerapps = container "Buyer Portal / BuyerApp / Branch (ASAP)" {
                tags "Setup,Payment"
                achprofile = component "ACH (Profile)" {
                    tags "Setup"
                }
                ccprofile = component "Credit Card (Profile)" {
                    tags "Setup"
                }
                ppprofile = component "PayPal (Profile)" {
                    tags "Setup"
                }
                achpayment = component "ACH Payment" {
                    tags "Payment"
                }
                creditpayment = component "Credit Payment" {
                    tags "Payment"
                }
                btpayment = component "Brain Tree Payment" {
                    tags "Payment"
                }
            }
        }
        buyer -> achprofile "Uses" "" "Setup"
        buyer -> ccprofile "Uses" "" "Setup"
        buyer -> ppprofile "Uses" "" "Setup"
        buyer -> achpayment "Uses" "" "Payment"
        buyer -> creditpayment "Uses" "" "Payment"
        buyer -> btpayment "Uses" "" "Payment"
    }   

    views {
        systemLandscape "Buyer"  {

            include *
        }
        container paymentflow pfview "Payment Flow" {
            include *
        }

        filtered pfview include "Payment" "pfviewpayment" 
        filtered pfview include "Setup" "pfviewsetup"
        filtered pfview include "Element,Relationship" "pfviewall"

        component buyerapps baview "Buyer Apps" {
            include *
        }
        
        filtered baview include "Payment" "baviewpayment"
        filtered baview include "Setup" "baviewsetup"   
        filtered baview include "Element,Relationship" "baviewall"

        styles {
            element "Person" {
                shape person
            }
        }
    }
    configuration {
        scope none
    }
}

Version/build information

Structurizr Lite
com.structurizr.lite.StructurizrLite : - build: 2024.03.03 (2024-03-03T10:05:43Z)
com.structurizr.lite.StructurizrLite : - structurizr-java: v2.1.1
com.structurizr.lite.StructurizrLite : - structurizr-dsl: v2.1.1
com.structurizr.lite.StructurizrLite : - structurizr-import: v2.1.1
com.structurizr.lite.StructurizrLite : - structurizr-graphviz: v2.1.1

Severity

Major

Priority

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

More information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions