![Frederik Wouters](/sites/default/files/styles/user_profile_thumbnail/public/2024-05/Frederik-Wouters-2-cropped%20noteeth%20zoomed-small.jpg?h=57739094&itok=jG5dswQF)
Frederik Wouters
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
We discussed AI initiatives in an AI BOF.
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.
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 😃.
Marcus Johansson brought us a session on ai_interpolator (now ai_automator) and the immense power it brings.
Really cool stuff!
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.
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.
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?
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.
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.
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