Allow uninstalling modules and the modules which are dependent in the same action

Created on 14 July 2023, 11 months ago
Updated 20 October 2023, 8 months ago

Problem/Motivation

While discussing 📌 [PP-3] Figure out what to do with the install/uninstall modules page Postponed at 📌 Drupal Usability Meeting 2023-07-14 Needs work we identified several issues with disabled checkboxes on the uninstall modules page:

  1. Disable form elements are not recommended from an accessibility or usability perspective, we should avoid using them.
  2. If the user wants to uninstall a module, along with all of the modules which depend on that module, it is currently not possible to do this in a single action. The user must first identify the modules that depend on that module, uninstall those, then they can finally uninstall the original module. This gets quite tedious when you have multiple levels of dependencies.
  3. The uninstall module experience does not provide feature parity with the install module experience. The install modules list allows the user to select any module which is currently not installed (assuming no dependencies are physically missing), and if that module has dependencies, Drupal will automatically install those, and inform the user of this on the confirm form.

Steps to reproduce

Proposed resolution

Allowing users to select even modules which other installed modules depend on would solve the usability and accessibility issues with disabled checkboxes. After the user selects one or more of these modules, the confirm form would then provide a list of modules which will also be uninstalled should the user choose to proceed.

For example, if the user selects the Migrate module, the confirm form would list the Migrate UI module as a module which would also be uninstalled (assuming the user had Migrate UI installed).

We want to draw the user's attention to this, so styling this information as a warning message, and using a bulleted list, would help to ensure that the user is aware that other modules will also be uninstalled.

This also provides parity with the install confirm form, the install module form shows not only the modules the user selected but also any modules that the selected modules depend on.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

📌 Task
Status

Needs work

Version

11.0 🔥

Component
System  →

Last updated 2 days ago

No maintainer
Created by

🇬🇧United Kingdom AaronMcHale Edinburgh, Scotland

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

Comments & Activities

Production build 0.69.0 2024