ECA is For Every Drupal Site Out There: Jürgen Haas

How Jürgen Haas and the ECA Module are Revolutionizing Drupal's Workflow Automation
“ ECA is For Every Drupal Site Out There "

Recently, I accidentally encountered a Reddit post that spoke of the Event-Condition-Action (ECA) module, which dated back almost 2 years. Back then, the module was particularly seen with speculation and had only under 200 installs. But a very optimistic fanboy and the owner of the post remarked,

"I actually think with a bit of Developer traction, this module could help save Drupal."

Fast forward to just 9 days after its second birthday, the ECA module is the heart of the module suite with over 4000 installs. This module is a set of Drupal modules that allows site builders to create custom workflows without having to write any code. ECA leverages existing components of Drupal core, i.e., events and actions, and provides its own plugin manager for conditions. Hence, all 3 components (events, conditions, actions) are implemented as plugins and may be easily extended by other modules. The complete power of Drupal is being made available to site builders with ECA.

In an email conversation, I had the pleasure of interviewing Jürgen Haas, Co-Founder of LakeDrops, and the creative mind behind the ECA module. With over two decades of experience in the software industry, Jürgen has played a crucial role in developing secure, reliable, and automated solutions, particularly focusing on Drupal's capabilities. His expertise in technical solution architecture has helped create modular systems that seamlessly integrate into existing application environments.

During our discussion, Jürgen delved into the development of the ECA (Event, Condition, Action) module, which he designed to modernize workflow automation within Drupal. This no-code solution simplifies the management of complex tasks, making it accessible not only to developers but also to non-technical users. Jürgen shared the story behind the ECA module's inception, its development path, and its potential integration with future Drupal core updates, emphasizing its value in enhancing the user experience through intuitive tools.

Additionally, Jürgen touched on broader trends in digital experience platforms, underscoring the importance of sustainable and open-source practices in the industry. The insights from this interview, as shared by me, Alka Elizabeth, a sub-editor with The DropTimes, provide a comprehensive look at how the ECA module is set to make significant contributions to the Drupal community and beyond.

Please read on.

TDT [1]: Could you share what initially sparked your interest in software development and how that journey led you to Drupal?? Were there specific projects or experiences that solidified your commitment to Drupal as your platform of choice?

Jürgen Haas: My journey goes back to 1989 when I started a small company to provide software documentation services, only to get enough cash actually to be able to study at Konstanz University. I had literally no IT experience back then, except for some Amiga 64 hacking, but I learned fairly quickly on the job. The company grew pretty large over a period of 16 years, mainly through mergers and acquisitions, and we eventually served the largest industries globally for the most complex print publishing and documentation challenges. When the company was sold to a Boston-based public company, my stake was pretty small, but my experience in managing large projects was huge.

Since I'm very keen on innovation, I left the company as it was too big for my taste. And I started from scratch in 2005. Print publishing didn't seem to have a bright future then, so I looked into what they call the "internet". When a friend of mine invited me to help with an SEO project, we quickly built a team to prototype a solution to collect and publish mainstream topics like wine, gardening, cars, and others on static portals that we uploaded with FTP. Very soon, the amount of data we regularly had to upload to the web servers was just too much, so we learned about the idea of a CMS to publish all the existing and new content dynamically. That's when I came across Drupal and immediately fell in love.

Since 2007, when Drupal 4.6 was released, I've done nothing else but work with and for Drupal. Especially when I got in touch with the community as well, it was "game over" in a positive sense.

Jurgen Haas
Jürgen at the local Drupal User Group Meeting in Konstanz. He founded that group back in 2011 and is a regular speaker, while LakeDrops is also a sponsor of those meetups.

TDT [2]: The founding of LakeDrops is an exciting chapter in your career. What inspired you to co-found the company, and how has your vision for it evolved over time? Could you tell us a bit about the current focus and goals of LakeDrops?

Jürgen Haas: With Drupal and Open Source being the foundations of my second career, I wanted to avoid another business with growing overheads. Being more of a hands-on person, wandering around as a freelancer, came with many benefits. On the other hand, big projects and fascinating challenges will never be given to a single person. So, the question was how to combine those two worlds: a network of freelancers who work together with the same tools, methodologies, and ethical values was the answer to that. LakeDrops was the name of choice because we live near the "Lake," and Drupal's logo is the "Drops." Not to forget that the particular lake is right between Austria, Switzerland, and Germany, which is the right setup for an international adventure again.

LakeDrops was founded in 2011 as a freelancer network and became a legal entity in 2019. Our focus is on backend development, integrations with other platforms, and helping other agencies implement processes around the lifecycle of Drupal projects by utilizing GitLab's CI/CD functionality.

As much as Drupal is an Open-Source software project, LakeDrops is an Open-Source business model. We would love to leverage that even more and reach out to others with that idea, but time constraints have prevented us from doing so far.

TDT [3]: The ECA module is a significant contribution to the Drupal ecosystem. What motivated you to develop it, and what are the primary use cases or problems it solves for Drupal users?

Jürgen Haas: The idea for ECA was in and around my brain for as long as 5 years until there was a major Drupal 7 project due to be upgraded to Drupal 9. The number of rules that had been in that business-critical application was exceptional. And nobody maintained an overview of what rule was doing what. As we felt that the Rules module was doing great in the old days, such a key component needed some modern architecture for the modern Drupal era, so we proposed the development of a BPMN-based solution1 to the client, who agreed that we develop this as part of their migration project. What's more, they accepted our proposal to do this as an open-source Drupal module right from the beginning, as long as we wouldn't exceed their budget and still solve their problems first.

As we're 3 years down the road with ECA, this was a fantastic starting point. What went into the ECA ecosystem since makes me feel like the initial requirement was fairly tiny. The use cases for ECA in Drupal 10 and beyond are limitless. It helps to achieve the little tasks like login redirect, notifications, alerting, and form alterations, i.e., all those tasks for which each Drupal agency must have written millions of custom modules over the decades. However, ECA is also used for really complex workflows and applications.

The fact that ECA, together with BPMN, provides a No-Code solution for all Drupal sites is not only empowering the ambitious site builders to achieve everything without having to wait for PHP developers all the time. It also increases the buy-in from other stakeholders in the business. Managers and application owners can now chime in and get their heads around those diagrams to understand what those complex tools are doing and whether that's doing the right thing or not. That's a game-changer in large organizations!

Jurgen Haas conducting a podcast
Jürgen presenting ECA at the global online Drupal-10 release-party.

TDT [4]: The Rules module was sorely missed when Drupal 8 was released, and while Rules for modern Drupal eventually emerged, it's still in alpha. ECA is often seen as a robust alternative to rules with a different architecture. Did the Rules module influence ECA's development? What are the key distinctions between the two? Given the current usage statistics, do you anticipate ECA surpassing Rules in popularity for Drupal and becoming the go-to workflow automation tool?

Jürgen Haas: First things first: I'm a huge fan of the Rules module. And all maintainers of that module over the years earn our greatest respect for everything they've been doing for that module. But the time has come, and the major shift of modern Drupal to the Symfony framework and off the island sometimes also required tough decisions in the contribution space. As complex as Rules was, migrating it over to modern Drupal is a thankless and most likely impossible task. Starting from scratch, with a modern and solid architecture, ensures long-term maintainability and a sustainable product for a very long time to come.

Rules inspired us a lot. We wanted to get to feature parity as soon as possible and build the foundation for an ecosystem where others would love to extend what ECA provides. But we've also consulted the former Rules maintainers, and they not only agreed with the approach of a fresh start but have even been so kind to help us avoid some mistakes that happened with Rules in the early days. I can't emphasize the importance of that enough.

Whether ECA is ever going to surpass the popularity of Rules isn't really that important to us. ECA has the potential to help site builders, editors, agencies, and others do a better job more quickly. That's what we focus on. Beyond that, ECA is a differentiator for Drupal against other CMSs and website-building tools. We'd love to see some campaigns around that.

TDT [5]: While ECA is versatile, are there specific scenarios where you might not recommend using it? If so, what alternative solutions would you suggest for those cases?

Jürgen Haas: The front end is one of the areas that isn't accessible to ECA yet. While that may change soon, we do recommend modules like "Conditional Fields" to set up automation and configuration for the browser.

Other than that, the answer is no. Just the opposite, ECA is for every Drupal site. However, we often hear from agencies that Drupal developers are hesitant to use ECA for two reasons: first, they argue that it is faster in writing custom code. While they're correct, at least in the early days, the long tail turns this around. Visual ECA models are self-documenting and easy to understand, even for people who haven't been creating them.

The second argument is that custom code is testable. And that's important, yes. However, we're writing tests for our ECA models as well. Real end-to-end tests, e.g., with Cypress, keep an eye on all our models for every update of all websites so that we can prevent regressions or other failures.

TDT [6]: The Starshot initiative has generated a lot of buzz and excitement in the Drupal community. How do you perceive this shift in Drupal's direction, and what implications do you think it holds for the future of Drupal as a platform?

Jürgen Haas: I couldn't be more excited! This is the right step forward, and to me, it solves one of the biggest problems I have seen for ages: positioning Drupal as a CMS, a framework, or a development kit. It's a bit of everything, but potential customers get confused by that. We need a stronger statement of what it actually is. Now, we can see that Drupal is among the finest technologies in the universe, but it's not a product. For agencies, that’s great as it enables them to build their own solutions for their clients. However, for clients who are searching for a product, Drupal as a technology is not attractive. Now that we’re building a product on top of that technology, this can much better reach out to potential clients.

There seems to be a mind-shift in the community. We can now have different groups of people who focus on different things: continue to build the finest technology with Drupal core and build products on top of it. This will make a big difference and a good one. Starshot accomplishes that.

Jürgen Haas, Co-Founder, LakeDrops & Maintainer, ECA module.
An event
DrupalDevDays Vienna, Austria, 2023 - Jürgen is presenting ECA and the main room is getting busy right after lunch.

TDT [7]: ECA is a powerful tool in its own right. How do you envision ECA's role within the Starshot initiative? Are there any specific use cases or integrations with recipes that you're particularly excited about?

Jürgen Haas: There are so many solution components that ECA can provide to Starshot, I sincerely hope that we can get it to the level where the product team is willing to take it on. I strongly believe there are also requirements that can best be satisfied with recipes that utilize ECA. As an example, I keep talking about notifications. That's a key component to every public-facing application, and all stakeholders, like system administrators, content managers, visitors, and others, get notified about all sorts of different things. It's almost funny that nothing like that had ever been part of Drupal Core, with ECA that's a no-brainer.

At the same time, ECA can be integrated in a nonintrusive way by hiding its UI. This may be relevant for Starshot's new audience: the inexperienced user who shouldn't be overwhelmed with powerful but complex features. We want to keep that in the background until the users themselves come to the conclusion that they would like to elaborate on what else they can find in their Drupal installation. ECA is made for that; it's straightforward to enable the UI only when it's needed.

TDT [8]: With Recipes becoming a core feature in Drupal, is there any behind-the-scenes work happening for the next release of ECA to create recipes for common use cases?

Jürgen Haas: With ECA 2.0, which was recently released, there is an export feature that writes an ECA model with all its configuration and dependencies out as a recipe. So, that's not behind any curtain anymore; it’s already been used, and LakeDrops provides a library of recipes that can easily be applied to any Drupal site to test and review existing ECA models from others.

As the Drupal community's recipes initiative has yet to decide on hosting, discovery, and delivery of recipes, our current library will be just a temporary workaround until there is an official way of handling all that. We will happily move to the recommended platform as soon as it's decided and available.

TDT [9]: At DrupalCon Portland, you had the opportunity to debut ECA on stage as part of the "Drupal Project Initiatives Keynote." How did this exposure impact the module’s adoption and community engagement, and what were some memorable interactions or feedback you received during the event? Is there a chance we might see ECA integrated into Drupal core in the future, perhaps in Drupal 12?

Jürgen Haas: Actually, I was honored to be part of that presentation. The subsequent 2 contribution days have been a blast. I guess so many people have heard about ECA for the first time, and others have demonstrated breathtaking solutions that they have already been building with ECA for their applications. In essence, 

seeing and feeling the excitement about ECA is the biggest award I can think of. I'd like to share a quote that I get told in one form or another pretty regularly: "It's now fun again to work with Drupal and build my sites." We couldn't ask for more, to be honest.

And all that holds true, even if ECA never gets into the core. Or should I say because it's not in the core? Look, Drupal provides us with a composable framework where everyone can choose the components they need. To me, that's just like Starshot: Drupal core is the foundational technology, which should be as solid and slim as possible. Everything else is collected while building the individual application. That model makes the foundation (Drupal core) rock solid and keeps innovation at the highest level outside of the core.

Jurgen Haas presenting at a event
DrupalDevDays Vienna, Austria, 2023 - Lot’s of surprised Drupal experts had so many questions at the end of the presentation.

TDT [10]: In the broader landscape of digital experience platforms, what trends or developments do you consider most significant? How is Drupal positioned to address these evolving needs?

Jürgen Haas: While I'm certainly not an expert in most of the current and forthcoming components in that landscape, I'm confident that we have the best brains and amazing leadership in the Drupal community. That said, I'm convinced that Drupal is best equipped for what's ahead of us. Just look at all the initiatives that were launched at Pitchburgh in 2023 and that have already delivered their results. Or the projects from the Drupal Project Initiatives Keynote in Portland. And while all that happened, Starshot is coming along as well, with experience builder, project browser, recipes, automatic updates, and so much more.

We are in a great position. While our community suffered with the shift of Drupal to Symfony back in the Drupal 7 and 8 days, it's now time to benefit from that. All the hard work is now paying back. And the Drupal community accelerates innovation even further. Just like a rocket that is about to reach the stars. ;-)

So, I'm not worried. As long as we get our messaging and marketing up to the same level, we as a community can only succeed for a long time to come.

TDT [11]: Looking ahead, how do you see ECA evolving in the future? Are there any exciting new features or enhancements on the horizon that you're particularly eager to share?

Jürgen Haas: The backend processor of ECA could almost be called feature complete. I don't envision significant changes for that part of the ecosystem in the foreseeable future. Feature enhancements will mainly be provided by plugins; many module maintainers are working on those as we speak.

Future improvements will focus on the user interface and user experience. We have ideas on how to make ECA more intuitive, particularly for users who are unfamiliar with the Drupalisms in the background. To achieve this, additional skills, research, and user testing are required. If anyone reading this wants to join us in completing this, please get in touch.

TDT [12]: What advice would you offer to individuals who want to contribute to ECA,  and where would you suggest they start?

Jürgen Haas: Our first advice has always been to please get in touch. Everyone in the ECA team is approachable and happy to talk to you. Getting in touch in person might be difficult, but we're hanging around in the issue queues on drupal.org as well as on Drupal Slack. This is where you can easily get started with your ideas, questions, bug reports, you name it. I know from first-hand experience this can feel daunting. We'll do our best to get you over that hurdle, for sure.

Jurgen Haas
Jürgen likes to talk about Drupal at DrupalCons, Drupal Camps and local meetups, either in person or in video conferences. In the last 2 years, since ECA was released, he gave more than 25 talks and presentations about it globally.

TDT [13]: As you look to the future, what aspects of your continued work with Drupal and the free and open-source community excite you the most, particularly given the Drupal community's strong emphasis on collaboration, Inclusivity, and Innovation?

Jürgen Haas: Don't get me started. Well, this interview so far highlighted the level of excitement that I have for the technology, the community, and so many individuals around here. It's challenging to express how thankful I am every day for all that exists and that I can be part of it. It's the second best that happened to me personally and in my professional life. It's a privilege to be a member of the Drupal community! One that everybody can get, right?

Should I name one aspect, I'd call for our code of conduct. Not only what it is and means but also the processes of how it gets maintained. If anyone needs an example to teach democracy, respect, inclusivity, and human values, come here and have a look. There are certainly challenges, that's the nature of larger groups of people, especially on a global scale. The transparency in this community dealing with all those aspects is a role model in my eyes.

I keep telling family and friends who don't get what I'm doing in the office that this is a human, respectful, global community with proven practices for governing itself and solving problems. I wish we could apply that to other areas of life as well.

TDT [14]: Outside of your work in Drupal, what hobbies or interests do you enjoy to unwind and maintain a balanced lifestyle?

Jürgen Haas: As I mentioned, Drupal is the second best in my life, do you wonder about the best? It's my wife, Andrea. We do enjoy a relaxed lifestyle in a beautiful area with a couple of dogs, some cats that decided to join us, and all sorts of wild animals like deer, fox, hedgehogs, and many others. That comes with lots of walking, fresh air, and good vibes.

Footnotes

  • 1BPMN stands for Business Process Modeling and Notation, and it's a global standard for modeling business processes. BPMN diagrams are a flow chart method that visually depict the steps of a business process, including the activities and information flows required to complete it.

Image Attribution Disclaimer: At The Drop Times (TDT), we are committed to properly crediting photographers whose images appear in our content. Many of the images we use come from event organizers, interviewees, or publicly shared galleries under CC BY-SA licenses. However, some images may come from personal collections where metadata is lost, making proper attribution challenging.

Our purpose in using these images is to highlight Drupal, its events, and its contributors—not for commercial gain. If you recognize an image on our platform that is uncredited or incorrectly attributed, we encourage you to reach out to us at #thedroptimes channel on Drupal Slack.

We value the work of visual storytellers and appreciate your help in ensuring fair attribution. Thank you for supporting open-source collaboration!

Disclaimer: The information provided about the interviewee has been gathered from publicly available resources. The responsibility for the responses shared in the interview solely rests with the featured individual.

Note: The vision of this web portal is to help promote news and stories around the Drupal community and promote and celebrate the people and organizations in the community. We strive to create and distribute our content based on these content policy. If you see any omission/variation on this please reach out to us at #thedroptimes channel on Drupal Slack and we will try to address the issue as best we can.

Related Organizations

Upcoming Events

Latest Opportunities