Automatic website updates in Drupal: finally there!
Automatic website updates are incredibly convenient, whatever CMS your site is built on. Unfortunately, the automation of Drupal website updates used to be impossible. But now we have great news for all Drupal 7 and Drupal 8 website owners — automatic website updates are already here! Read on to discover more details.
The most desired Drupal feature: benefits of auto updates
When asked what they would like to see in Drupal, website owners and users have always mentioned automatic updates. In the long-term competition between Drupal and WordPress, the latter had this trump card in its sleeve — even considering certain risks with unattended processes.
Every Drupal website owner or admin often sees a frustrating warning on the dashboard that a new release is available. However, they do not touch it because they know the procedure can be cumbersome. What if this all could be done automatically? This would give website owners unquestionable benefits such as:
- being able to easily keep up with the Drupal release cycles on their own
- never having to worry about security updates
- never having to deal with Composer, which is a bit cumbersome for users
The automation was really needed in order to make Drupal more user-friendly, safer thanks to timely security updates, and more competitive on the market. They have become one of the strategic initiatives highlighted by Drupal’s creator Dries Buytaert in the “State of Drupal” presentation. The Automatic Updates initiative now celebrates great success that we can now describe!
How Drupal automatic updates work
There is a new contributed module that is headed for inclusion into the Drupal core — Automatic Updates. It is meant to auto-update Drupal as simply and as cleanly as possible. When you see the update steps, you will notice they really have plenty of measures for cleanliness and safety. Let’s now take a closer look at how it performs both Drupal 7 and Drupal 8 automatic updates.
The key automatic Drupal update steps:
Displaying the security release announcements
The new module will let you know several days in advance about the security announcements (PSAs) for the core and contributed modules. The respective notices will be posted on the admin dashboard. This will be implemented as a PSA.json feed from drupal.org.
Making sure your website is ready for the update
Next, the module checks whether your website is ready for a smooth update and there is nothing to mess with it. These checks are made through the Drupal Cron runs. Upon the check, it displays errors explaining what necessarily needs to be fixed or just shares warnings. Here are some examples of issues that can be listed:
- the site uses a read-only filesystem
- ongoing database updates
- insufficient disk space
Performing the in-place Drupal update
Here comes the key step in the automatic update process — the actual update. The module downloads a ZIP archive from drupal.org. For security reasons, it is hashed and signed. With the help of the Libsodium library, its signature is verified to make sure this is the official drupal.org archive. Next, all files meant for the update are backed up. Finally, they are overwritten with the new ones using the PHP copy function.
Do automatic website updates need your interference?
The release announcements and website readiness checks are all automatic. The actual update part depends on your choice:
- you can manually start the update on the module configuration page
- or you can check the box on the same page that allows automatic updates run with the help of Cron
The current state of automatic Drupal updates
Right now, automatic updates are in active development and their amazing team keeps adding more features. The module is currently focused on automatic Drupal core updates according to security releases. Adding other types of updates, support for contributed modules, and working better with Composer are in its roadmap for the future.
In order to be added to the Drupal core, the module needs to get a feature called the A/B front-end controller. It will be able to swap between the two codebases and go back to the backed-up one in case something goes wrong during the automatic update, which will add even more safety and reliability to the process.
Apply for any help with automatic website updates
If you are impressed with this and are ready to try the automatic website update feature, we encourage you to contact our Drupal support and maintenance team.
- We will help you install and configure the Automatic Updates module and resolve all the update-hampering issues it may discover on your website.
- As an option, we can inform you when the module gets into the Drupal core and update your website so it is there already.
Enjoy smooth, easy, and safe automatic Drupal updates!