Make readiness check failure messages clear, consistent, and actionable

Created on 16 November 2022, about 2 years ago
Updated 8 July 2023, over 1 year ago

Problem/Motivation

The readiness check failure messages are not uniformly clear, consistent in form and tone, and actionable. We should update them all to satisfy those three criteria. We should similarly improve the very vague statement that "Your site... cannot be automatically updated until further action is performed." (What action, exactly?)

Proposed resolution

Just do a quick audit of the messages. See #8.

<!--<h3 id="summary-remaining-tasks">Remaining tasks</h3>--><!--<h3 id="summary-ui-changes">User interface changes</h3>-->
πŸ“Œ Task
Status

Needs work

Version

3.0

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States traviscarden

Live updates comments and jobs are added and updated live.
  • Usability

    Makes Drupal easier to use. Preferred over UX, D7UX, etc.

Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • πŸ‡ΊπŸ‡ΈUnited States tedbow Ithaca, NY, USA
  • Assigned to traviscarden
  • Status changed to Needs work over 1 year ago
  • πŸ‡ΊπŸ‡ΈUnited States tedbow Ithaca, NY, USA

    Can get more concrete examples of particular validator messages and how they are problem in the summary? It is very vague now

  • Issue was unassigned.
  • πŸ‡ΊπŸ‡ΈUnited States traviscarden

    Ha. I filed this almost 9 months ago; I don't remember details. I would just recommend doing a quick audit. I found the below with a quick grep, and I see a grammar error right away in the second message: "but not appear to have run recently".

    $ ag -Q '>t(' */Validat*/*
    
    src/Validation/AdminStatusCheckMessages.php
    94:        $this->messenger()->addError($this->t('Your site has not recently run an update readiness check. <a href=":url">Rerun readiness checks now.</a>', [
    101:        $message = $this->t('Unattended updates are configured to run via the console, but not appear to have run recently.');
    175:      $this->t('<a href=":url">See status report for more details.</a>', [
    
    src/Validation/StatusCheckRequirements.php
    86:        'title' => $this->t('Update readiness checks'),
    90:        'value' => $this->t('Unattended updates are configured to run via the console, but do not appear to have run recently.'),
    98:        'title' => $this->t('Update readiness checks'),
    102:        'value' => $this->t('Your site is ready for automatic updates.'),
    155:      'title' => $this->t('Update readiness checks'),
    189:      return $this->t(
    
    src/Validation/ValidationResultDisplayTrait.php
    37:      $this->t('Your site does not pass some readiness checks for automatic updates. Depending on the nature of the failures, it might affect the eligibility for automatic updates.') :
    38:      $this->t('Your site does not pass some readiness checks for automatic updates. It cannot be automatically updated until further action is performed.');
    
    src/Validator/AutomatedCronDisabledValidator.php
    52:        $this->t('This site has the Automated Cron module installed. To use unattended automatic updates, please configure cron manually on your hosting environment. The Automatic Updates module will not do anything if it is triggered by Automated Cron. See the <a href=":url">Automated Cron documentation</a> for information.', [
    
    src/Validator/CronFrequencyValidator.php
    100:        $this->t('Cron has not run recently. For more information, see the online handbook entry for <a href=":cron-handbook">configuring cron jobs</a> to run at least every @frequency hours.', [
    
    src/Validator/CronServerValidator.php
    85:      $message = $this->t('Your site appears to be running on the built-in PHP web server on port @port. Drupal cannot be automatically updated with this configuration unless the site can also be reached on an alternate port.', [
    94:        $message = $this->t('@message See <a href=":url">the Automatic Updates help page</a> for more information on how to resolve this.', [
    
    src/Validator/PhpExtensionsValidator.php
    30:      $event->addError([$this->t("Unattended updates are not allowed while Xdebug is enabled. You cannot receive updates, including security updates, until it is disabled.")]);
    
    src/Validator/RequestedUpdateValidator.php
    58:      $event->addError([$this->t('No updates detected in the staging area.')]);
    70:              $this->t(
    83:            $this->t(
    
    src/Validator/StagedDatabaseUpdateValidator.php
    48:      $invalid_extensions = array_map($this->t(...), $invalid_extensions);
    49:      $event->addError($invalid_extensions, $this->t('The update cannot proceed because database updates have been detected in the following extensions.'));
    
    src/Validator/StagedProjectsValidator.php
    57:      'drupal-module' => $this->t('module'),
    58:      'drupal-custom-module' => $this->t('custom module'),
    59:      'drupal-theme' => $this->t('theme'),
    60:      'drupal-custom-theme' => $this->t('custom theme'),
    74:        $new_packages_messages[] = $this->t(
    94:        $removed_packages_messages[] = $this->t(
    116:        $version_change_messages[] = $this->t(
    
    src/Validator/VersionPolicy/TargetVersionStable.php
    39:        $this->t('Drupal cannot be automatically updated during cron to the recommended version, @target_version, because it is not a stable version.', [
    
    src/Validator/VersionPolicy/ForbidDowngrade.php
    38:        $this->t('Update version @target_version is lower than @installed_version, downgrading is not supported.', [
    
    src/Validator/VersionPolicy/MajorVersionMatch.php
    41:        $this->t('Drupal cannot be automatically updated from @installed_version to @target_version because automatic updates from one major version to another are not supported.', [
    
    src/Validator/VersionPolicy/ForbidDevSnapshot.php
    37:        $this->t('Drupal cannot be automatically updated from the installed version, @installed_version, because automatic updates from a dev version to any other version are not supported.', [
    
    src/Validator/VersionPolicyValidator.php
    185:        $summary = $this->t('Updating from Drupal @installed_version to @target_version is not allowed.', [
    191:        $summary = $this->t('Updating from Drupal @installed_version is not allowed.', [
    
    src/Validator/VersionPolicy/TargetVersionInstallable.php
    74:          $this->t('Drupal cannot be automatically updated from @installed_version to @target_version because automatic updates from one minor version to another are not supported.', [
    85:        $this->t('Cannot update Drupal core to @target_version because it is not in the list of installable releases.', [
    
    src/Validator/VersionPolicy/TargetSecurityRelease.php
    37:        $this->t('Drupal cannot be automatically updated during cron from @installed_version to @target_version because @target_version is not a security release.', [
    
    src/Validator/VersionPolicy/StableReleaseInstalled.php
    38:        $this->t('Drupal cannot be automatically updated during cron from its current version, @installed_version, because it is not a stable version.', [
    
    src/Validator/VersionPolicy/ForbidMinorUpdates.php
    40:        $this->t('Drupal cannot be automatically updated from @installed_version to @target_version because automatic updates from one minor version to another are not supported during cron.', [
    
    src/Validator/VersionPolicy/SupportedBranchInstalled.php
    89:      $this->t('The currently installed version of Drupal core, @installed_version, is not in a supported minor version. Your site will not be automatically updated during cron until it is updated to a supported minor version.', [
    100:      $messages[] = $this->t('Use the <a href=":url">update form</a> to update to a supported version.', [
    105:      $messages[] = $this->t('See the <a href=":url">available updates page</a> for available updates.', [
    
  • πŸ‡ΊπŸ‡ΈUnited States traviscarden
Production build 0.71.5 2024