Download & Extend

Make updating Drupal as easy as installing it

Project:Drupal core
Version:7.x-dev
Component:update system
Category:feature request
Priority:normal
Assigned:Unassigned
Status:active

Issue Summary

Having the Update Status module in Drupal 6 is wonderful. And the installation procedure for Drupal 6 is wonderful too -- very nice and easy to follow!

But updating Drupal (especially between major core versions) is not yet quite as painless as it could be. While the instructions are clear, there are a lot of steps that need to be done by hand, and a lot of places to potentially make mistakes. Sometimes people get very confused and frustrated (for example, http://drupal.org/node/221966 ... ugh).

From reading the forums, I think a few small improvements are all that is really needed to make a quantum leap in usability. The key thing is to have a smoother workflow that presents users with the information/settings they need when they need it. For example:

  • When Update Status detects that updates are needed, it could provide a link to update.php to start you on the upgrade path.
  • The first page of update.php could show you a list of your out-of-date modules, so you know what you need to download.
  • Update Status could have an option to show the available releases of your modules for the next version of Drupal core (i.e., if you're running Drupal 7, you could go to a screen that shows you the status of your contrib modules in Drupal 8). This would help people decide when it's time to update their site.
  • Many tasks for a major upgrade (such as putting the site in maintenance mode, disabling contrib modules, switching to a core theme, etc) could be automated or included in the workflow. It looks like there's already a function in update.php which automatically tries to disable the contrib modules, but this could be done more cleanly if presented to the user at the appropriate time. For example, a list of the modules that were auto-disabled could be stored in the database, so that once the new version of Drupal is installed, they could be presented to the site admin again (i.e., "here are the contrib modules that you need to download for Drupal 8 in order to get your site back the way it was").

Those are just some ideas to get the ball rolling. I am interested in helping to code this, but I think that first it's good to get more ideas/suggestions of what exactly the process should look like. (Note that there are other more complicated ideas that I haven't included here, such as http://drupal.org/node/105710 and http://drupal.org/node/221531 which talk about having Drupal automatically download and install files for you.)

Comments

#1

I think that some of these (specifically the "is a release ready for next Drupal" information) should definitely be implemented. We want people to upgrade as there are new features and security enhancements in newer versions of Drupal. There should definitely be a link somewhere on the update status page that lists all modules and whether or not their ready for the next release in terms of having a real release at least 1.0 or higher that is available for the next Drupal. I would think this should be separated from the update.php script, as it's really not updating, it's informing the user of possible roadblocks in updating.

#2

- For information about availability of modules for future version of core, see the fork of update_status here: http://drupal.org/project/upgrade_status.

- Link to update.php has been discussed a lot before, e.g.: #132746: Please add a link to update.php on the admin/logs/updates page and #270464: put a link to update.php on the update page -- although you're talking about changing what update.php does, so that changes things. ;)

- See also #276415: Add help about upgrading modules to admin/reports/updates

Cheers,
-Derek

#3

I really have been hoping that d7ux would take this on. Or anyone. help.