In light of the recent COVID-19 pandemic - OPTASY would like to offer DRUPAL website support for any Health Care, Government, Education and Non-Profit Organization(s) with critical crisis communication websites or organizations directly providing relief. Stay Safe and Stay Well.

Automatic Updates in Drupal: From Mission Impossible to... Drupal’s New Auto Update Feature. How Does It Work?

Automatic Updates in Drupal: From Mission Impossible to... Drupal’s New Auto Update Feature. How Does It Work?

by Adriana Cacoveanu on Nov 29 2019

The waiting is over. We'll have automatic updates in Drupal sooner than we even dared to hope.

 

The Drupal Automatic Updates Feature: How It Works and How It Benefits You

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?" 

The Drupal Automatic Updates Feature: How It Works and How It Benefits You

Simultaneously, many other members of the community adopted:

 

  1. the "I didn't need it anyway" approach
  2. the "I don't need Drupal to automatically update itself. What if something breaks?" approach
  3. 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:

 

  1. myth: Drupal websites are far too complex to come up with an all-size-fits-all set of updating standards for them all
  2. mission impossible: it's not possible to architect such a solution for Drupal
  3. 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...

The Drupal Automatic Updates Feature: How It Works and How It Benefits You

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

     

The Drupal Automatic Updates Feature: How It Works and How It Benefits You

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  

Development

We do Web development

Go to our Web development page!

Visit page!

Recommended Stories

Drupal 9 Modules Readiness: How Hard Is It to Find Compatible Modules and Build a Website in Drupal 9?
Is it (still) too early to give Drupal 9 a try? To start fresh and build a website from scratch in the latest version of Drupal? Should you stick to Drupal 8 for... a little longer and upgrade later? How difficult will it be for you to find compatible Drupal 9 modules (and themes)? Let's find out: 1. But First: Why Drupal 9? What are the biggest benefits of Drupal 9 over Drupal 8? Why would you choose precisely this version of Drupal to build your new website with? because of the automated updates that it makes possible because of the headless support that it ships with because of the robust multilingual capabilities because of the improved performance: your web pages will load faster thanks to the BigPipe technology because it removes a lot of the legacy code because of its layout features because of its extensibility: you get to incorporated third-party systems quick and easy because of its media library and robust media functionality because of the new, Twig-based theme engine because it's easier to use: you can make the most of its in-place editing (CKEditor) And particularly because there will be no more major re-builds (aka "major pains to upgrade"). Instead, a set of new features gets released every 6 months, including new improvements and additions to be incorporated seamlessly into your Drupal 9 build. 2. Most Drupal 9 Modules Don't Change at All So, stay assured: you won't be having a hard time finding compatible modules for your new Drupal 9 website. Many of the modules on Drupal.org have been, are being made, and will be made compatible with Drupal 9. There's a collective effort coming from the Drupal community in this direction. And where do you add that the process is pretty straightforward:  Same code, but without the deprecated APIs. 3. But What About Those that Do Need Changes? For there have been changes under Drupal 9's hood. Changes in coding with a direct impact on some modules and APIs. Which means that some modules have turned from Drupal core modules to... outside dependencies: this is good news, considering the performance gains you get but also a challenge if you were relying precisely on those modules for your Drupal 9 website Luckily, you have at least 2 helpful tools at hand that you can use to: identify the Drupal modules that still need to get updated apply the fixes needed to make those modules compatible with Drupal 9 3.1. The Upgrade Status Module Why use it? Because it offers you a view of all that has been changed in Drupal.  Source: Drupal.org You have links to the modules' pages there, that you can access to review those changes. 3.2. The Upgrade Rector Module The great thing about this tool is that it provides you with automated code fix suggestions to help you make your target modules Drupal 9 compatible. Source: Drupal.org 4. Some Module Get Removed from Drupal 9 Now, there are a few Drupal modules that didn't get the chance to grow into Drupal 9 modules. And I'm talking here about: Simple Test, that's now replaced by PHPUnit Place Blocks, now replaced by the Layout Builder  As you can see, in both cases you get to use better alternatives. So, it's just a matter of favoring more powerful solutions. Good to know! Expect other modules and themes (i.e. the Classy theme, the Stable theme) to get deprecated and removed by the time we reach Drupal 10. 5. What About the Contributed Modules? What if you need more than the out-of-the-box Drupal 9 modules to build your new website? What if you depend on particular contributed modules? Or on... many contributed modules? Well, then things get a little more challenging... Because many of the contributed Drupal modules still need to be made compatible with Drupal 9. They need some time to catch up with the new version of Drupal. Take for instance: updating tests to PHPUnit or updating deprecated API usages. Now, what you can do is give a helping hand to accelerate the updating of these modules. And the steps/best practices to follow are pretty simple, as suggested in this guide on Drupal.org : use the patch referred to here, create an issue in the module project (first, make sure it doesn't exist already), and choose a title suggestive enough to let the maintainer know that it needs to be tested for Drupal 9 deprecations add an explanation for the signaled issue ... and follow all the other steps suggested in that Drupal.org guide. Tip! Ask that contributed module's maintainer how he/she would like to address the issues you're signaling. Because the guidelines available for Drupal core aren't always relevant for addressing contributed module issues, as well. The END! Now, assuming that: you only need a limited no. of contributed modules for your new Drupal 9 build it's not a heavily customized website that you're building ... how do you get it up and running in? We're here to help. Just drop us a line! We've been building Drupal websites since... Drupal 5. Image by Siggy Nowak from Pixabay   ... Read more
Adriana Cacoveanu / Aug 28'2020
5 tips to pass your Acquia Site Studio (Cohesion) Certification Exam
A few weeks ago, I had the chance to take the Acquia Site Studio (formerly Cohesion) Certification exam. In this post we are going to discuss why I took this exam and more importantly, how I passed it and became an Acquia Certified Site Studio Site Builder. Optasy and its commitment to quality through knowledge You already know that quality is part of the corporate culture of Optasy. For us quality is a key factor to protect our clients' investments and guarantee them a high ROI. But having a good QA department is not enough. Actually, it's often too late when the QA team detects an issue. At Optasy we prefer to ensure quality at the early stages of our projects, analyzing deeply the needs of our clients and transform them into effective digital experiences but we also know that the quality of the code we produce comes from the experience and the skills of our developers. That's why Optasy has an internal 'skill knowledge acquisition program' to help its employees (optasians) to acquire new skills or improve them. This program gives to each optasian one day off per month (paid by the company) to study a particular field. As a way to ensure knowledge acquisition and validation, optasians also receive paid leave to study and give their Acquia certification exams. This includes the exam cost too, that’s why many of the optasian developers are actually Acquia Certified developers or Acquia Certified site builders All things considered, it was a pretty easy choice for me to take the exam, not only do I get to improve my skills, but I get paid for it too! What are the Acquia certification programs? Acquia is a preferred Optasy partner that delivers a cloud-based digital experience platform built on Drupal that enables organizations to build experiences that scale. Acquia is committed to facilitating certification programs allowing developers to validate their Drupal skills year after year. Acquia certification exams are administered at Kryterion Testing Centers in more than 750 locations across the globe. Exams are also available as online-proctored tests and are often offered at DrupalCons across the world. What is Acquia Site Studio? Acquia Site Studio (formerly Cohesion) is a low-code solution for building and editing Drupal sites. As an Acquia partner, our team got the chance to become an early adopter of the technology.  Acquia Site Studio is a sort of layout builder on steroids without writing any line of code. Not only can you build layouts or templates, but also you can build whole websites from the headers to the footers, and everything in between, like components and widgets, just by using the interface. No code required! It's a kind of atomic design system (like Pattern Lab) where you can create and preview CSS style guides, components, template layouts, page layouts or view layout from a visual user interface with simple “drag and drop”. And all of this within your Drupal site! To be fair, Acquia Site Studio is an amazing tool allowing designers and marketers to create and modify any layout component without calling the development team. If you’re a designer with no coding knowledge you’ll be able to create totally unique layouts based on your designs using intuitive drag and drop layout builder. If you're an editor, you may choose the layout you want to use and add all the pre-designed components you wish. Want to add a slider or a 'Related Articles' block? You drag and drop it in your layout! 5 tips to successfully pass your Acquia Certified Site Studio exam As other Acquia Certification exams, the Certified Site Studio exam requires both experience and knowledge. Though the test is not difficult, it’s not something you want to run into unprepared. From my experience, the questions ranged from a very low to medium range of difficulty, there were barely any difficult questions. This exam validates your ability to: Understand the features and functionality provided by Site Studio Install and configure Site studio environment on new or existing websites. Build a website using Site Studio style builder, components and website structure design elements. The official description of this exam can be found on Acquia's certification overview page. But in short: The tests are all multiple choice. They don't require that you actually configure a Drupal site or write any code. They are available in person at a testing center, or at home by installing the exam software on your computer. The price was $155 (In my case, Optasy paid for the test) Get a good understanding of Drupal Layout Builder As I mentioned earlier, Acquia Site Studio is a Layout Builder on steroids and many concepts are the same, so having some experience with this Drupal module will help you a lot, like the inline editing tools or the concept of drawing element into the layout. This is not mandatory, but I felt really comfortable with Site Studio having this previous experience. Read carefully the contents of the exam On Acquia's certification overview page you'll find the blueprint of the exam like the following: But below it, you'll find the content itself. Read it carefully and repeatedly. This should be your guideline during your study. This will help you focus on what really matters but also to recap and structure your notes. Read and study the documentation While there are really good videos on the Acquia Academy site about Site Studio, watching all of them won't be enough. If you don't have prior experience with Site Studio, it's a good starting point. But it definitively won't give all the knowledge you need to pass the exam. Reading the documentation should sound obvious, but you'll really need to read and study all the documentation in depth. Don't leave anything behind cause the exam covers all the aspects of Site Studio, from the basics to more advanced topics. This will also give you the right vocabulary to understand the questions of the exam, since sometimes they can try to trick you changing just one word. So the technical vocabulary has an important role, and that's where the documentation comes into play. Write down some notes after reading each section. This will help you a lot during the recap! Train on the Acquia Site Studio demo environment You can request an online demo environment for free at the bottom of this page The main benefit is that you won't need an API key or an Agency key, so you can test Site Studio for free, the environment acts just like a normal Drupal website. and the site will be all yours to experiment on. This site will be your friend during your study, you should test everything you learned in the documentation here. Do it several times and try different cases. The night before the exam, after reading back your notes, try to build a site from scratch in this environment to recap all the main concepts. This is key! Don't forget the 'Miscellaneous concepts and features' part These three concepts are not placed in one section, they are dispersed in the documentation. Study and practice all of them because you'll have a question about each one. They are only three, it doesn’t sound like a lot but they are worth 15% of the exam! That is a quick and easy win! A bonus tip What really worked for me was to read a section, practice the concepts of this section in the demo environment, read again the same section and take some notes. The day after, read all the notes of the previous day, do the same 7 days later, reading back your notes and practicing again on the demo site. That way, 80% of what you studied will stay forever in your memory. Conclusions Acquia Certification Site Studio Site Builder can be a good way to validate your skills and knowledge There are barely any difficult questions Study all the documentation because the exam is based on it, but also because the exam will cover all of it. Practice a lot, recap a lot. ... Read more
Karim Boudjema / Aug 27'2020
10 Best Tools for Conducting a Drupal 8 Site Audit (to evaluate its performance, security, and stability)
You want to audit your Drupal website's infrastructure, SEO, best practices, security, stress, overall performance... And you ask yourself: Are there tools that help you run a Drupal 8 site audit? ... and generate the reports you need? There are quite a few, actually. To narrow down your too many options, we've made a list of 10 tools and Drupal modules that you can use to test your website's performance, security, and stability. 1. 3 Best Tools to Run a Website Security Audit 1.1. Coder     What does it do? it checks your code to see whether it meets the industry standards it checks your text, so you'll know whether i's properly sanitized or not quite In short, a Drupal 8 audit module you'll want to have in your toolbox when conducting a website security audit. 1.2. Qualys SSL Server Test Another tool that you'll want to use during your Drupal 8 security audit process. Why? Because it performs a thorough analysis of a public SSL certificate and generates a grade for you. 1.3. Security Kit How does it work?  It provides you with a set of security-hardening options, that strengthen the shield around your site against CSRF, XSS, and clickjacking attacks. 2.3 Best Tools to Run a Drupal 8 Site Audit Focused on Its Performance 2.1. PageSpeed Insight, YSlow, GTMetrix  Take these 3 website performance audit tools as your the "swiss army knife" in your toolbox.  They run multiple tests on your website and generate a whole set of practical recommendations on how you can boost its front-end performance. Here are just some examples of recommendations: cut down on the number of elements the browser's forced to parse by simplifying the DOM cut down on the number of requests  by aggregating your JS files or using image sprites 2.2. New Relic An all-into-one Drupal site audit module that helps you monitor different sections on your website: from infrastructure to server, to browser and application. Now, here's precisely why you'll want to keep it close at hand while assessing your website's performance: it allows you to set up multiple customized dashboards that show graphs and charts of your website's performance data it enables you to keep an eye on your website's traffic and performance in real-time it allows you to isolate bottlenecks and set up alerts for key events 2.3. Performance Monitor   Let's say you've just moved your Drupal website to another hosting and you now feel that it has slowed down. And that the new server needs to be optimized for Drupal. This is precisely where this module comes in handy: It gives you a clear picture of how your website's performing now, while comparing different servers/hostings. Here are some of the features you'll love: it checks the Mysql status and variables (and provides recommendations) it tests the overall system performance (it runs database, CPU, and file operations performance tests) it evaluates the "Performance score"  3. 4 Best Tools to Evaluate Your Website's Stability 3. 1. Behat, PHPUnit, Nightwatch Or you can put together your own "combo" of unit and functional testing tools. Automated testing will improve your website's stability... in the long-term (and nothing can beat the peace of mind that you'll get). 3.2. Code Sniffer Whenever you need to assess your code's quality, just reach out for this Drupal 8 audit tool. It will... "sniff on" your code and signal you if it doesn't meet the coding standards.  Also, while testing your code's stability, you'll want to have a look at: the quality of your links the cycles of peer review for codes the factors that influence the SEO the access and breadth of documentation the modules you have on your website: are there any outdated ones? 3.3. Tugboat You save time and money using Tugboat (or an alternative continuous integration tool). Here's how: it runs the automated and linting tests that you will have set up and generates a report to your developer before even merging or reviewing the code it builds a completely working website that incorporates that new feature you've added or has that specific bug fixed before it gets merged A true time-saver that you'll definitely want to have in your toolkit when testing newly added code for stability.  3.4. Linting Tools How do they help you increase the stability of your Drupal website? they get all the developers in your team on the same page when it comes to the code format to be used they (i.e. Drupal Code Sniffer) enforce the Drupal coding standards once integrated to your developers' text editors Tip! Make sure you incorporate your linting tools into your automated testing routine, the one that gets performed on each pull request. The END! These are your best options when it comes to the Drupal 8 site audit tools to include in your toolkit. But what if you dread the idea of digging deep into your code, checking every single one of your Drupal modules, evaluating the CPU performance... What if you could still get a clear picture of how you're website's performing without the dread of going through all these tedious, time-consuming tasks? Just shift the burden to us! Drop us a line and let's get your Drupal website checked for all the issues and bottlenecks affecting its performance, security level, and stability! Image by Free-Photos from Pixabay   ... Read more
Adriana Cacoveanu / Aug 06'2020