Problem/Motivation

#2577407: Action of uploading module/theme files should consistently be called "Add", not "Install" exposed the issue that once "add new module" has been clicked the following screens also need better wording.

Both that issue and this one stem owe their existence to a change that was made in Drupal 8 whereby modules are no longer enabled and disabled but only installed or uninstalled.

In the case of #2577407: Action of uploading module/theme files should consistently be called "Add", not "Install" that created a situation where the nomenclature was confusing. At the top of the page the user sees a link to "Install modules" and at the bottom the submit form also reads "Install" (assuming update manager is installed). The solution there was to change the top link to read "Add new modules".

Here the case is slightly different. We have the page the user lands on when they click "add new modules", which looks like this:

  1. The help text could be more explicit and direct the user.
  2. We are still in the "adding" flow and "installing" does not happen until the modules have been "added" to the site so the title needs to change.
  3. The label "Install from a URL" suggests improperly that this step installs the module which it does not.
  4. 'Upload a module or theme archive to install' is overly verbose for a label
  5. The submit button says 'install', but the module/theme is not being installed, but uploaded or imported to be installed back on the extend page.

Proposed resolution

Remove references to 'installing' from this page. Make it explicit through the title that the user must go and 'get' the modules they need to install from elsewhere. Clearly disambiguate the two ways a user can get modules, Import (as opposed to install) or upload. Make the labels and descriptions less verbose and be clear that the submit applies to either import or upload.

Remaining tasks

It's important to note that if we were to use "add" in the submit text or in the title the user may get the impression that submitting this form (adding) installs the module.

Additionally we need to make the messages that these actions return match the nomenclature we use here.

Write patch

User interface changes

New wording (see above)

API changes

-

Data model changes

-

Comments

tkoleary created an issue. See original summary.

tkoleary’s picture

Issue summary: View changes
Thew’s picture

StatusFileSize
new38.56 KB
new38.86 KB

Also, this word if the site doesn't have FTP access.

"Installing modules and themes requires FTP access to your server. "

See screenshots.

lomasr’s picture

StatusFileSize
new1.34 KB

Hi, As per suggested in the description, adding a patch. Please review.

lomasr’s picture

Status: Active » Needs review
Thew’s picture

StatusFileSize
new4.24 KB

This is a patch with all of the suggestions including in comment #3

The last submitted patch, 4: 2839586-4.patch, failed testing.

Status: Needs review » Needs work

The last submitted patch, 6: 2839586-6.patch, failed testing.

Thew’s picture

StatusFileSize
new29.51 KB

After testing around, I found somethings more to fix.

  1. Paste the download link in Import form.
  2. Click install.
  3. See my screenshots.

You'll find it is saying
Installation was completed successfully.
Installed token successfully
Install another module

These words should be fixed too.

Thew’s picture

StatusFileSize
new6.9 KB

I fixed the Test that failed. Hope it passes.

Thew’s picture

StatusFileSize
new6.9 KB

Upload for test.

Thew’s picture

Status: Needs work » Needs review

Status: Needs review » Needs work

The last submitted patch, 11: Fixed-Test-2839586-10.patch, failed testing.

Thew’s picture

Status: Needs work » Needs review
StatusFileSize
new7.65 KB
new1.01 KB

I remove the archiver supported extension help text test since we've removed it from UI.

This should pass now.

amit.drupal’s picture

StatusFileSize
new59.48 KB
new57.19 KB

Apply Patch and clear cache and patch is working.
Great work Thew.

David_Rothstein’s picture

Issue tags: +Needs backport to D7

These changes look very nice overall. I'm adding the backport tag because this problem wasn't introduced in Drupal 8 (it exists in Drupal 7 too where the screen is almost exactly the same).

A few points:

  1. +      '#description' => $this->t("If you download a zip or tar.gz to your computer click 'choose file' to upload it."),
    

    This text is browser-dependent. On Firefox, for example, it says "Browse" for me (not "Choose File").

  2. There are a number of success messages and error messages that can occur when you submit the form that currently use the "Install" terminology also. Those should be changed too. See the patch at #2543066: "Install new module" and "Install new theme" links are confusing where I tried to find most of them (there may be others though).
  3. --- a/core/modules/update/update.routing.yml
    +++ b/core/modules/update/update.routing.yml
    @@ -45,7 +45,7 @@ update.module_install:
       path: '/admin/modules/install'
       defaults:
         _form: '\Drupal\update\Form\UpdateManagerInstall'
    -    _title: 'Install new module'
    +    _title: 'Get new modules'
    

    Where is the corresponding change for themes?

  4. -      '#markup' => $this->t('You can find <a href=":module_url">modules</a> and <a href=":theme_url">themes</a> on <a href=":drupal_org_url">drupal.org</a>. The following file extensions are supported: %extensions.', array(
    +      '#markup' => $this->t('Go to <a href=":drupal_org_url">drupal.org</a> to get <a href=":module_url">modules</a> and <a href=":theme_url">themes</a>.', array(
    +        ':drupal_org_url' => 'https://www.drupal.org',
             ':module_url' => 'https://www.drupal.org/project/modules',
             ':theme_url' => 'https://www.drupal.org/project/themes',
    -        ':drupal_org_url' => 'https://www.drupal.org',
    -        '%extensions' => archiver_get_extensions(),
    

    Ideally we would retain the full list of extensions somewhere on this page (and the test that ensures that works correctly, which this patch currently removes). Although in practice it is very likely to be a .tar.gz or .zip, it's not the only possibility.

    Is there some way to keep that list, but move it to a less prominent location on the page?

David_Rothstein’s picture

One possible way to address #1 and #4 would be to make the help text for the "Upload" field something like:

"If you downloaded a file such as name.tar.gz to your computer, upload it here. Supported file types: tar tgz gz bz2 zip"

Since in practice I think that list is mostly useful for the "Upload" field, not the "Import" field.

Thew’s picture

StatusFileSize
new8.05 KB
new1.36 KB

Add the corresponding change for theme.
And, also the help text from #19.

Thew’s picture

StatusFileSize
new8.01 KB
new1016 bytes

Restore the file extension test.

The last submitted patch, 20: 2839586-20.patch, failed testing.

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

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

Munavijayalakshmi’s picture

StatusFileSize
new7.93 KB

Rerolled the patch.

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

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

FYI -- on the parent issue #2888657: [meta] Less confusing and more consistent wording needed in module/theme add/install/update the Usability team is discussing the UI text for this and about 10 other issues. Until decisions are made, making another patch here would probably be premature.

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

I believe that #2577407: Action of uploading module/theme files should consistently be called "Add", not "Install", as currently scoped, will fix this issue. So at least for now, marking this as a duplicate. Asking for people here to get credited there.