Improve the structure and organization of the manage services page

Created on 11 November 2024, 7 months ago

Problem/Motivation

At the moment the services listed on admin/config/user-interface/klaro/services are displayed as a more of less homogenous list. There are a few problems, mainly in regards of readability, to note:

  • The status services are in are sort of hard to scan. It is challenging to distinguish between services with an Enabled and a Disabled status.
  • The most important information for a service is the actual service name which is currently in the second instead of the first column. That makes the list harder to scan depending on the users objective. If the user is scanning by the spotted pattern for a particular service they then have to scan left and right in that particular row to gather all the available information which is more challenging than scanning in a single direction. Same for simply scanning and getting an overview across the list of available services. the user will probably apply the f-pattern as the gazing pattern of choice. they either first scan the table header from the status column until they reach the service column and then skim down vertically which is a challenging and demanding task for some people. More likely is that the user is skimming down the list row by row, and in each row they have to skim over the status until they reach the actual service.
  • The number of available columns is already rather high with eight columns

Steps to reproduce

Proposed resolution

Apply the same pattern used on for example /admin/structure/views separating enabled and disabled services. That way the status column could be removed and the service column becomes the first column.

Remaining tasks

User interface changes

API changes

Data model changes

Feature request
Status

Active

Version

3.0

Component

User interface

Created by

🇩🇪Germany rkoller Nürnberg, Germany

Live updates comments and jobs are added and updated live.
  • Usability

    Makes Drupal easier to use. Preferred over UX, D7UX, etc.

Sign in to follow issues

Merge Requests

Comments & Activities

  • Issue created by @rkoller
  • 🇩🇪Germany jan kellermann

    jan kellermann made their first commit to this issue’s fork.

  • 🇩🇪Germany jan kellermann

    - We split up the list (enabled services / disabled services).
    - You can change the order of enabled services.
    - you can enable or disable via checkbox

    Please review and feedback.

  • 🇩🇪Germany rkoller Nürnberg, Germany

    Sorry took a little longer than anticipated, but my eye problems have flared up again, making longer text where you have to focus a bit cumbersome. I have taken a look at MR199 and played around with the merge request. I’ve noticed a few things:

    1. It looks like there is some additional padding between the Enabled services heading and its table underneath - that way the heading looks pushed towards the Add service button and the gap between the heading and the table is way bigger for the Enabled services compared to the Disabled services. It is probably due to margin-block-start within the .tabledrag-toggle-weight-wrapper class selector. I suppose due to the fact that the other pages that are using the enabled/disabled pattern don’t have the option to sort in consequence they also have don't have the Show row weights link on top of the table, and the div that is containing that link has that margin causing the larger gap.
    2. The drop buttons in the Operations column are way bigger than usual - they look like twice the height compared to the drop buttons on for example admin/structure/display-modes/view, admin/structure/view, or admin/content.
    3. The status checkbox pattern for enabling and disabling services works as expected, but it has a few downsides.
      • It is introducing a new pattern for handling the enabling and disabling of services, that is breaking with the existing one users are already familiar with - the other pages are using an Enable and Disable options on the drop buttons in the Operations column.
      • With checkboxes in place you have one additional click for saving the configuration, after selecting/checking all the services you want to enable or disable.
      • Those status checkboxes make you, the user, think. Depending on what you are trying to change, for disabled services you want to enable you might catching yourself thinking do i select the services to enable by ticking them, while the other way around if you want to disable services and you are still in that “selection mindset” you might leave those services checked you want to disable. Also due to the fact that the position of the service is only changed when the save button is clicked you might have both sections with checked and unchecked services. The cognitive load is high that way. :/
      • Save configuration button label and the Status<code> column header are decoupled semantically from the section headings <code>Enabled services and Disabled services.
      • And finally the width of the columns differs between the two tables.
    4. If you enable or disable all available services, either way you are getting No services have been created yet.. This is sort of inaccurate since Klaro is shipping with 23 services by default.

    In the following a few suggestion how to tackle the aforementioned points:

    about point 1: If possible I would reduce the margin between the Enabled services heading the associated table.

    about point 2: The other pages using the enable/disable pattern are using the extra small variant size for drop buttons from the Drupal Design System. I would suggest to stay consistent in regard to the styling.

    about point 3: I would suggest to follow the pattern the other pages with the enable/disable pattern are using. Remove the status column and adjust the width of the remaining columns in-between the two tables. On the drop buttons of the Enabled services section, keep Edit the default option and add a Disable option as secondary action. In the Disabled services section make Enable the default option on the drop button and move Edit to the secondary actions. If you enable a disabled service it is directly moved to the enabled services section, same as the other way around.
    The only slightly “odd” detail about that pattern is having those handles for changing the order of enabled services by dragging them vertically. My first impulse was testing if it would be possible to disable services by drag and drop. But it was clearly communicated that dragging a service to a different section doesn't work/is not intended AND the disabled services section doesn't have those handles.

    about point 4: Uncertain if it might be too granular, but the most accurate approach would be to check if there are no services created yet and then show No services have been created yet. in the enabled as well as the disabled services section. If there are services created, and none of them is enabled use something like There are no enabled services. in the enabled services section, if none of them is disabled use something like There are no disabled services. in the disabled services section.

  • 🇩🇪Germany rkoller Nürnberg, Germany
Production build 0.71.5 2024