Problem/Motivation
We have about 10 related Usability issues (see Child issues in the sidebar) around the area of the functionality that lets you add a new contrib or custom module/theme from the UI, and the wording on the screens/buttons for this process. Here's how it works currently for modules (themes are similar):
- (this item is currently on #2577407: Action of uploading module/theme files should consistently be called "Add", not "Install")
The Extend page (admin/modules) -- this page has two buttons that both say "Install" that do different things:- At the top: Install new module section downloads a module from outside the site and makes it available for installing
- At the bottom, Install installs the modules that were selected on the form
- At the top: Install new module section downloads a module from outside the site and makes it available for installing
- (this item is currently on #2888652: Move instruction and button for loading contributed modules or themes next to each other)
The order of text/buttons at the top of admin/modules is not too good. It currently says:Download additional contributed modules to extend your site's functionality.
Regularly review and install available updates to maintain a secure and current site. Always run the update script each time a module is updated.
+Install new module (button)
(see previous top screenshot)
- (this item is currently on #2889282: Improve added module instructions)
The wording at the top (see previous item) says you can download contributed modules, but if you click through you find you can also add custom modules. - (this item is currently on both #976232: "Install" button at admin/*/install should be labeled "Continue" and #2839586: Make the wording on the "Install new modules" page more clear)
After clicking Install new module, you get to a page that lets you enter a URL or upload a zip archive, and then click another button that says Install:
- (this item is currently on #2839586: Make the wording on the "Install new modules" page more clear and #992190: Link to enable a new module after adding it via the Update Manager is confusing - allow users to enable it directly from that screen instead and #3158126: Change text to "You must manually enable newly added modules, here. Steps here.")
After clicking this Install button, if the files are successfully uploaded, you get messages saying:Installation was completed successfully.
Installed [module name] successfully
Enable newly added modules
Install another module
All of these messages are confusing. When you click the Enable link, it doesn't enable the module, but only takes you back to admin/modules (where you can find the module in the list and Install it, not Enable it), and as noted above, using the word "install" for what just happened is confusing anyway. - (this item is currently on #2856038: Confusing instructions when installing a theme in D8 and #1862094: After installing a theme, display a link to "install another theme")
For themes, after uploading files, the message says "Install newly added themes", which is probably even worse. Also, unlike the module page, there is no link to upload another theme.
- (this item is currently on #2891294: [Meta] Use Install/Uninstall consistently for turning modules/themes on/off (not Enable)
After clicking the "Enable newly added modules" button and returning to admin/modules [or just in general if you start on admin/modules], you find your module in the list and click Install at the bottom. You get a message sayingModule [module name] has been enabled.
(emphasis added). You just clicked Install so it should say Installed. - (this item is currently on #2888654: URLs for module/theme actions are inconsistent with UI text)
The URLs and tab names for these pages are also confusing and inconsistent. The theme tab names don't match the URL suffixes, and when you get to the page that lets you upload from a URL, the same exact page can be accessed through multiple URLs.
Related issues out of scope
There are some other usability issues on the Extend and Appearance pages that are probably out of scope for this issue, but are somewhat related:
- #2035079: [PP-3] Figure out what to do with the install/uninstall modules page
- #2574721: Provide access to action links in the modules page on small screens
- #2392695: Move module dependency messages from the install form to the uninstall form
- #2915646: Add explanatory text on disabled checkboxes on modules page
- #2906547: Add links to Drupal.org project pages to module listings in /admin/modules
- #2372183: Display same info for themes as for modules
- #536440: Reconsider whether "Appearance" should be a top-level item in the IA
Proposed resolution
From comment #23 and #3178030: Drupal Usability Meeting 2020-11-13:
We can fix up the wording in the UI for module/theme add/install/uninstall as follows, divided up into 5 phases of fixes that we could actually get done, each in its own issue. Here is a list of what we decided should be done now, with anything else currently listed in the Problem section above being out of scope for this meta issue:
- There is a UI that lets you upload the files either from a URL or a tarball. The UI for this should consistently use the verb "Add" (currently uses "Install", see item 1 in the issue summary here), and if there is any mention of removing files from the disk, that should use the verb "Remove". This can be done in a minor release, as it is only UI text changing.
Child issue: #2577407: Action of uploading module/theme files should consistently be called "Add", not "Install"We also noted that at the Composer command line, the verb for this action is "require", but we don't want to use that in the UI inside Drupal. There is no Drush command for doing this.
- There is a UI that lets you turn a module/theme on/off. Turning it on adds configuration and often database tables. Turning it off removes content, configuration, and/or database tables. The UI for this should consistently use the verbs "Install" and "Uninstall". Currently it mostly does use these verbs, but it says "Enable" in a few places. This can be fixed in a minor release, as it is only UI text changes.
Child issue: #2891294: [Meta] Use Install/Uninstall consistently for turning modules/themes on/off (not Enable)We also noted that the Drush commands use the verbs "enable"/"uninstall"; we should probably see if we can get Drush to be more consistent in its use of these verbs too. Created issue:
https://github.com/drush-ops/drush/issues/4588 - We should not use the verbs Install/Uninstall for other actions in the module/theme space. For instance, there is currently UI that talks about "installing updates", which should use the verb "Update" instead of "Install". This can be done in a minor release, as it is only UI text changing.
Child issue: #3182405: Do not use verb "Install" for things other than turning on modules/themes - Make the URLs for each of these actions consistent with the UI text. This should be postponed until the first 3 issues are done (or at least the first two). This could be done in a minor release with a BC layer that redirects the old to new URLs; the BC layer would be removed in the next major release.
Child issue: #2888654: URLs for module/theme actions are inconsistent with UI text - Make the API function names for these actions consistent with the UI text. This should be postponed until the firsts 3 issues are done. This could be done in a minor release with a BC layer or deprecations; the BC layer or deprecated functions would be removed in the next major release.
Child issue: #3182408: API function names in module/theme install/uninstall space should match UI
Remaining tasks
a) [Done!] Create/identify child issues for the 5 items in Proposed Resolution. Some should be postponed; some other child issues should be closed as duplicates of these 5 issues.
b) Fix each child issue.
User interface changes
Better and less confusing UI for adding a new module/theme to the system, turning it on, and/or updating it (on child issues).
API changes
API function names will change to match the UI (on a child issue).
Data model changes
None.
Release notes snippet
Not on this meta issue.
Comments
Comment #2
Charles BelovComment #3
Charles BelovComment #4
Charles BelovComment #5
Charles BelovComment #6
Charles BelovComment #8
benjifisherComment #9
benjifisherComment #15
jhodgdonI'm updating the issue summary here to attempt to collect all the issues together into one unified description. I found a few more that weren't listed here as children, and added this issue as a parent. This is a mess! I think we should resolve it on this issue and close all/most of the others as duplicates (the patch would be small, even with all the issues, as it's all UI text changes). We plan to discuss this at the next Usability meeting #3159742: Drupal Usability Meeting 2020-07-21.
Comment #16
jhodgdonFixing HTML in summary.
Comment #17
dwwThanks for pulling all this together, @jhodgdon!
This was all made worse and more confusing at #2056089: UI problems on the Modules/Extend page when the 'Install' buttons at the bottom of the page were added. Used to be 'Save configuration' which is also bad, but our whole terminology on 'install' vs. 'enable' is very inconsistent.
Not sure if it's in scope for this meta or not, but when reviewing all this, #1207354-6: Install new module v/s Add new module by @Pancho is among the best summaries of the weirdness I've seen:
Comment #18
jhodgdonSome of that seems a bit outdated, since we can't "enable" or "disable" a module any more (using the terminology currently in the UI anyway). But yes, several people have suggested we change the terminology for uploading files for a module/theme to the site to "Add". We need to change it to something -- I think I might prefer to say "Upload" (or better yet not have this functionality at all -- it has always seemed like a security risk to me and I have never set it up on any site I've built, and with Composer issues now it seems like a bad idea anyway -- but that discussion is out of scope for this issue about the UI text).
Comment #19
jhodgdonWe discussed this meta issue in the Usability meeting today #3159742: Drupal Usability Meeting 2020-07-21.
The current consensus seems to be:
a) The process of putting files for modules and themes onto the file system should probably be called "Add".
b) The process of turning on/off modules and themes should be called Enable/Disable.
How to organize fixing this, and whether we should also address URLs, and the Update process's many URLs and screens, remains an open question, but I've added those two items to the issue summary under Proposed Resolution.
------
We also discussed @sajosh's suggestion of expanding the scope to think of the entire add/install/configure/permission process of getting and turning on a module or theme, and later of updating it. @sajosh uploaded a document to #2577407-174: Action of uploading module/theme files should consistently be called "Add", not "Install" that suggests that we need a wizard-style interface that would guide users through these processes, and also points out that the Available Updates report is accessible from several URLs and several UI navigation points and tab headers, but all of them are basically the same thing (/admin/reports/updates vs. /admin/modules/update vs. another URL for themes, and all 3 show both modules and themes).
This document also suggests many changes to the UI in this area, so I'll link that in the issue summary as well. It would be useful to go through the document and figure out which things are changes and which are the way things currently are, and make a summary of the changes to put into the issue summary, but I don't have time to do that today.
Comment #20
jhodgdonChoosing a more "usability" sounding (and less musical) title. I'll also add a comment to the child issues to alert them we are working on it here and probably a patch would be premature.
Comment #21
yoroy CreditAttribution: yoroy at Roy Scholten commentedYes, thanks for pulling these together @jhodgdon.
In #19:
It looks like that is a very sensible first step in reducing the confusion. Without having to touch the enable/install discussion :)
At the very least that would add clarity around the different steps.
- *Add* a theme/module to make it *Available*
- *Enable/Install* an available theme/module to make it *Enabled/Installed/Active?*
- etc.
Trying things out in this spreadsheet: https://docs.google.com/spreadsheets/d/1O8HI634U-L6-853sIVxw-jbSPEDxCkNn...
Comment #23
jhodgdonWe discussed this issue and #3162049: Better wording of the module life-cycle admin pages at the Usability meeting today:
#3178030: Drupal Usability Meeting 2020-11-13
The conclusion we came to was that fixing up the UI for module/theme add/install/uninstall should be divided up into 5 phases of fixes that we could actually get done, each in its own issue. Here is a list of what we decided should be done, with anything else currently listed in the issue summary being out of scope for what we discussed today:
We also noted that at the Composer command line, the verb for this action is "require", but we don't want to use that in the UI inside Drupal. There is no Drush command for doing this.
We also noted that the Drush commands use the verbs "enable"/"uninstall"; we should probably see if we can get Drush to be more consistent in its use of these verbs too.
I'm adding this to the Proposed Resolution in the issue summary. Next step will be to create/identify child issues for each step, postpone issues as necessary, and close other child issues as duplicates as appropriate.
Comment #24
jhodgdonExpanded/clarified #2577407: Action of uploading module/theme files should consistently be called "Add", not "Install" to be the issue for item 1 in the plan. In conjunction with that, #976232: "Install" button at admin/*/install should be labeled "Continue", #2839586: Make the wording on the "Install new modules" page more clear are marked as duplicate.
Expanded/clarified #2891294: [Meta] Use Install/Uninstall consistently for turning modules/themes on/off (not Enable) to be the issue for item 2 in the plan. #2856038: Confusing instructions when installing a theme in D8 is marked a duplicate. https://github.com/drush-ops/drush/issues/4588 is the corresponding issue for Drush.
Created #3182405: Do not use verb "Install" for things other than turning on modules/themes for item 3.
#2888654: URLs for module/theme actions are inconsistent with UI text is for item 4.
Created #3182408: API function names in module/theme install/uninstall space should match UI for item 5.
Comment #26
quietone CreditAttribution: quietone as a volunteer commentedAdd related issue
Comment #27
jhodgdonCan you add that to the issue summary in the right place? Also is it a duplicate of other issues here? By the title I would guess it is.
Comment #28
quietone CreditAttribution: quietone as a volunteer commented@jhodgdon, Yes, looks like a duplicate of #2891294: [Meta] Use Install/Uninstall consistently for turning modules/themes on/off (not Enable). I've updated the issues and moved the patch from the duplicate and added credit.