What are the Drupal Dev Days and why do we go there?

The  Drupal Dev Days is an annual event that takes place in (mainly) Europe. Open Source users, developers, and enthusiasts come together for various reasons:

  • To be inspired by interesting (technically in-depth) presentations.

  • To learn about the trends in the technological landscape.

  • To contribute (collaborate on open source components) in the contribution rooms.

  • To brainstorm about the direction of certain Open Source components (Google "birds of a feather session").

  • To practice their presentation skills.

At Calibrate, we build with Open Source. It's give and take. We use thousands of lines of code for free and we provide components that thousands of sites rely on. Such an event is also a perfect opportunity for developers to learn, expand their network, and discover a new city.

Artisanal content

Content is increasingly being "generated" by AI.
Here's some hand-generated content and photos taken manually by us.

If you're here for the aftermovie, it's at the bottom of the page. 
Read on for a more detailed account of our experience.

3d prining award

Prepping the award

As I travel more and more often and need less mental space to prepare, the practical preparations were postponed until the last evening. However, I did have an idea for an award, because I think what Freelygive is doing in the (Drupal) AI community is incredible (and should be done). My colleagues quickly jumped in to help me by ordering the right color filament (for IBM-style computers) and the 3D model and got to work. My colleague made some minor improvements to the model (adding the base and text). I worked in the evening in the issue queue in the ai module because I wanted to push things forward in preparation for the dev days.

AI module

So I wanted to have some merge requests ready for Marcus. Since I have kids and need to take care of them (personal reasons), I did some coding at night in the AI module.

ai_function

A submodule with function that allows you to do the following. 

$return = ai($input);

Ultimately, this is not the way to go, but if you want to attract junior developers, we need to offer them tools or examples like this (in my opinion). 

ai_validations

This is a proposed submodule that allows you to perform smart validations. 

Example 1:
You manage a HAIKU site and allow users to upload haiku, but they must be written in two different languages (in one haiku). With smart validation, you could use an LLM to validate that the text is indeed a haiku and that two languages are used. 

Example 2: 
In German and French, you have the friendly and the formal way of speaking (Tu and Vous or Du and Sie) that are different. If you want to make sure editors always use the polite you. With his validation you can do this.

 

ai_translation

This is a port of the gpt_plugin module. This port uses the underlying functionality of the LLM abstraction. This so it can do the translation in whatever LLM you provide, without the hard coupling with OpenAI.

typical buildings
Burgas hallway
burgas coast
coastal buildings
playground
church
resto
coastal view
coastal view
girls selling art

Burgas atmosphere

Screenshot from OpenSearch Session

Wednesday

My highlight on Wednesday was a session by the folks at JAKALA on OpenSearch (based on Elasticsearch). "Unleashing the Potential of Semantic Search: Enhancing OpenSearch in Drupal with Machine Learning". What I learned in this session was about the existence of OpenSearch. I have a lot of experience with Solr and Elastic, but somehow never heard of OpenSearch. From what I understood, the concepts of Elastic also apply to OpenSearch. 

The explanation the presenter gave strengthened my understanding of semantic search, although I think he was still a little too tied to the traditional search paradigm (opinions you know). What I thought was cool was that he explained how they do the two queries (traditional query and semantic Nearest Neigbour) and balance the results based on both results. To me, this proves that almost all queries will be replaced or extended by vector searches. 

Thursday

Keynote

I had some stress for Thursday because I was the opening speaker (keynote) of the day. 

I was introduced by Dr. Christoph Breidert and I couldn't have wished for a better introduction. He used AI to introduce me in a dynamic and fun way. The ice was broken and the mood was set. 

Then I gave (in my opinion) my best presentation ever. I went chronologically into how AI has evolved in Drupal Land, from the simple tensor flow module to chabot integrations, and how openai has conquered Drupal modules to where we want to go. I explained how RAG works (yes again), and I remember some people laughing at my terrible jokes. I ended the keynote by presenting the "Drupal AI innovation" award to Marcus Johansson and James Abrahams of freelygive for the work they are doing.

Multisites (group sites).

I also attended Kristiaan's session on group sites. There was a lot in the session, really too much to summarize. If I had to, I would conclude: It really leverages included core systems to build mutisites while increasing performance. 

AI initiative

We discussed AI initiatives in an AI BOF. 

хоро (Horo) dance class

The day ended with a group dance class (Bulgarian traditional dance).  It was a great sight to see a group of IT people struggling with dance steps (including myself). It was great fun to bond in a different way.

Official Handover of the award DRUPAL AI INNOVATOR 2024

Drupal AI innovator of 2024!

Friday

Open-Source Platform Alliance: Cooperation between FOSS CMS

Stanko Metodiev started the day with a good story. He comes from the Wordpress ecosystem and talked about collaboration between open source systems. It really got me thinking, more on this follows 😃. 

AI automation pipelines using Drupal

Marcus Johansson brought us a session on ai_interpolator (now ai_automator) and the immense power it brings. 

He demonstrated live 

  • How AI agents can do work for you (creating content types and migrating content).
  • Annotating a youtube video and turning it into a recipe content type. 

Really cool stuff! 

AI in Starshot

Starshot is all the hype right now. I'm not feeling it yet, but a lot of people attended the session and we discussed how Ai could play a role in making things easier for people starting out with Drupal. 

The end of Drupal? A look at the future

JOAO presented a less positive picture. He explored the end of Drupal 7 and its impact on the ecosystem. Another thought-provoking session. I think Dries should definitely look at this. I have strong opinions about certain things (not hindered by knowledge about some internals, so it might be too "simple"). But it certainly made me realize how important starshot is in the larger scheme of things.  

Museum of science Burgas

Saturday

No conference on Saturday, so we wanted to go to the local science museum. After a long sunny walk, our brains were fried. 

We arrived at the scene and werte informed it's a children's science museum 🤦. 

So we brainstormed and some really good drupal ideas came from this. A Drupal belgium / calibrate podcast for example? What do you think?

Fabio contrib Drupal Dev Days

Contributions

AI

In the AI module, we prepared some MRs (submodules and other modifications). There has also been a lot of brainstorming and talk about how we could possibly fit this (and if we could) into Starshot. 

LA_EU Update

The la_eu project on drupal.org is completely different from most projects on drupal.org, it is the website that is going to be used by several local Drupal associations, as drupal.be is one of them.
The original design comes from drupal.co.uk, who passed on the code of their project, with some additional work la_eu came out of that. Some forks that already exist are for the french, belgian, spanish, german and swiss communities. The problem we have is that due to the many uses we already have several different forks, each with different fixes. During Drupal Dev Days Pieter Jonckiere, Dan Lemon have had a lot of work to even out the differences between the forks and merge them all into the 1.x branch.

They have also added documentation to, this is and the repository itself and is published automatically via mkdocs to: https://project.pages.drupalcode.org/la_eu/
Furthermore, the deployment and automation has also been greatly improved, it is now ready to work for all different deployment methods to start using, at least the infrastructure for that is ready.
https://git.drupalcode.org/project/la_pipes/-/commits/main
We ourselves have frequently participated in discussions about this project and how to proceed with it.

Contrib Kanban

A lot of issues have moved forward thanks to our team. Too many to mention separately. 
We work on sun contribution day in a kanban board. Check out our kanban board here: 
https://contribkanban.com/node-board/fa92137a-72a7-4300-9987-e8ccf352c8c0

 

 

Team Calibrate Ready to Rumble!

Want to learn more about how we work with Open Source at Calibrate?

Official Award handover
The creator of the award
Marcus johansson presenting on Workflows of Ai
The belgians in the 8 mama's
Chirch in burgas centrum
group picture
test

Dev Days Burgas 2024