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):

  1. (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
      before_134.png
  2. (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)

  3. (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.
  4. (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:
  5. (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.

  6. (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.
    step-2
  7. (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 saying

    Module [module name] has been enabled.
    (emphasis added). You just clicked Install so it should say Installed.

  8. (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:

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:

  1. 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.

  2. 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

  3. 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
  4. 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
  5. 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

Charles Belov created an issue. See original summary.

Charles Belov’s picture

Issue summary: View changes
Charles Belov’s picture

Title: [meta] Hamonize Extend module/theme-add/update terminology » [meta] Hamonize Extend module/theme-add/update terminology/paths/display
Charles Belov’s picture

Issue summary: View changes
Charles Belov’s picture

Charles Belov’s picture

Issue summary: View changes

Version: 8.4.x-dev » 8.5.x-dev

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

benjifisher’s picture

Issue tags: +Usability
benjifisher’s picture

Title: [meta] Hamonize Extend module/theme-add/update terminology/paths/display » [meta] Harmonize Extend module/theme-add/update terminology/paths/display

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

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now be targeted against the 8.6.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.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.

jhodgdon’s picture

Issue summary: View changes

I'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.

jhodgdon’s picture

Issue summary: View changes

Fixing HTML in summary.

dww’s picture

Thanks 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:

We're currently having a major WTF with module (un)install:

  1. Adding a module to our site is called "install". It then appears on the module list but doesn't really get installed.
  2. It's only installed when we're "enabling" the module for the first time.
  3. When we "disable" the module, it's not getting uninstalled, though.
  4. When we "uninstall" the module, it's finally getting uninstalled, but not removed.
  5. Once added, it isn't possible to remove the module again, except via filesystem.

While we can't completely clean up this terminology, we should try to improve on the wording of corresponding actions. It seems quite some improvement to settle with:

  1. Adding a module to our site is called "add". It then appears on the module list.
  2. It's only installed when we're "enabling" the module for the first time.
  3. When we "disable" the module, it's not getting uninstalled, though.
  4. When we "uninstall" the module, it's finally getting uninstalled, but not removed.
  5. We come up with a way to remove the module from the list, so it doesn't further clutter up our module page.
jhodgdon’s picture

Some 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).

jhodgdon’s picture

Issue summary: View changes

We 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.

jhodgdon’s picture

Title: [meta] Harmonize Extend module/theme-add/update terminology/paths/display » [meta] Less confusing and more consistent wording needed in module/theme add/install/update

Choosing 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.

yoroy’s picture

Yes, thanks for pulling these together @jhodgdon.

In #19:

a) The process of putting files for modules and themes onto the file system should probably be called "Add".

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...

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.

jhodgdon’s picture

We 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:

  1. 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.

    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.

  2. 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.

    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.

  3. 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.
  4. 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.
  5. 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.

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.

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.

quietone’s picture

jhodgdon’s picture

Can 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.

quietone’s picture

@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.

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.

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

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.