By: Maitreayee Bora
July 9 2021

A comprehensive view on Drupal's Automatic Updates Initiative

Drupal prioritizes community contributions and group collaborations which helps in evolving Drupal as one of the leading open-source projects, providing best services to its community. To add a significant contribution, the Drupal community members actively work on projects like Drupal Core and contribute modules, distributions, and themes respectively. It discovered a convenient way to progress in all its projects by creating community initiatives to focus upon some major tasks and goals. Therefore, Dries Buytaert, founder and project lead of the Drupal project, considers few initiatives as crucially important and identifies them as Strategic Initiatives. One of the major strategic initiatives, automatic updates plays a huge role in making Drupal more effective and relevant with the ever-changing web sphere. So, in this article, we will discuss how automatic updates finally made it to Drupal? 

Strategic initiatives behind Drupal’s success 

Drupal is seen largely focusing on executing its several recommended strategic initiatives and never-ending innovation. These strategic initiatives aim at solving issues that create hurdles for the users in receiving the maximum benefits from this free and open platform. They have contributed in producing some extraordinary developments driven by forces such as:

  • Creating an open-source digital platform experience
  • Usability studies and survey data availability
  • By improving editorial, developer, and customer experience, market relevance is increased
  • Cooperation with the core maintainers
  • The provision of validation by collaborations and larger community discussions 

To learn more on how Community initiatives are proposed and how Strategic initiatives come about, read here. Also, learn what’s happening with Drupal 10 readiness initiative and Decoupled menus initiative. Moving forward, we will now take a closer look at one of the most important strategic initiatives i.e. Automatic updates initiative in Drupal. 

Automatic updates: In Detail

Illustration with a rectangle describing security status in Drupal's Automatic Updates
Source: Drupal.org

Updating a Drupal site manually can be expensive, time-consuming and extremely difficult. Therefore, to resolve this major concern, Drupal created the Automatic Updates Initiative that can help users to experience safe and convenient automatic updates for Drupal sites. 

The primary goal of Automatic Updates in Drupal

The prime goal of this initiative is to strategically implement a safe system for Drupal’s automatically installing updates, reducing Drupal site’s total maintenance costs, enhancing Drupal site’s security that further leads to good user experience and making an easy entry for the users to the Drupal community without any major concerns. A look at the roadmap of the automatic updates initiative

The target audience of Automatic Updates

Drupal Automatic updates are not a good fit for large-scale organizations as they have their own established roadmaps and exclusive pipelines. But such initiatives can be beneficial for small-to-medium website owners as they lack in building proper workflow and system.

Some organizations with progressive deployment work plans might prefer using the automatic updates initiatives at the last step before production, i.e. staging environment. To integrate verified updates into custom build work plans, this initiative also facilitates APIs.

Scope of Automatic Updates: Overview of what this scope includes and excludes

Scope includes

The minimum Drupal core implementation includes:

  • Availability of automatic updates for Drupal core patch and security releases.
  • For safe updates, site readiness checks are available.
  • Verification and code signing is accessible for updates from Drupal.org
  • Attainability of Composer integration.
  • A custom “A/B” bootloader helps in updating in a distinct location from the live site that allows switching over at the time of successful update, also providing rollbacks in case the update introduces regressions or fails. 

Scope excludes

The minimum implementation doesn’t support:

  • Major version updates and core minor.
  • The availability of contributed project updates.


Automatic Updates is an ongoing strategic initiative and it is still being developed for better outcomes. Here are some of the significant elements that need to be looked over.

  • This initiative is yet not in core. There is an initial prototype that is available as a contributed module. Although, the core solution shall be different from this module.
  • The first phase of the Automatic Updates module includes Public service announcements (PSAs), Readiness check features, and also apply In-place updates either on cron or manually. 

Here is a short video giving an update on Drupal 8’s Automated Updates Initiative. It provides a quick look into the features of automatic updates i.e. Public service announcements, Readiness check and In-place updates. Don’t miss it, take a look.


A quick look into the key features of automatic updates:

Public service announcements (PSAs)

Infrequent announcements are done for extremely critical security releases regarding core and contrib modules. Once a PSA is released, site owners should review their sites so that they are well updated with the latest releases. The site should be in a good position to instantly update if any fixes are provided to the community.

Readiness check

It isn’t possible for all the sites to frequently go for updates. The readiness check can be termed as an automated method that helps in recognizing the capacity of a site for automatic updates after any new release is provided to the community. Here is an example, the sites having un-run database updates, working on read-only file systems, or do not have enough disk space for updating, will not be able to receive automatic updates. In case your site fails readiness check, meanwhile, a PSA is released, it is imperative to look after the readiness issue so that your site can be instantly updated.

In-place updates

  • If the PSA service notifies a Drupal site owner about a convenient update, followed by the readiness checks’ confirmation regarding the ability of a site to be updated, the service of automatic updates can then be applied. There is a possibility that a particular site or a hosting provider may offer additional DB handling options if required.  
  • Tarball-based installations are supported by this module and it doesn’t prefer some of the requirements for secure updating, rollback, etc that will be included under the core solution.
  • Contrib updates or composer-based site installations are not supported by this module. Work on composer integration is already started and is in progress. 

Understanding the phases of automatic updates 

The Automatic Updates is huge, as a result, the tasks are worked under phases. It consists of two phases that have different significant objectives. Below are the objectives of both phases.

Phase 1 Objectives

  • Facilitating a JSON feed of Drupal Public service announcements from Drupal.org.
  • Presenting  PSAs in the Drupal admin interface.
  • Availing an extensible update readiness check system.
  • Creating update packages from Drupal.org
  • Safeguarding the update packages with a signing system.
  • With roll-back, apply the updates either automatically or manually.

Phase 2 Objectives

  • Facilitating an A/B front-end controller for more robust testing/roll-back features
  • Provide support to contributed module automatic updates.
  • Giving support to composer-based site installations.

The most recent updates on Automatic updates initiatives were delivered in DrupalCon North America 2021. The keynotes and technical overview shared during the sessions talked about providing a secure system for automatic updates, lowering the cost of maintaining a Drupal site, and improving security. They also explained different areas where the new contributors can help as the initiative is still a work in progress. Check out sessions below:


 

 

Conclusion

Drupal is taking a major responsibility in establishing a community where the users can take the maximum advantage in making their sites and software more secure and user friendly. There is a huge emphasis on community initiatives in Drupal. Therefore, strategic initiatives in Drupal are a practical step towards meeting the designed community goals and aspirations. Considered as one of the most significant initiatives, Automatic Updates allows users to encounter secure and suitable automatic updates for Drupal sites, encouraging everyone to opt for this leading open-source project.