-
Story
-
Resolution: Unresolved
-
Major
-
None
-
False
-
False
-
Undefined
-
This is the cover the design work for RFE https://bugzilla.redhat.com/show_bug.cgi?id=1904608
The customer has an application deploying other applications, subscriptions, placement rules
The applications deployed by the parent app can also deploy other applications
So we can have app relationships in this format
- app0 > (deploys) > app1, app2.
- app2 > (deploys ) app 3
Same for subscriptions
We want to show this relationship in the app and subscriptions table
Discussing the option of showing applications as children of other apps in the table : comments from @KevinFCormier
_Looking at https://www.patternfly.org/v4/components/table#expandable, it seems straightforward for 1 level, but not for any arbitrary level of nesting, as shown in the Bugzilla. So this would require some research as to how to accomplish this with PatternFly, and then we would probably need to make some changes in ui-components/AcmTable to expose these options, as well as changes in search-api and application-ui.
Another issue is that suppose we had app-1 and app-2 both using sub-1, which deploys app-a. Then I guess we would need to display app-a in the table twice, under both app-1 and app-2? But now we have more apps listed in the table than there actually are, which might be a bit odd.
I think this is suggesting that while the deployment pipeline wasn't the best display for applications, maybe a table isn't either. What ever solution we find for showing application relationships, I suppose we'd want to do the same for subscriptions._
================
Migrated from GitHub #7681
birsanv commented on Dec 10, 2020
fyi @jnpacker |
jnpacker commented on Dec 10, 2020
Thx @birsanv I'm looking if there is a precedence somewhere for this type of flow. It is going to be more common for us, as we embrace GitOps more. My take is as an MVP, we list the child Apps as nodes, and that's it. These can be used to link to the actual app, there may be a weird nesting case though. app1 > app2 > app3. If there is no application object, just display the subscription. Anyway. Just as a primer, I look forward to seeing ideas. |
jackiwakin commented on Dec 17, 2020 •
edited
@birsanv @jnpacker @richiepiya @KevinFCormier Just throwing some ideas out there Option 1 ![]()
|
- Use the expanded Patternfly table and figure out how to modify it with the tree view?
- And I think we don't include anything in the expanded part as part of the application count. And mention in the tooltip that these are repeated apps that can be found in the table and not part of the overall count|
Authorbirsanv commented on Dec 17, 2020
@jackiwakin I really like Option 2 although * we need to address how to show multiple level children ( what if the dependent application deploys another application )
- the parent app deploys a subscription, not an app ; how are we showing this here ? Subscriptions are really the ones deploying all resources so we have all the details we usually show linked to an app; so if the child subscription has no parent app I think it makes sense to show the subscription as a dependent and not just ignore it|
jackiwakin commented on Jan 5
Option 1 (Modal)
Option 2 (Expanded)
@birsanv * I made the trees show multiple levels of children, it just indents to the right whenever it's a new level!
- I have two editions (A and B) for both options (1 and 2) that show a subscription or application as a dependency (either a "Type" column or a label beside the name with the resource type)
@richiepiya let me know if you have any opinions or ideas
Once we discuss this internally, it would be good to ask @showeimer if we can see if Caffeine TV has feedback.
One other question to consider, could the user solve the same problem of wanting to see the architecture hierarchy (the original Bugzilla request) just by looking at the topology? Or does this provide something different?|
andybraren commented on Jan 7
It isn't quite the same scenario, but this reminds me of a 4.x design for the OpenShift Web Console that visualizes related resources and their statuses in a similar tree-like view:![]() This would appear within the Details page of a resource rather than the List/Table page, but surfaces the related resource's type (using the colorful resource badges) and status if applicable. I remember there being a similar question about whether or not a Topology view could be used to show these relationships more effectively than a linear tree. Given the possible interconnected-ness of multiple Apps/Subscriptions, I agree that might be a good approach to explore too. There's no PatternFly component to create the lines on the left-hand side yet, so I agree a collapsible Tree View might be the closest approximation today. |
👍 1👀 1
jnpacker commented on Jan 7
|
birsanv added this to the ACM 2.3 milestone on Jan 13
showeimer commented on Jan 19 •
edited
Does this design address the request to see the status? @birsanv![]() ![]() |
showeimer mentioned this issue on Feb 3
Caffeine.tv open-cluster-management/RHACM-Connect#2
Open
jackiwakin commented on Feb 3
@showeimer @birsanv @jnpacker Reviving this discussion for Sho's RHACM-Connect work I'm not sure I was following Josh in his last comment, but I added an indicator for how many children there are. Sho also mentioned the status for the sub-apps and subscriptions, so I added a status column. Option 1 ![]() Option 2 ![]() |