Problem/Motivation

The report at the end of the drupal database update process is very confusing.
Screenshot of last screen of database update

It asks users to look to see if there are any errors reported on the page, and assume the update was successful if there are not. The could make a user nervous (for real site), even when the there are no failures listed below or nothing logged.

Originally reported by @tsvenson on #2341575-42: [meta] Provide a beta to beta/rc upgrade path

Proposed resolution

Detect whether any errors occurred during the update process and show one of two different messages.

Remaining tasks

  1. Write a patch to detect if errors have occurred
  2. Write the success and failure messages

User interface changes

The amount of text on this screen will be reduced and easier to understand.

API changes

None

Data model changes

None

CommentFileSizeAuthor
#3 2558765-3.patch2.37 KBstefan.r

Comments

ianthomas_uk created an issue. See original summary.

xjm’s picture

Category: Feature request » Task
Issue tags: +Usability

As a scoped usability improvement that is not adding new user-facing functionality, I think this UI change qualifies as a task.

stefan.r’s picture

Status: Active » Needs review
StatusFileSize
new2.37 KB
stefan.r’s picture

Status: Needs review » Needs work

The last submitted patch, 3: 2558765-3.patch, failed testing.

tsvenson’s picture

I've closed #2557097: The update result UI report needs clarifications and reposted the important content below as this issue is already in progress with patches:

Note: The screenshot referred to is the same as in the issue summary.

---8<...
[Added: There where actually one update that didn't take the first round. Drupal's red system message (not visible on the page above screenshot was taken from) told me there where issues and I had to go through the Status report to discover this. It went through the second time without protesting. Is it possible to catch this and present the option to rerun the update in the modal above?]

Particularly those three highlighted is not helpful at all, instead would probably make me quite nervous (for real sites) even when the there are no failures listed below or nothing logged.

Is there no way for Drupal to verify that all known updates queued up have been performed and that the storage server (MySQL in my case) have not choked on any of them?

Right now the text tells me Drupal 8 can only guess and I can only hope that the lack of listed failures and no logged errors mean it actually worked as expected.

I would be happy to work with someone who knows the code involved here, to develop a better report than the one in the screenshot above. Feel free to ping me on IRC, I usually leave my computer logged in on #drupal-contrib and other channels.
---8<...

From issue comment (slightly improved for readability): https://www.drupal.org/node/2557097#comment-10255901

My proposal is to break this down into:

---8<...
Updates performed:

  • All updates was successfully performed
  • If error(s) the fieldset will be expanded listing the known issues

Information:

  • Log: Check and review if any uncatched errors have been (unless those are also catchable and possible to list here)
  • Startpage
  • Administration

---8<...

stefan.r’s picture

@tsvenson I agree this would be an improvement. We have a patch already so you can manually test it or work further on it if you like (#3). Let's just keep the scope small and limit this to showing two different messages?

tsvenson’s picture

Title: Show different messages for successful and failed/partial updates » Improve readability UX for "Update report", including catch & display errors
Issue tags: +UX, +Needs backport to D7
tsvenson’s picture

@stefan.r: Would be great if you could post screenshot(s) of the differences. My workstation is not yet setup for smooth and rapid testing of patches. Also fine with doing for example a Hangout screenshare to have a look and discussion of the progress.

tsvenson’s picture

When looking at (from [https://www.drupal.org/node/2341575#comment-10275527] ):

db-updates not done

Is it not then possible for the update page to suggest re-runs until there are no more updates, or at least until a rerun does not lower the count of remaining updates?

See "Added" in #6 as example where it wasn't discovered until after clicking from the update page that there still was one remaining that went through the second time without any further error messages.

stefan.r’s picture

Well just to summarize, the messages in the patch are:

"(1/@count) updates failed while applying database updates. See the failure message below for more information.You may need to update your database manually."

and

"Updates were successful! You may proceed happily back to your site"

Other than that it's the same.

tsvenson’s picture

"updates failed", "See the failure message" and "update your database manually."

Although this is technically correctly a failure, I think we need to be careful and remember that this can cause an instant panic feeling for the person performing the update on a live site. In particular when the site in question is mission critical.

In my case the second update attempt did work and thus cleared up things and there have been no errors logged since.

Therefore we need to present a message that at least make the user run update again to see if that works before there is cause for panic.

Something in the line of:

Update not complete:
(1/@count) update(s) could not be performed, please re-run the update process.

[Apply pending update(s)]

Even better would be if Drupal can re-run automatically and only warn when the count does not change after a new attempt. Thus only present the bad news when there is a real failure that needs manual attention.

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.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.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.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.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should 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.

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

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should 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.

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

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should 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.5.x-dev » 8.6.x-dev

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should 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.6.x-dev » 8.8.x-dev

Drupal 8.6.x will not receive any further development aside from security fixes. Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.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.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should 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.

Version: 8.9.x-dev » 9.2.x-dev

Drupal 8 is end-of-life as of November 17, 2021. There will not be further changes made to Drupal 8. Bugfixes are now made to the 9.3.x and higher branches only. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.15 was released on June 1st, 2022 and is the final full bugfix release for the Drupal 9.3.x series. Drupal 9.3.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.4.x-dev branch from now on, and new development or disruptive changes should 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.4.x-dev » 9.5.x-dev

Drupal 9.4.9 was released on December 7, 2022 and is the final full bugfix release for the Drupal 9.4.x series. Drupal 9.4.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.5.x-dev branch from now on, and new development or disruptive changes should 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.

quietone’s picture

Component: base system » database update system

Seems more suitable to the 'database update system' component.

Version: 9.5.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. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 11.x-dev » main

Drupal core is now using the main branch as the primary development branch. New developments and disruptive changes should now be targeted to the main branch.

Read more in the announcement.