ondemand
ondemand copied to clipboard
Customize Left Hand applications navigation for Interactive Apps and My Interactive Sessions
Story Description
Add support to configure the list of applications/links that appear in the left hand menu on the Interactive Apps and My Interactive Sessions page.
Now that we can fully customize the Main navigation, the Interactive Apps navigation item might be custom or not defined.
To have control of what appears in the left hand side menu, we should support its customization.
This is a requirement for the IQSS Sid project.
Relates to #2223
Part of the work related to user profiles: https://github.com/OSC/ondemand/issues/2126
Technical Notes
The default behaviour when a custom navigation is defined is to scan all the applications that have been used to configure the navigation and use these apps to render the new left hand side navigation.
There is a new menu title: t('dashboard.batch_connect_apps_menu_title')
The apps will be sorted and arranged as per their custom navigation subcategories defined in the new navigation.
This behaviour can be overridden with a new custom UserConfiguration property to fully define the items in this navigation.
┆Issue is synchronized with this Asana task by Unito
This is an screenshot of the menu:
We are working on a prototype that uses the current NavBar functionality to create this navigation using a new UserConfiguration property:
apps_menu:
- title: "Inter Apps"
links:
- group: "Doc Links"
- apps: "sys/sas"
- group: "Other Links"
- apps: "sys/sas"
- title: "how to docs"
description: "This is how we do it"
icon_uri: fa://desktop
url: "/docs"
new_tab: true
- title: "submit a help ticket"
icon_uri: fa://question-circle
url: "/tickets"
new_tab: false
- apps: "sys/Rstudio/*"
Wouldn't this menu reflect what's in the navbar menu?
That would be up to the admin doing the configuration. It can reflect one of the Nav items, or they can define something else if they wanted to.
This is sample left navigation generated by scanning the apps that have been configured in the main navigation.
The current value for the title, t('dashboard.batch_connect_apps_menu_title'), is Interactive Apps
No attempt to remove duplicates or later categories at this point. The only thing that is processed in the back-end is that we group by subcategory and sort to have a consistent menu.
This is the actual custom navigation that generated the menu below:
nav_bar:
- title: "Rstudio Menu"
links:
- group: "Core Apps"
- "sys/Rstudio/*"
- apps: [ "sys/sas" ]
- apps: "sys/sas"
- apps: "sys/shell"
- title: "Rdesktop Menu"
links:
- apps: [ "sys/bc_desktop" ] # No subcategory
- group: "BI Desktop"
- apps: [ "sys/OdysseyRD" ]
- apps: "sys/sas"
- apps: "sys/shell"
- group: "Financial Desktop"
- apps: [ "sys/bc_desktop" ]
- title: "Profiles"
links:
- group: "Profiles"
- title: "Team 1"
profile: "team1"
- title: "Team 2"
profile: "team2"
- "sys/sas" # No subcategory
Created PR: https://github.com/OSC/ondemand/pull/2374