New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[UX] Improve the UI and UX for managing modules #6323
Comments
I would rather leave the List modules page. It should not be different from pages like /admin/structure/types/list, /admin/structure/block/list, or /admin/structure/layouts/list. The latter is probably the closer to /admin/modules/list, since it has a Install new layout templates tab. Eventually, Disable modules, Enable modules, Install modules, and Uninstall modules could be actions to show on the List modules page. |
@kiamlaluno thanks for the feedback. Most of the things you are proposing have already been discussed previously, and there are a few problems/caveats: We could add individual actions for enabling/disabling/installing/uninstalling modules in the "List modules" page, but that would mean losing the bulk operation of enabling + disabling multiple modules at the same time via the submit button at the bottom of the page. We would need to click multiple action/operation buttons, when needing to enable/disable multiple modules, which is bad UX. So that means that we would need to also add bulk operations to the form if we were to retain the current functionality. That would be fine otherwise, but the checkboxes in that form are currently used to indicate the enabled/disabled status of each module, so they can't be used for bulk operations. We would need to either add another column of checkboxes (which would be confusing), or a separate column to indicate the module status (enabled/disabled/uninstalled). We could explore that option, but I believe that it would lead to other problems and a more complicated UI/UX than the one I am proposing here. So perhaps create a separate issue to explore that idea? I understand the concern about the potential inconsistency with the other "List xyz" pages (I was actually part of the effort to bring consistency to that - see #525), however we are dealing with a much bigger issue with regards to UX here, which I believe is worth the compromize. Besides, we are already making exceptions to these rules around consistency in the various "List xyz" pages as needed. For instance, the "List layouts" page ( |
I was not suggesting to add actions to each listed module, but action buttons that appear on the top of the listing page. Disable modules, Enable modules, Install modules, and Uninstall modules would still be bulk operations. Renaming the List modules tab to Enable modules would be a bigger inconsistency. Users would expect the Enable modules tab to enable modules, as the tab name says; they would expect it to list all the existing modules. |
I am referring to the To me, Enable modules is the page to enable modules, which could also list only the not enabled modules, not the page that lists all the installed/installable modules, which could list all the available modules, even the ones still to install. |
This issue here is a culmination of thoughts and ideas that have been spinning at the back of my head for years. I have tried to break them up into smaller bits and file separate issues for them, but each one of them presents its own challenge (see #541 and #2532 for instance). Anyway, the whole discussion in #6309 and a series of comments by @stpaultim and @bugfolder specifically triggered the creation of this issue here:
I don't think that the UI in
/admin/modules
and its sub-pages and sub-sections is necessarily "poor", the UX has room for streamlining and improvement though. So I started working on a possible proposal for consideration on my local to see how things would work and if worth pursuing (still not ready for an PR though). I got slightly demotivated/sidetracked when I got myself into relevant rabbit holes again, revolving around the navigation (primary tabs, breadcrumbs and page titles etc. - see #1509, #1508, #1456 and other relevant/linked issues).Anyway the gist of my proposal is this:
List modules
tab toEnable modules
and do not allow anything other than that action to be performed there. Once a module has been enabled, we hide the checkbox - that's it! I am NOT proposing to do what they have done in D8+ where you cannot disable modules any more - read next point...Uninstall modules
tab toDisable modules
(or come up with something even more generic that encompasses both actions), and allow both disabling and uninstalling to happen there, as variations of the same cleanup task (depending on the level of cleanup desired). I was thinking that:Also remove configuration and any associated data
in the confirmation dialog when disabling modules (with appropriate warnings etc.)Select method to disable the modules listed above
:The benefits of the above:
admin/modules
, providing 3 actions that are clearly indicated by their labels, leaving very little to no room for confusion/disambiguation/misinterpretation:Enable modules
|Install new modules
|Disable modules
admin/modules/uninstall
tab to explain that disabling modules is required before they can be uninstalled.Hard to visualize the above? Stay tuned for screenshots/mockups, or even a PR sandbox to play with...
The text was updated successfully, but these errors were encountered: