The waiting is over. We'll have automatic updates in Drupal sooner than we even dared to hope.
Source: Drupal.org
* Since that announcement was made, both an alpha and beta1 version of the Automatic Updates module have been released.
The auto-updater, which has been, in turn, or simultaneously:
- an ever requested feature in the Drupal community
- a highly anticipated functionality for the Drupal end users
- an evergreen matter of debate ("I really need this feature in my life" vs "We prefer to keep the Drupal website up-to-date ourselves".)
- a... "mission impossible" type of challenge
- a Drupal initiative that seemed doomed to never grow into an actual feature
... is now a work-in-progress Drupal module. Can you believe this?
Now, we can just hear those questions running through your head:
- "How/when did this never-ending talk about auto updates for Drupal turned into a module?"
- "What are its features/components?"
- "Who is it aimed at?"
- "How would it benefit me more precisely?"
Let's get you some clear answers:
1. Automatic Updates in Drupal: A Highly Requested and... Ever Postponed Feature
An auto update system has been one of the top requests in the Drupal community since... forever.
"Does Drupal have an auto update?" "Why Doesn't Drupal offer an Auto Update feature like WordPress?"
Simultaneously, many other members of the community adopted:
- the "I didn't need it anyway" approach
- the "I don't need Drupal to automatically update itself. What if something breaks?" approach
- or the "Auto updates would not fit our development workflow" approach
Overall: the need was there, it was growing and the various "no need" reactions to the possibility of implementing such a feature were just:
- legitimate paranoia lest those automatic updates should be superficially tested before release
- the frustration that the answer to this request was invariably the same: "Not possible in a Drupal context."
Speaking of this standard answer that we've been getting, constantly, over the last years, it looks like automatic updates in Drupal have gone from:
- myth: Drupal websites are far too complex to come up with an all-size-fits-all set of updating standards for them all
- mission impossible: it's not possible to architect such a solution for Drupal
- work-in-progress module aimed at simplifying the whole task of keeping one's Drupal site safely up to date
In short: the automatic updates functionality has gone from "mission impossible" to... "anything is possible with Drupal".
2. Auto Updates: From a Drupal Core Strategic Initiative to a Drupal Module
The community demanded and... demanded (Dries himself drew attention to this need), till their request of an automatic updater turned into one of the 8 Drupal core strategic initiatives.
One funded by the European Commission itself...
Source: Drupal.org
And this switch from request to... well-structured roadmap was only too predictable:
- proprietary and commercial software companies were already implementing an auto update system
- open source projects (see WordPress) were already offering this critical feature: the site owner just clicks a button and the system handles the whole updating process
What was the main goal that drove the Auto Update initiative forward?
To architect a system that would apply Drupal updates automatically.
This way, maintenance costs, particularly for small and medium-sized Drupal projects, would lower and the Drupal adoption rate would rise.
Not to mention that we would be having far more 100% secure Drupal websites out there.
3. The Automatic Updates Module: Its 3 Main Components
For this long-awaited solution for automatic updates in Drupal relies on a 3-component structure:
- the PSAS (public safety alerts)
- the readiness checks
- the actual in-place updates
Now, let's get into the nuts and bolts of each component:
3.1. Public Safety Messaging
What this feature does is pull alerts on critical and highly critical updates from Drupal.org right into your admin UI.
This way, you can easily check your site's readiness for the update about to be released by the Drupal security team.
3.2. Readiness Checks (or Preflight Checks)
It's a plugin-based feature that triggers warnings and errors on detected issues blocking your website from getting updated automatically.
Let me give you some examples:
- "Your website's running on a read-only hard drive!"
- " Cron isn’t running frequently enough!"
- "The "X" files included in the update process have been modified!"
- "You need to run database updates!"
3.3. In-Place Updates
Once your website's level of... readiness has been checked and approved of, it's time to run the Drupal update itself.
Here's how it works:
- the update package of files gets downloaded from Drupal.org
- the Automatic Updates module (now in its beta 1 version) checks it and creates backups of the files on your website included in the update process
- the module performs the update
- if something goes bad, it restores your backup files
Note: you're free to set up your own custom workflow for the auto-update process; you can stag the updates for review and approval first, get them through your own CI/CD system or... you can set them to go live, automatically.
4. And How Does It Work? The Automatic Updates Module "In Action"
Let's imagine this scenario:
You already have this automatic functionality implemented into your website. How would it work in case of an "upcoming critical security update" situation?
- it pops up the message alert in your admin interface
- next, you run several checks on your website to... check whether there are any issues that you'll need to address before updating it
- then you trigger the in-place update
That's it.
5. Who's It For? Is It Aimed at...You, Too?
It is if:
- you're a small or medium-sized business owner
- you don't have a custom development workflow and pipeline set in place (with Git, Drush, and other tools included)
- people in your team with no development background are responsible for maintaining your Drupal site up to date
- you don't have a solid routine of checking and running Drupal updates as soon as they get released
Source: Drupal.org
In other words: automatic updates in Drupal aren't aimed at enterprise-level websites.
The module targets small Drupal projects, where:
- running security updates on a regular basis
- staying vigilant, lest you should miss them once released, is THE main cause of stress for site owners
The END!
This is the new auto updates feature in Drupal, along with the answers to some of your valid questions regarding this module.
How do you find the project's progress so far?
What other features would you like this module to include? And what are your concerns about integrating such functionality into your own build workflow?
Image by krzysztof-m from Pixabay
We do Drupal development
Go to our Drupal page!