Sector(s)
About the project
Years of research and collaboration with education experts revealed that German professional education specialists lack a dedicated space for looking up new learning techniques and formats. With over 100 scientifically validated learning formats in store, the country’s leading research organization decided to create a platform to share its knowledge base — The Toolbox. A part of the Global Upskill program, the solution collects and provides access to information in a consolidated and structured manner, helping education providers and seekers advance the professional learning domain.
To build the platform, the organization addressed Drupal experts at Lemberg Solutions. The team started by clarifying the requirements and aligning the mockups with the client to achieve a highly accessible and consistent UI design for the website. Drupal's extensive set of out-of-the-box features provided the means to create a content-rich and, at the same time, easy-to-use informational portal with:
- Efficient content classification and multi-faceted search results filtering due to customizable content types and taxonomies.
- Advanced semantic search and AI chatbot integration, relying on the framework's API-first architecture in combination with the Text Embedding 3 Small Model.
- Streamlined content quality control workflow for system administrators implemented with the Workflows, Content Moderation, Revisions, Roles, and Permissions features.
- Standard-compliant, Level AA website accessibility achieved using built-in semantic HTML, accessible forms, keyboard navigation, ARIA support, and responsive design capabilities.
- A simple platform layout in two languages — German and English — enabled by the framework's native localization features.
The Toolbox features advanced, granular search functionality in an accessible, easy-to-navigate multilingual interface. The integrated AI chatbot provides semantic search capability, helping users validate their search requests and find the most relevant learning formats. A variety of content types and a straightforward content moderation workflow enable system managers to sort the information and revise new materials effectively.

Goals & results
The goal of the project was to fill an information gap in professional education that prevented educators and learning practitioners from matching their needs. For this, Lemberg Solutions helped the organization build a centralized digital environment that provides access to a multitude of curated, innovative learning formats and allows sharing new educational experiences. To deliver the most value, the platform has an accessible, easy-to-use design, a simple yet efficient search workflow, and a reliable content quality control mechanism.
- During the first several months in production, The Toolbox has accumulated around 130 active subscribers, benefiting from the opportunity to access new information. 25 contributing education providers are already sharing their materials and getting in touch with relevant audiences.
- The platform has published more than 100 scientifically verified learning formats. As the number is growing, the website delivers smooth performance, convenient content filtering, and complete accessibility.
- The integrated AI model provides 100% search relevance, helping users find exactly what they need, even if their search request doesn't match content naming precisely.
- The implemented content moderation and layout workflow allows for quick verification and publishing of new content, which becomes immediately accessible to the AI chatbot. This way, the platform always provides reliable, relevant, and up-to-date information to users.
Challenges
In this case, Drupal presented a technical challenge when it came to setting up a workflow for moderating and publishing multilingual content. While the Translations, Moderation, and Revision capabilities are mature individually, combining them introduces certain design constraints.
Drupal stores revisions at the entity level, with each revision containing multiple translations. Since the Moderation state belongs to the content entity revision, it is shared across all translations. So whenever a new revision is created and moved into a moderation state, that state applies to the entire revision. And vice versa: whenever a single translation changes, a new revision is created for the entire entity.
This increases workflow complexity for content editors: larger revision histories, more complex rollback scenarios, and extra attention when working in different languages simultaneously. The team took the time and effort to set up a workflow that would help website managers avoid conflicts when working on different translations within the same underlying entity revisions.
Why Drupal was chosen
The team’s key contribution was identifying and fixing a bug in the EU Cookie Compliance Matomo integration module that hindered the correct injection of all required services into the configuration form. Specifically, the constructor was missing the TypedConfigManager dependency, resulting in an incomplete implementation of Drupal's dependency injection pattern. The engineers investigated the root cause, implemented a standard-compliant fix, and had it accepted into version 1.0.10 of the module.
This fix helped ensure that the module functions correctly on Drupal 10 and Drupal 11, reducing the risk of runtime errors and simplifying future upgrades. The correct dependency injection makes module modifications easier for future maintenance: the code is easier to understand, testing is simpler, coupling between components is reduced, and the module aligns with Drupal coding standards. Also, the module is now reliable enough for GDPR-compliant analytics implementations.
Another contribution was not merged as code, but it is still valuable from an open-source software engineering perspective. The team found a usability issue in the Search API Solr ecosystem. Users could configure or use the module without realizing that the companion Search API Solr Admin module was needed in certain scenarios. Instead of failing early with a clear message, the configuration led to confusion and unnecessary troubleshooting.
To improve the flow, we investigated this behavior, documented it in Drupal's issue queue, and proposed adding a user-facing alert when the required companion module was missing. Although the code proposal was not accepted, the discussion shifted toward improving the module's documentation, which will provide clearer guidance to future users.
Technical Specifications
Drupal version: