RFC - Foreman navigation redesign

Hello,
I am a fresh part of the community, UXdesigner from Red Hat. Heard only good things about community so far. I will be putting efforts into navigation - specifically information architecture of it (menu items, titles) - and hopefully changing it.
I would like to grab some feedback on current navigation, what do you think about it? Are there things that you can’t stand, you wish were different, some workarounds you can think of?

Just anything - any comments are welcomed. If you got more to say on this topic, reach out to me at skukla@redhat.com

Thanks a lot:) Appreciate your help!

8 Likes

Thanks, @kuklas, and welcome aboard! :slight_smile:

I’d suggest moving this thread to our community category to increase this call for feedback visibility among foreman users.

I’d like to have a search bar for quick access to specific menu items, also custom shortcuts would be nice (we have bookmarks as a shortcut to a filtered search result, the ability to save a specific bookmark as a shortcut in the menu under Saved would give some sort of configurable menu to users).

4 Likes

I’ve moved it to community as suggested by @amirfefer.

More on topic: I quite like the current UX. It feels predictable. In the past we had fly out menus and I always fought with them. If you move your mouse just too far, you lost it. Never had that feeling with the current menu.

As fast as the content goes, I always think Hosts -> Templates is an odd one. I wonder if its contents could be merged with the header above it (Provisioning Setup). Speaking of that, isn’t Provisioning Setup much more of a Configuration? Or perhaps even its own top level menu?

The Monitor section has a similar problem. There’s Report Templates but that feels more like Configuration to me.

2 Likes

Welcome.

Menu is a UX disaster, we have pretty much everything in the Host “God menu”. Here is my feedback:

Note I am core engineer, I am biased, proper research must be done, but for God sake break the Host menu apart! :slight_smile:

5 Likes

Thanks @lzap for reminding me that I should specify my environment. I don’t have any plugins installed so I’m very much looking at the more minimal experience. And even there I noticed the “God menu” effect :wink:

@kuklas One pet peeve of mine is that there does not appear to be any clear style guidelines on when to use title case, sentence case, etc. For main menu entries Foreman core seems to use title case fairly consistently, but many plugins do not. Not sure if this really falls under your purview as a UX designer, but it can’t hurt to keep it in the back of your mind for your future interactions with plugin writers. :wink:

2 Likes

Welcome @kuklas!

I find the division between “All Hosts” and “Content Hosts” a little odd. Similarly, why “Host Collections” is under “Hosts” and “Hostgroups” is under “Configure”. In my mind it feels like some of those things could be consolidated, but I understand the divide between foreman and Katello and how complex it might be to actually do that consolidation.

It seems a little odd to me that to initiate a job I go to the “monitor” tab first - maybe “manage” or something like that deserves to be a top-level menu item. (I think this might reflect that foreman started as a puppet-oriented thing and while it will continue to support Puppet, is moving towards a somewhat different model.)

5 Likes

This is indeed a historic thing but there is already a redesign of the host detail page that will take care of this. In Foreman 3.0 you can get a preview, in 3.1 it will be possible to choose which is the default. Eventually when all functionality has been implemented (still, lots of plugin haven’t) both the current host detail page and content host page will be obsolete.

See this (and other posts):

I’m not sure when that will be. Perhaps we should do a better job of tracking the progress.

1 Like

@quba42 according to PF4 standards that RH products should follow, the correct capitalization in navigation should be title case (as an exception to a default capitalization - sentence case).

We will keep it in mind. The problem is with capitalization in general not just in navigation. Thanks for spotting this issue. We have already given some thought on how to solve it across Foreman wide. @Ron_Lavi

2 Likes

Do you have a link to the “PF4 standards” docs that RH products should follow? (Just for future reference).

PatternFly 4 • Capitalization @quba42

1 Like

Thanks for the response. That’s great to hear! How do I choose a default? (I’m running 3.1/4.3 rc’s now).

Thanks for all the responses so far, I appreciate it a lot! Looks like complex problem that needs more understanding

See the Foreman 3.1 release notes:
https://theforeman.org/manuals/3.1/index.html#improvements-and-additions-to-the-new-host-details-page

1 Like

Completely agree with his. We use Foreman since a couple of years, but the menu still confuses the hell out of me. I sometimes randomly click around trying to remember where to find what.

A pet peeve of mine is seeing the logs of an ansible run:
You click on Monitor → Jobs → then you need to click on the description field (not on the status field, mind you) → on the following page below the overview there is a Host table, there you click on the Hostname (not on the status field, mind you, also not on the host detail button, really only on the hostname), then you get the output of the run. I have no idea if there is a different way to get them.

In the beginning, we had lots of problems understanding the basic concepts of Foreman and Katello, so we also didn’t understand the menu. We came from Cobbler and basically wanted to use primarily provisioning via Kickstart on locally managed repositories (including custom repos) with the hosts continuing to use these repos. Being faced with Organisations, Locations, Host Groups, Host Collections, Lifecycle Environments, Content Views, Installation Media, Operating Systems, Products and their repos, and all of the associations between them, was quiet straining in the beginning. The relationship between all of them wasn’t really clear to us in the beginning, so it was really hard to find the correct places to configure everything.

What I still really don’t like is how you configure the kickstart file that is used for provisioning. First, its not clear to me why Architectures, Kickstart templates and so on are under Hosts instead of under Content, and then having to associate things through editing them, to be able to choose them in dropdowns on other objects, is really unnecessarily hard in my opinion. E.g. having to find and edit the kickstart template to associate it with an Operating System, to be able to associate it with a Hostgroup for Installation.

I hope that all doesn’t sound too critical, I just think there’s potential to facilitate the structure of the navigation and some of the most popular workflows.

1 Like

The division between “Hosts” and “Content” is roughly speaking the division between Foreman and Katello. Everything to do with deploying a host is under “Hosts” (including Architectures, Kickstart templates and so on). Everything to do with managing content (primarily RPM packages or APT packages, etc.) is under “Content”. Not saying that division is very good, just hoping this might help you conceptualize it a bit better until it eventually gets reworked. :wink: And yes, associating templates by hand is a nightmare!

Oh yes, while I do know that, it doesn’t really persuade me to be honest. Why shouldn’t Katello add entries to other submenus? And regarding the split: Installation Media and Operating Systems are for me much closer to content actually. And why are Host Collections under Hosts and Host Groups under Configure? Just some other examples. I just think it could be more accessible.

Host Groups are part of the Configure menu for two reasons: First, they mostly bundle (provisioning and) configuration settings (like Puppet Modules, Salt States, or Ansible Roles); and second, they are not a group/list of hosts. That would be a host collection instead. You can think of host groups as “blueprints/templates” for new hosts.

Where it gets confusing: some settings apply to existing hosts, some settings of a host group only apply to new hosts that are provisioned based on that host group.

But all other Provisioning settings are NOT under Configure, they are under Hosts in a Submenu, which is even called “Provisioning setup”. By the way, much closer to “Host Collections” than to “Host Groups”.
I know these concepts, I just think, even after years of using Foreman, that the menu structure is not optimal.