Problem/Motivation

It's very confusing the have checkboxes on a page when they can't be unchecked

Proposed resolution

Split the list of modules into Installed, Available, and Uninstall. Remove the checkbox from the "Installed" section.

Example showing the module page split into 4 tabs

Remaining tasks

User interface changes

API changes

Data model changes

Comments

justafish created an issue. See original summary.

cilefen’s picture

Issue tags: +Usability
alexpott’s picture

Status: Active » Needs review
StatusFileSize
new23.65 KB

Here's a start. Based on ModuleListForm I've made a new controller to create the list of installed modules and changed ModuleListForm to only list modules available to install.

Status: Needs review » Needs work

The last submitted patch, 3: 2949629-2.patch, failed testing. View results

alexpott’s picture

Whilst working on this opened #2949729: Clean up ModuleListForm a bit

alexpott’s picture

Status: Needs work » Needs review
StatusFileSize
new2.43 KB
new27.66 KB

Fixed the tests. The RequiredTest is totally useless because we no longer uninstall modules from the admin/modules page anyway. I've moved this test into UninstallTest. I guess I should open another issue about this. And block this on that.

alexpott’s picture

StatusFileSize
new1.27 KB
new28.67 KB

Discussed with @dawhener and @justafish. We felt that after installing a module you should end up on the installed module list. Let's see what breaks.

alexpott’s picture

Status: Needs review » Needs work

The last submitted patch, 7: 2949629-7.patch, failed testing. View results

yoroy’s picture

Issue tags: +Needs usability review
yoroy’s picture

This makes the initial almost into a report only, non actionable except for the "install new module" button. I agree it's weird to have those fixed checkboxes in there but removing the option to *enable* other/new things in this initial list is maybe not the best trade-off?

alexpott’s picture

I agree. Maybe we've got the wrong initial screen. Maybe it should the "Available". You have just clicked on "Extend" so the clear intention is to add new functionality.

dawehner’s picture

I do agree, too.

Just an an idea for the list of tabs:

  • Install | Uninstall | Available | Update
justafish’s picture

Status: Needs work » Needs review
StatusFileSize
new324.86 KB
new359.39 KB
new27.08 KB

Turns out the screenshot in the initial post isn't what the patch does, and in fact has "Available" as the initial screen - which sounds like what we want here.

Screenshot of the Drupal Extend page - Available tab
Screenshot of the Drupal Extend page - Installed tab

Attaching re-roll against 8.6.x

Status: Needs review » Needs work

The last submitted patch, 14: 2949629-13.patch, failed testing. View results

dawehner’s picture

Status: Needs work » Needs review
StatusFileSize
new26.77 KB
new26.77 KB

Here is some small review + renaming "Available" to "Install".

The last submitted patch, 14: 2949629-13.patch, failed testing. View results

Status: Needs review » Needs work

The last submitted patch, 16: 2949629-16.patch, failed testing. View results

artusamak’s picture

Status: Needs work » Needs review
Issue tags: +DevDaysLisbon
StatusFileSize
new26.9 KB
new446 bytes

Here is a reroll with "Available" for real this time as the tab label. It was missing from the previous patch. ;-)

Meanwhile, in one hand i agree that the "Available" tab as a default page makes sense but on the other hand, having a "Installed" tab only useful to access the Configure / Help links isn't explicit enough.
I think that we should merge it with the "Uninstall" tab, rename the tab as "Manage modules" or something smarter that we will figure out. That way the user will be able to configure or uninstall a module within the same page, wouldn't it make more sense?

I don't get why the test bot complains about Big Pipe in the failing test.

Status: Needs review » Needs work

The last submitted patch, 19: interdiff-2949629-16-19.patch, failed testing. View results

duaelfr’s picture

StatusFileSize
new23.4 KB
new23.52 KB

The patch looks good and solves the issue as shown in the attached screenshots.

Before

After


However, as told in #19 by @Artusamak, I agree that we could still improve these tabs.

Before the patch, the three tabs labels referenced actions (List, Update, Uninstall). With the patch, it's a mix on states (Available, Installed) and actions (Update, Uninstall). The "Installed" and "Uninstall" pages show the same modules in almost the same way. I also think these two pages could be merged.

Then, I think the "Available" label can lose people thinking that their installed modules should be found in this list. Maybe a "Not installed" label would be more clear.

In the end, what I suggest should be more like Not installed | Installed | To update

That was my 2cts ❤️

pguillard’s picture

Status: Needs work » Needs review
StatusFileSize
new27.51 KB
new626 bytes

At least I found out a problem in the remaining failing test, but I guess that one won't pass, I did not find why !

No opinion for DuaelFr suggestion.

Status: Needs review » Needs work

The last submitted patch, 22: core-available_installed_extended-2949629-22.patch, failed testing. View results
- codesniffer_fixes.patch Interdiff of automated coding standards fixes only.

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

aaronmchale’s picture

This issue surfaced while #2035079: [PP-1] Figure out what to do with the install/uninstall modules page was being reviewed.

I believe this issue could be quite a good first step in making the modules page more usable.

Tagging for review and discussion at #3310096: Drupal Usability Meeting 2022-09-23 or a future meeting.

simohell’s picture

Status: Needs work » Closed (won't fix)

Usability review

We discussed this issue at #3310096: Drupal Usability Meeting 2022-09-23. That issue will have a link to a recording of the meeting.

For the record, the attendees at today's usability meeting were @AaronMcHale, @Balu Ertl, @benjifisher, @dancbatista, @rkoller, @shaal, @simohell, and @worldlinemine.

Splitting items into tabs by status is not a common pattern in Drupal. A more common approach is to use filtering inside a single page, such as in admin/content. Having modules in a single list filterable by status (installed/not installed) would be good for usability principles of visibility of system status, consistency and standards and recognition rather than recall.

Module listing and installing is in need of usability improvements but there seem to be better approaches available than introducing additional tabs. The discussion will continue at issue #2035079: [PP-1] Figure out what to do with the install/uninstall modules page