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.

Remaining tasks
User interface changes
API changes
Data model changes
| Comment | File | Size | Author |
|---|---|---|---|
| #22 | interdiff-2949629-19-22.txt | 626 bytes | pguillard |
| #22 | core-available_installed_extended-2949629-22.patch | 27.51 KB | pguillard |
| #21 | 2949629_after.png | 23.52 KB | duaelfr |
| #21 | 2949629_before.png | 23.4 KB | duaelfr |
| #19 | interdiff-2949629-16-19.patch | 446 bytes | artusamak |
Comments
Comment #2
cilefen commentedComment #3
alexpottHere'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.
Comment #5
alexpottWhilst working on this opened #2949729: Clean up ModuleListForm a bit
Comment #6
alexpottFixed 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.
Comment #7
alexpottDiscussed 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.
Comment #8
alexpottCreated #2949834: RequiredTest is not testing what it thinks it is testing. to handle the RequiredTest
Comment #10
yoroy commentedComment #11
yoroy commentedThis 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?
Comment #12
alexpottI 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.
Comment #13
dawehnerI do agree, too.
Just an an idea for the list of tabs:
Comment #14
justafishTurns 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.
Attaching re-roll against 8.6.x
Comment #16
dawehnerHere is some small review + renaming "Available" to "Install".
Comment #19
artusamakHere 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.
Comment #21
duaelfrThe 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 updateThat was my 2cts ❤️
Comment #22
pguillard commentedAt 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.
Comment #32
aaronmchaleThis 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.
Comment #33
simohell commentedUsability 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