ondemand icon indicating copy to clipboard operation
ondemand copied to clipboard

Customize Left Hand applications navigation for Interactive Apps and My Interactive Sessions

Open abujeda opened this issue 3 years ago • 5 comments
trafficstars

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

abujeda avatar Oct 12 '22 10:10 abujeda

This is an screenshot of the menu:

Screenshot 2022-10-11 at 12 16 04

abujeda avatar Oct 12 '22 10:10 abujeda

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/*"

abujeda avatar Oct 12 '22 10:10 abujeda

Wouldn't this menu reflect what's in the navbar menu?

johrstrom avatar Oct 12 '22 13:10 johrstrom

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.

abujeda avatar Oct 12 '22 13:10 abujeda

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
Screenshot 2022-10-14 at 16 59 29

abujeda avatar Oct 14 '22 11:10 abujeda

Created PR: https://github.com/OSC/ondemand/pull/2374

abujeda avatar Nov 24 '22 08:11 abujeda