I think I have answered myself below (for the most part) but figured I would ask in case I’m missing anything.
There are pieces of this information throughout the Customization and ondemand.d-yamls docs but a lot of skipping around is involved to get a top level overview of these babies:
- the Apps navbar menu (aka pinned apps menu)
- the Interactive Apps navbar menu
- and its subcategory groupings
- the Interactive Apps sidebar “menu”
- the All Apps … menu/menu item
So tying it all together, hopefully people can confirm the points below, or set me straight!
Remove groupings under the Interactive Apps navbar menu?
Is there any simple way to remove the grouping headers in this menu, to produce a “flat” menu?
To be clear, I mean the groups that are derived from the subcategory defined across all of the app manifests. I know one approach that works (that I dislike) is blanket-removing that property across every app’s manifest. Another is probably through completely defining the nav_bar itself. …?
I really like having newly-added apps auto-populate to the interactive-apps menu and not having to touch the config_d configs for every addition to /var/www/ood/apps/sys/ but it kinda seems like the choice is a binary between 1) neutering manifests and 2) getting comfortable with modifying nav_bar.
wait – maybe using links?
There is a promising looking Menus based on links section that seeeems like one could pull off a trick like this…
nav_bar:
- "files"
- "jobs"
- "clusters"
- title: "interactive apps"
links:
- "sys/*"
- "sessions"
…but then you get alllll the apps, including redundant Files/ Cluster apps, rando backend apps, etc.
I tried borrowing some syntax from the pinned_apps definitions, but this didn’t work to keep only the intended interactive apps:
- title: "interactive apps"
category: "Interactive Apps"
links:
- "sys/*"
Was worth a try!
Mostly a note to other novice admins: the interactive_apps_menu config_d property does clearly state it only operates on the pages for Interactive Apps/Sessions but … I’ll just say it took me way longer than it should have to realize this only applies to the sidebar “menu” that exists on those pages – it doesn’t/shouldn’t apply to the same-name top-level navbar menu.
Remove the Apps menu?
I’d like to use the pinned_apps widget without this menu populating to the navbar. After what again feels like an embarrassing amount of hunting, I’m pretty sure the recommended approach is to white-list the top-level menus you want to allow, via the nav_categories confid_d property. …?
Again this is perhaps mostly for other novices, but I wanted to note that due to the ubiquity of its name, the Apps menu has prove tricky to find documentation for. The navbar>predefined templates doc has a blurb that confirms it is auto-populated…
apps- A drop down menu ofpinned_apps. Note that you need to setpinned_appsfor this to show up.
Relatedly but definitely separate, the pinned-apps doc has a blurb referencing the pinned_apps_menu which seems to be our same navbar Apps menu.
# /etc/ood/config/ondemand.d/ondemand.yml
pinned_apps_menu_length: 6 # the default number of items in the drop-down menu list
pinned_apps_group_by: category # defaults to nil, no grouping
fyi, setting the menu length to 0 and disabling the all-apps-link (see below) doesn’t disappear the menu. (It displays 0-of-N items, followed by All Apps)
The All Apps menu
Side question: is the All Apps navbar top-level menu no longer a default? I’m not sure the last time I saw it, so I’m not sure if this is something that I’ve configured-away but I’m pretty sure I don’t see it even when not touching nav_categories or nav_bar.
On a lark, I tried to get rid of the Apps > All Apps menu item using the show_all_apps_link config_d property / the SHOW_ALL_APPS_LINK=false bool in /etc/ood/config/apps/dashboard/env but did not have success (presuming my config syntax wasn’t bad).
I don’t have a question here, except maybe to ask if show_all_apps_link is moot/deprecated by the ability to define nav_categories?