Shaping the Future of Search in Drupal CMS: Interview with Search Track Leads
Endorsed by Dries Buytaert in his keynote at DrupalCon Singapore, the Search Track is driving improvements in how users navigate and interact with content. Led by Christoph Breidert, managing director and co-founder of 1xINTERNET, and Artem Dmitriiev, senior backend developer, this track has made significant strides since DrupalCon Barcelona, combining innovation and collaboration to improve search functionality. In this interview, Artem and Christoph share their progress, challenges, and future plans ahead of the 15th of January milestone.
Progress, challenges, and future plans
What progress have you made since the last update at DrupalCon Barcelona?
One of the most significant achievements is the merging of the Search Recipe into the Drupal CMS project. This foundational piece is now live and available for use. It’s designed to configure search functionalities efficiently based on user needs. You can explore the code here: Search Recipe Code.
Additionally, we've developed a Facet Recipe to expand advanced search capabilities. However, this isn´t yet integrated into Drupal CMS as we’re refining how facets should function with the underlying content structure. We're exploring options such as facet filtering by content_type or by tags. For anyone curious, there’s a screen recording illustrating our progress.
I heard that you have made some patches to Drupal Core to make your work with Drupal CMS possible. Can you tell us about that?
The main purpose of the recipe is to configure the site to your needs. This is done with the help of config actions. They are the new type of plugins that were introduced in Drupal Core 10.3 and they are still evolving. At the moment there are already a lot of config actions, and this number will continue to grow, as the possibilities for what you need and can do with configurations are endless. As with any other recipe in Drupal CMS, Search Recipe needed some new config actions for cloning config entities, changing views, creating new configurations per entity bundle, etc.
The Search Recipe is partially dependent on other people’s code. How have you gone about facilitating necessary changes with the maintainers of the related modules?
The Search Recipes is based on the Search API module ecosystem, this includes the Search API base module itself, Search API Autocomplete, Search API Exclude, Facets and others. In order to make the recipe more generic so that it can cover more use cases and be useful for more people, some changes were needed in those modules as well.
The communication with module maintainers started as early as possible, when the Starshot initiative was originally announced. During DrupalCon Barcelona we had several meetings with the people in charge of those modules. Further collaboration took place during DrupalCamp Berlin, and of course Slack is now the main tool for coordinating the work.
Search API, Simple search form and Facets modules have already released the new versions, so that Drupal CMS can benefit from the new functionality that was built in specially for it, but the new features are also nice improvements for current installations.
How have you maintained contact with other tracks to ensure the common understanding and that search is compatible with the work of others?
At the moment there is a big discussion about the data model for Drupal CMS. This is very important for Search Recipe as well, because we need to know the fields that content types have to perform search. The work is still in ongoing. Currently, the search has been implemented in a way that does not require knowledge of the exact data model, but for more advanced search with filtering (facets) this will be needed. We are in close contact with other track leaders and the decision should be made soon about how we will proceed.
We are collaborating on a data model and information architecture for DrupalCMS. The goal is to have a clear and easy to understand way for the maintainers and contributors of DrupalCMS, so that existing functionality can easily be extended and new functionality can be added in a clear and consistent way.
With this we aim to make DrupalCMS a viable choice for professional Drupal service providers, serving as a foundation for their Drupal projects. This will serve as a valuable source for contribution and can add significant momentum to the adoption of Drupal.
Have there been any obstacles you encountered and how were these overcome?
The Drupal CMS active development process started during the Barcelona event, because of the tight schedule there were a lot of challenges. In the beginning it was based on Drupal 10.3, then it moved to 10.4, 10.5 and finally to 11.x-dev. All recipes had to adapt to new requirements. As previosuly mentioned, not all the necessary config actions were initially available. The Drupal CMS team was trying its best to fulfil the needs of all tracks, but sometimes there were delays because of failing tests, decisions in Drupal Core architecture, etc. However, most of these challenges were successfully overcome.
What’s next in the development roadmap / process and how is your confidence in meeting the all important January 15th deadline?
November 30th it the deadline for merging track MRs, meaning the MVP should be ready before DrupalCon Singapore. At the moment the team is focused on the polishing the work to make sure all features are included. While new features are already being proposed in additional MRs, these will be incorporated after the MVP release.
We believe that on January 15th there will be the first fully functional release! From the perspective of search it is done. Facets, however, will be introduced in a later release, once a content strategy is in place.
In many ways you are laying the foundations for others to follow suit. What would you say have been the most important aspects to get right?
The work on Drupal CMS started not in the code, it started earlier. A lot of community surveys were conducted to collect the opinions of Drupal enthusiasts on how the Drupal CMS should look, and what it should do. I think this was the most important aspect, as in the end, this is done for end users.
The most important factor for the DrupalCMS to function effectively is thorough conception and collaboration within the team. As with any project, the key to optimisation lies in proper planning; otherwise, you risk frequently redoing work or ending up with a suboptimal solution.
Do you have any advice for others starting to work on Drupal CMS Recipes? Is there anything that you have learnt along the way you would like to share so others may benefit?
Don't be afraid to present your ideas! Recipes ecosystem is still young and needs a lot of initiatives to fulfil the needs of Drupal site builders. Bring your ideas on where and how recipes can make the adoption of Drupal easier, even if you are not strong as a developer, there are people who can help you.
If someone reading this article wanted to contribute to your recipe, what is the best way to get involved? Are there any tasks you would need help with, testing, documentation?
Testing is definitely the best option now, as the MVP is on the way, it should be bug free and easy to use. Feedback is also very important, we would like to know what improvements can be made, not only in the recipe itself, but also for the modules that are involved, as without them recipe is only a YAML file. Offer help in the issue queue!
Looking forward to the release of Drupal CMS
The work on the Search Track underscores the importance of innovation, collaboration, and community-driven development. With the January 15th release on the horizon, all the achievements are not only setting a foundation for the Search Recipe but also paving the way for a more consistent and powerful Drupal CMS ecosystem.
Other highlights
Open-source innovation: Drupal Recipes and the upcoming Drupal CMS
Explore how the integration of Drupal Recipes is transforming Drupal development by simplifying...
Community survey analysis and revised implementation of search in Drupal CMS (formerly Starshot)
As track leads for search in Drupal CMS (formerly Starshot), we developed a concept and aligned it...