Communicated the status/state of a module in one of the upper corners of a module card

Created on 18 October 2022, over 1 year ago
Updated 3 June 2024, 23 days ago

Problem/Motivation

Currently it is rather difficult to know in which state a single module is - Is it not yet added, is it added but not yet installed or is it installed?

Without #3312289: Svelte UI for install controllers β†’ applied:
not added (a blue primary download button)
added but not installed (a blue primary install button)
installed (a grey installed button.when clicked you get forwarded to the extend page which is unexpected)

With #3312289: Svelte UI for install controllers β†’ applied:
not added (not directly visible - the default drop button action is view commands. if the module is not added yet the option download (experimental) and the option download and enable (experimental) is available)
added but not installed (not directly visible - the default drop button action is view commands. if the module was added only the option enable (experimental) is available)
installed (a grey installed button. when clicked you get forwarded to the extend page which is unexpected)

Installed communicates a state while the other two Download and Enable communicate an action (the issue for updating the terminology #3315858: Make the micro copy for adding and installing modules consistent with the general plan for Drupal Core β†’ ). Overall the task is demanding and it is quite difficult to quickly assess the state a module is in by inspecting the card. At the moment it entirely relies onto the button styling and its label. And in case #3312289: Svelte UI for install controllers β†’ is applied two third of the states are not directly visible.

For the record the issue was identified and initially discussed during #3312892: Drupal Usability Meeting 2022-10-07 β†’ . The issue has a link to the recording of the meeting. The attendees were @AaronMcHale, @benjifisher, @narendraR, @rkoller, @shaal, @simohell, @srishtiiee, @Utkarsh_33, and @worldlinemine.

Steps to reproduce

Proposed resolution

It would be helpful if there would be some sort of label or signifier communicating the state a module is in so that it is possible to assess the actual state in a glimpse of an eye without the pressing need to read to know the state ideally. That label might be positioned in one of the upper corners of the card (perhaps on the right for LTR and on the left for RTL).

A complementary issue helping to ease the need to even read the suggested new labels might be ✨ Add a filter type for the module install state Active . If that issue gets accepted and implemented certain states might be filtered out. It might be worth a discussion if the solution with the linked issue might be enough or if both should be implemented.

Remaining tasks

  • βœ… File an issue about this project
  • ☐ Manual Testing
  • ☐ Code Review
  • ☐ Accessibility Review
  • ☐ Automated tests needed/written?
✨ Feature request
Status

Needs review

Version

1.0

Component

User experience

Created by

πŸ‡©πŸ‡ͺGermany rkoller NΓΌrnberg, Germany

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • Please review the icons for communicating the status/state of a module in one of the upper corners of a module card.
    There are three for three different states:
    - Available
    - Added
    - Installed
    Communicating the status of a module card with a colour is not correct from an accessibility perspective, that's why it's all about the shape of an icon. As there was not size specified, I made them 31x31px

  • Status changed to Needs review 12 months ago
  • πŸ‡ΊπŸ‡ΈUnited States chrisfromredfin Portland, Maine
  • πŸ‡ΊπŸ‡ΈUnited States chrisfromredfin Portland, Maine

    Updating with a plan of action for this issue:

    1. Decide if this is enough of a usability issue for MVP
    2. Design an accessible solution for reflecting these statuses
    3. Implement design by reflecting status

    I believe that there are a few things that need decisions:

    • Language - the three states are (1) "module is not in your codebase yet, and needs to be downloaded" (2) "module is in your codebase but not installed/enabled/active" and (3) "module is in your codebase and is installed/enabled"; we need to decide on one-word, clear terms that describe these states.
    • Iconography/Color - Simple icons like the ones Antonia came up with make sense; however, you're also not suppose to ever convey meaning with ONLY an icon, it should have text with it. I think we will need both. Similarly, I think color differentiators are OK if you don't ONLY differentiate with color. I think a combination of color, icon, and text would be good - however, is that too much to cram onto a card?
    • An actual design - we need to come up with a mockup of how this should look before proceeding (and of course a decision whether or not we'll even include before that!

    I would love to hear some opinions from outside users to first ascertain the seriousness of the usability issue. (Note, it did not come up at our Univ of Minnesota real-user-testing; however, I'm not sure we had tasks directly related to that.)

  • πŸ‡ΊπŸ‡ΈUnited States MikeTullo

    hello! I took a stab at looking at this issue.

    Language - For the three states, I was thinking of going with "Available" for a module that is not installed or enabled. "Installed" for a module that was downloaded to your codebase but still not enabled. "Enabled" for a module that is both installed and turned on.

    Iconography - For the icons, I went with a simple + for Available, a downwards arrow for Installed, and a checkmark for Enabled. I also utilized the new marketing colors for each state, dark grey (#4F4F4F) for Available, the Drupal Blue (#009CDE) for Installed, and Drupal Green (#397618) for Enabled.
    Installed:

    Enabled:

    Available:

    Design - Here is a design of the grid and list view in project browser. I also attached the icons as SVGs.

    Designs:
    Grid View

    List View

  • πŸ‡©πŸ‡°Denmark ressa Copenhagen

    Thanks for working on Project Browser, it will be a huge improvement. About naming the actions and present situation of a module, it can be a source of confusion ... I recently posted this comment:

    It's important to discern between downloading and installing modules, they are two very different things in Drupal.

    1. You download the module and its additional necessary libraries (defined in the module's composer.json file) with Composer.
    2. Then you install the module either via the GUI on the Extend page, or with Drush -- the module gets enabled, changes are made to the database (the configuration), necessary folders are created, etc.

    See https://www.drupal.org/docs/extending-drupal/installing-modules β†’ as well as these two issues for more discussions:

    From Download β‰  install β†’ .

    Perhaps these words best convey the states and options?:

    1. Module is not in your codebase yet, and needs to be downloaded: "Available"
    2. Module is in your codebase but not installed/enabled/active: "Downloaded" -- OR -- "Added"
    3. Module is in your codebase and is installed/enabled: "Installed"
  • First commit to issue fork.
Production build 0.69.0 2024