Drupalcon Lille 2023: a look back at the highlights
DrupalCon Lille 2023 was held from 17 to 20 October at Lille Grand Palais. Over the course of four packed days, nearly 1300 Drupal enthusiasts came together to explore the latest advances and discuss the future of this key technology.
What did we learn at DrupalCon Lille 2023? Discover the outstanding moments of this essential event!
Drupal: To infinity and beyond
During his speech, Dries Buytaert – founder of Drupal and co-founder of Acquia – revealed the direction Drupal will be taking over the coming months.
The current version, 10.1, will soon be replaced by version 10.2, at the end of 2023. Improvements planned for this latest version are mainly aimed at usability in the back office, through the addition of new fields in entities – an eagerly awaited feature! Version 10.3, planned for summer 2024, should also involve redesigning part of the back office, with the focus on a major overhaul of the menu.
An auto-update feature for the core and contributed modules will also be introduced, although it will have a few limitations.
As for the release of version 11 of the CMS, it is scheduled for the end of 2024.
Lastly, the end date of Drupal 7 has been pushed back to 5 January 2025, giving users more time to migrate to the latest version: Drupal 10.
Drupal and the competition: marketing as a strategic priority
Competition in the technology sector has never been fiercer, with ever more comprehensive and powerful solutions crowding the market. While Drupal remains the most technically advanced CMS on the market, this alone is not enough to stand out among the increasing number and diversity of offerings. The challenge is no longer simply to achieve excellence, but to gain recognition for it. This is why Dries Buytaert and the Drupal Association are planning to make marketing one of the pillars of its strategy for the coming years.
Drupal and AI
Artificial intelligence (AI) is becoming an increasingly important part of computing, a fact that was reflected by public attendance at the conferences. Even the visuals shown during Dries’ keynote appear to have been created on Midjourney.
During DrupalCon, we got a chance to see demonstrations of tools that make it possible to incorporate ChatGPT explanations in error logs. Another notable feature highlighted involved automatic segmentation of website users in order to send personalised newsletters.
Some workshops, however, raised concerns about the use of AI to replace junior developers or contributors. The Digitalist Group presented an adventurous experiment conducted over several months, in which ChatGPT, Copilot and Midjourney were integrated as “new recruits”. The results of this initiative underlined the importance of carefully analysing output, due to potential bias. The question that remains is for how much longer?
Another significant advance was unveiled: the integration of artificial intelligence via a ChatGPT module dedicated to Drupal. It is a suite of modules and a base API for the integration of OpenAI in Drupal, used to generate text and images, and analyse content. This module integrates ChatGPT directly in the content editor and is currently in a beta version for use in Drupal 10.
Headless in Drupal: a beneficial solution or one to avoid?
The current trend is towards headless. This approach is not always the optimal solution, though. In Drupal, it is easy to rapidly deploy a headless version by using NextJS with the starter kit https://github.com/wunderio/next-drupal-starterkit, enabling a fast and operational installation with a single command line.
Except in specific cases, however, the use of a headless frontal architecture may not be necessary. While integration in Drupal seems daunting for beginners, the adoption of a headless architecture can be a solution to get around its complexity.
Other content management systems on the market are also promoting the headless approach, investing significantly in marketing to suggest that this method is the best solution for all (Strapo, Sanity, Contentful).
Drupal and testing: which process?
There are four distinct kinds of tests in Drupal:
- Unit tests assess functions and PHP code with very few dependencies
- Kernel tests examine functions and PHP code with a kernel bootstrap and a few installed extensions
- Functional tests are performed on a fully loaded instance of Drupal
- Functional JavaScript tests verify JavaScript and AJAX functionalities using Webdriver
This diversity makes it possible to test different versions of a page, reducing the risk of regressions caused by code modifications.
At the same time, maintaining quality code involves testing conformity with good practices and standards for Drupal coding. Several tools are available to do this, such as PHPMD, PHPStan and Rector, which check that deployed code is in line with quality standards.
Accessibility in Drupal: a big challenge.
Accessibility is a major topic today for all websites. This concept comprises three separate levels: A, AA and AAA, representing the degree of improvements required to ensure that website content can be accessed by all (A being the lowest grade and AAA the highest).
To reduce costs, it is preferable to manage accessibility at the same time as development, in order to avoid working on the entire website once it is complete.
To facilitate this approach, the community has developed two modules:
A11Y Project Checklist: This module puts forward a list of essential tasks to guarantee a website’s accessibility. Each item on the list can be ticked once it is complete, recording the responsible user, as well as the date and time of execution. This action is done manually, however, so it is essential to take care when confirming tasks, because no automatic verification is performed.
- Editoria11y Accessibility Checker: This module analyses the rendering of a page and identifies many accessibility-related problems. In the case of content management systems, where much of the content can be directly modified by the client in the back office, this type of module can be extremely useful to avoid errors, particularly if the client is not familiar with accessibility issues.
Drupal: security at the core of all websites
Website security is crucially important, and it is generally accepted that it cannot be left up to users!
The Drupal community offers several modules that strengthen website security, alongside security measures already built into the Drupal core. The following is a non-exhaustive list of these modules:
- Security Review performs a quick check of various aspects of your website to detect any potential vulnerabilities.
- Security Kit enables you to add security headers such as Content-Security-Policy, Strict-Transport-Security and X-Frame-Options.
- Password Policy strengthens password security features and offers the option of forcing a password change after a specified period.
- Login Security makes it possible to block user logins after a certain number of successive errors, and even to ban an IP address, in order to avoid password attacks.
Drupal: what about performance?
A fascinating conference covered the main performance issues and methods to address them:
- These issues include poor management of cache contexts, and even their deactivation.
- Insufficient configuration of the cache tags_list for entities also poses a problem. Each entity possesses this tag, which refreshes itself when updated. Views automatically generate these tags, and each update invalidates the cache of all views containing this entity.
- Overuse of JOINS in views, related to the Drupal database structure (where one field corresponds to one table), leads to very heavy SQL requests due to the high number of tables to cover.
- The use of views is not relevant in all cases.
- Similarly, the use of paragraphs is not always the best solution; one custom entity on a single table can be much faster.
- Lastly, overuse of contrib modules poses various problems (including security, updates and performance levels). Sometimes, creating a specific personalised module is far more effective.
- With the aim of improving performance, the Drupal community has focussed on implementing automated performance testing by using the Gander framework.
Drupal and its community
The Drupal community’s strength lies mainly in its supportive and friendly approach enabling members to move forward together. This approach was illustrated in the recently held First-Time Contributor Workshop. This event was an opportunity to share ways to contribute to the community’s progress and future improvements.
You don’t need to be able to code to support improvements in the community. You can make a significant contribution simply by translating content into various languages or testing modifications.
To access the latest issues identified in the Drupal core, a specific link is available: bit.ly/drupal-novice. Currently, more than 400 issues are open and awaiting resolution, mainly concerning modifications designed for version 11, set to be released at the end of next year.
This edition of DrupalCon offered a wealth of information and knowledge-sharing opportunities. The many excellent conferences were all chances to learn about Drupal and its ecosystem from different angles. We were struck by how open-minded and friendly the community is, and they gave us a fantastic welcome during the Contribution Day. We hope that next year’s DrupalCon in Barcelona will adopt the same approach and offer as warm a welcome as the one we were lucky enough to receive.
Benjamin Garcia, PHP Design and Development Engineer
Sylvain Artigaux, Technical Expert
Aurélien Glandu, Drupal Expert
Baptiste Fischer, PHP Design and Development Engineer