Go to main content
Informaid logo

INFORMAID

Main navigation
  • Home
    • Drupal development
    • Partners
    • Drupal achievements
  • Website development
    • Design and development of your website
    • Maintenance and support for your Drupal site
    • Why choose Drupal for your corporate website?
  • Drupal and web blog
    • What is a CMS?
    • Updates in Drupal
    • Drupal 7, end of support

Updates in Drupal

General knowledge of Drupal updates

What are Drupal updates? We'll be talking a little technical, but not too much.

The different types of release

Drupal releases for the core, modules and contributing themes receive different types of updates:

  • Security updates: a priority,
  • Functional updates, which allow the module to evolve,
  • Technical updates: often not visible, these are the patches received in the "issues" lists on drupal.org: https://www.drupal.org/project/issues/
Drupal update

Drupal core update

Since Drupal 8, the core of Drupal is based on Symfony. Modules are sometimes dependent on libraries stored in Vendor (PHP) or Libraries(Javascript). 

Processes have become more professional. Downloads are no longer manual. The Composer tool is used to install modules and dependencies. Drupal documentation helps with version or global updates. Each release suggests the command line to execute. List of Drupal releases: https://www.drupal.org/project/drupal/releases.

Executing the command via Composer automatically imports the Drupal core, containing the core modules and the associated JS (libraries) and PHP (vendor) libraries. The former are stored in the libraries directory, the latter in the vendor directory. 

After updating the Drupal core, it is necessary to update the database and clear the caches. 

This second step is performed by drush commands: 

  • drush updb 
  • drush cr 

The heart receives a security update about once a month.

Drupal update

Update contribution modules

As with importing the Drupal core, each contribution module is imported using the command composer update drupal/<module>. When this command does not update the module due to version numbering, use the command composer require drupal/<module> to import the latest version compatible with the current installation.

It can happen that module versions are incompatible and require time to investigate the libraries in place, but overall, updating on the Drupal side is fluid.

From a functional point of view, contribution modules sometimes evolve. These cases require investigation and sometimes reconfiguration, or even adaptation of the associated custom modules. 

After updating the modules, the database structure and caches can be updated: 

  • Drush updb 
  • Drush cr

Important note: updates are first tested in development environments,to be distinguished from test and production environments.

 

Drupal update

Update entities

On rare occasions, the Drupal status report may inform you of an entity update. In this case, you need to temporarily activate the Devel module that provides the tools. This operation must be performed in all environments.

In the development environment, open the command terminal and navigate to the site directory containing the composer.json and composer.lock files.

Execute the following commands:

  • Import of the Devel module:
    • composer require drupal/devel
  • Installing the module in Drupal
    • drush en devel
  • Execute entity update command:
    • drush entup
  • Uninstalling the Devel module:
    • drush pmu devel
  • Devel package removed:
    • composer remove drupal/devel
Drupal update

Functional testing

The functionality of your site must not have changed between 2 releases of the Drupal core.

It is necessary to check any changes in module configuration and the correct operation of the site in the development and/or test environment before deployment, using non-regression tests. Ideally, non-regression tests should be automated so that they can be run before each deployment. 

In cases where automated tests have not been developed, it is necessary to : 

  • navigate the site, both desktop and responsive,
  • add, modify content, 
  • submit forms.

During these tests, logs should be activated to capture any PHP or module error messages.

Drupal project backup

The importance of backup

Before any deployment, the production project must be backed up: tree and database backup.

This backup must be able to be restored in the event of a problem after deployment.

Drupal: deploy website to hosting provider

Rolling out the update

Deployment involves transferring the update to production servers (hosting).

It can be carried out by automated deployment tools or manually via FTP/SSH file transfer protocols.

Related topics

Design and development of your website

Maintenance and support for your Drupal site

Contact us

Send us your specifications, describing your request.

1 single file. Limited to 2 MB. Allowed file types: rtf, pdf, doc, docx, odt, ppt, pptx, odp, xls, xlsx, ods. limit 2 MB per form
CAPTCHA
7 + 10 =
Find the solution to this simple mathematical problem and enter the result. For example, for 1 + 3, enter 4.
To show you're not a robot, please answer the question below:
Fabienne RONDEAU, Drupal developer Nantes

Fabienne RONDEAU

Drupal Developer

(33) 6 33 44 07 51
  • INFORMAID RONDEAU's DRUPAL profile
  • Fabienne RONDEAU's linkedin profile
  • INFORMAID Facebook page
  • INFORMAID Twitter page
  • INFORMAID phone number

Footer menu

  • Contact
  • Site map
  • Terms of use
  • Privacy policy
Powered by Drupal{{ 'Drupal logo'|trans }}