canonical / kubeflow-dashboard-operator

Operator for Kubeflow Dashboard
Apache License 2.0
1 stars 1 forks source link

Chore: investigate the effort for nested dashboard links. #198

Closed misohu closed 3 weeks ago

misohu commented 1 month ago

Why it needs to get done

We want to investigate effort for this task https://github.com/canonical/kubeflow-dashboard-operator/issues/197

What needs to get done

Investigate following questions:

What effort is needed? Do we need to update multiple charms or just kfp? Do we need to update the library version from 0 to 1? Will the change break the behavior in 1.8?

When is the task considered done

Above questions are answered.

syncronize-issues-to-jira[bot] commented 1 month ago

Thank you for reporting us your feedback!

The internal ticket has been created: https://warthogs.atlassian.net/browse/KF-5817.

This message was autogenerated

misohu commented 3 weeks ago

Context: The issue at hand is that upstream now utilizes nested dashboard links, while the current charm’s dashboard library is not designed to accommodate this. Upstream introduced a new item in the dashboard configmap links with the following changes:

Currently, we use the DashboardLink class to represent elements in the sidebar, considering only a single layer with no nested links. Charms intending to be present in the sidebar send a stringified DashboardLink object through a relation to the Dashboard charm.

1. Simple Working Solution:

Considerations:

2. Complicated Solution for Edge Case with Combined Nested Links:

Example

# Charm 1
[DashboardLink(text="linkA"), DashboardLink(text="linkB", section="group1"), DashboardLink(text="linkC", section="group1")]

# Charm 2
[DashboardLink(text="linkD", section="group1")]

# Result
# - LinkA
# - Group1
# - - LinkB
# - - LinkC
# - - LinkD

3. Ignoring the Nested Links:

Sorting problem:

Concerns

misohu commented 3 weeks ago

We had discussion about this problem on tech topics. These are the conclusions: