Skip to main content

Drupal Camp 2024 in Benidorm

Another year, another Drupal Camp, and I'm once again delighted by the community, its great atmosphere, and all the things showcased in the talks, informal meetings, hallways, and social events. The motto "Come for the software, stay for the community" remains as relevant as ever. This year, I noticed quite a few new faces. During the closing session, there was a raffle just for first-time attendees at Drupal Camp, and I counted about thirty people in the raffle, so at least 15% were newcomers who, I hope, felt that motto. Additionally, there was significant attendance at the Forcontu introduction to Drupal 10 course, partly because this year the Spanish Drupal Association found the right strategy to bring in students from various institutions. 

As for me, I believe the community remains healthy and strong.

The sessions

Since I still haven't mastered the art of being in two places at once and attending multiple talks simultaneously, I was only able to see a few and hear opinions on some others, so the selection I provide below is incomplete and biased, but I believe it's still interesting.

Drupal future

This year, Drupal Starshot initiative has been launched, aiming to create a new entry point for Drupal, which would be the default download from Drupal.org instead of the Drupal core. The result of Drupal Starshot will be Drupal CMS, which will consist of the Drupal core plus a series of contributed modules and recipes focused on enhancing the user experience. Currently, those who want to download Drupal are directed to the Drupal core download, which includes the essential base of Drupal along with core modules. While this includes a lot of functionality, it's rare for a Drupal-based website not to include many additional modules. Drupal CMS will include the core plus a selection of contributed modules, various recipes, and an installer that allows users to preconfigure their site with features suited to their needs. For instance, the Drupal CMS installer will offer options like activating the blog recipe that, through a Recipe, provides the necessary configuration for the site to function as a blog. Or it can prepare the site for multilingual support, which is included with Drupal but is not trivial to set up.

If you want to learn more, there's no better option than the featured talk by Lauri Timmane, who is leading this initiative, "How will Starshot redefine Drupal for a new generation of users" (this is the only talk in English, the other are mainly in Spanish).

The second talk I would like to feature, also highlighted by the organization, is "Navigation Changes in Drupal’s Admin UI" by Cristina Chumillas, who is leading the redesign of Drupal's administration interface, which should be included in Drupal CMS.

Earlier, I mentioned recipes, another innovation included in the new versions of Drupal. Essentially, a recipe is a way to share complex Drupal functionality beyond just the code. A recipe allows you to add module source code (require them via Composer), enable them, change settings, create content (usually for testing), and apply other recipes. I say "apply" because recipes are not installed; they are simply applied. In a way, a recipe is like putting your site in the hands of a developer who applies the recipe's changes to achieve the desired functionality. Once applied, the recipe is no longer needed. For this reason, recipes do not include code (all functionality is added through modules that are downloaded and installed). Underneath, it uses interesting API like the Config Action API, which will allow new progress in the future (like actions performed by AI agents configuring Drupal, but I'm digressing from the main topic, which I hope to cover in another article).

Manuel Adán Bonald discussed recipes in his talk "Teoría y práctica sobre Drupal recipes" making it a great starting point to get introduced to them.

Another development-related innovation is the use of PHP attributes to implement Drupal hooks. Óscar Calvo, in his talk "Uso de Hux para la creación de módulos" discusses this change. It's important to note, as he mentions in his session, that while he talks about using the Hux module, this functionality will be natively available starting from Drupal 11.1 without the need for the module.

This change allows for the implementation of Drupal hooks without needing to follow the naming scheme used until now, which automatically locates hook implementations but also forces functions to have specific names. This new approach enables greater flexibility in organizing code, which ties into another talk, "Vertical Slicing: Mejorando la Eficiencia en el Desarrollo de Software" by Ana Picón Sánchez, which discusses a code organization technique that I think could be interesting for complex projects. The idea, in simple terms, is to organize code by functionality rather than by layers or areas. This way, a functionality could hang from a directory, ensuring that changes to that functionality only affect the files contained within it. One advantage is that with layer-based organization, you'd likely need to modify several directories, and changes would be more scattered. Thanks to the change in hook implementation, it's now possible to implement vertical slicing in a project if desired.

Drupal, currently

But it's not all about what's coming, it's also worth reviewing what we've already had for some time.
For example, the powerful Drupal cache. Luis Ruiz Peidro, in his talk “Introducción a la Cache en Drupal”, tells us about it, and although he says that it is an introduction, it must be said that it goes quite deep. Of course, he starts from scratch, so even if you don't know anything about cache it will be useful. I have to say that Luis is a partner at Metadrop, but I would have selected his talk even if it was because I really think it is a very good resource to learn about Drupal cache.

This talk connects with Alejandro Arnau's "Estructura de tu Contenido y Cache Tags en Drupal: Una Relación Vital para obtener un rendimiento superior", where he discusses one of Drupal's cache functionalities: cache tags.

Meanwhile, Jose Manuel Ortega Candel, in his talk "Seguridad de APIs en Drupal: herramientas, mejores prácticas y estrategias para asegurar las APIs" discussed several interesting modules to enhance the security of a Drupal site.

Other topics

It's not just about Drupal, so there were other related topics of great interest. 

For example, "Zequi" Vazquez, in "El mapa del tesoro: retos y soluciones de un año y pico navegando en aguas DevOps", shared his experiences while being part of the development team for Tugboat, a tool for ephemeral environments. Among other things, it's used by Simplytest to allow anyone to try a Drupal module or theme from their browser without installing anything. If you don't know it, you should!

Now it's time for a little self-promotion and to highlight my own talk, "Testeándolo todo: testing más allá de PHPUnit". I believe that despite its usefulness, the reality is that testing is done much less than it should be. In this talk, I propose testing many more aspects than what Drupal core offers with PHPUnit: static code analysis, visual regression tests, accessibility, and many others.

Finally, I want to highlight my colleague Jorge Tutor's talk, "Effective Scope, Budget & Change Request Management in Software Development". Like testing, I believe the true potential of project management is often underestimated, and generic solutions are frequently used without recognizing its importance. I think one of Metadrop's strengths is precisely our approach to project management. Therefore, listening to Jorge discuss how to handle scope, budget, and inevitable changes in a project is particularly interesting.

Off the record

Many other topics were discussed, and not just during the talks. Much of the interest of a Drupal Camp lies in what is shared in unrecorded spaces, like the Open Space, where attendees propose discussion topics and select those of most interest, or in informal conversations that happen in the hallways, during dinners, and other meeting spots. For instance, there were debates about the changes that artificial intelligence will bring, which, from my perspective, will be significant but should be viewed as a new tool for the day-to-day development of projects. Discussions also covered how to evolve the Drupaladas, which are essentially online talks managed on Drupal.org and are worth checking out if you're interested in the Drupal world. Proposals for new modules, exchanges of ideas on the impact of Drupal Starshot, and demonstrations of initiatives, modules, or methods you weren't aware of were among many conversations heard off-camera, which, for me, are the essence of these events. Because the talks are recorded and can be revisited, but what happens outside is only for those who can attend.

RIcardo Sanz Ante

Ricardo Sanz

CTO