That feeling of building something that works without you is what drew me to this project. But to understand why this matters to me, you need to know where I started, the “Genesis” of it all.
I’ve not had the most inspirational journey when it comes to my exposure to programming, as most people do. I had my first laptop at the age of 19, and that’s where everything changed for me. I found myself constantly wanting to understand how things work beyond what I could see. Always asking myself the question “Why is it like that?”, “How does that happen?”, and the list goes on.

Fast forward years later, after late nights, self-taught courses, small projects, four years of university, and an internship, I am now a software engineer from Cameroon, and I still ask myself these questions on a daily basis. I wanted to challenge myself and take my career forward, and a good way to do that is by contributing to open source. A friend of mine recommended GSoC, and I did my research and felt attracted to Joomla and the project I applied for, the Automated Workflow project. When I read the project description, something clicked. The project was literally about building a system that runs without anyone having to think about it after the setup, automating the parts that people do by hand. That is exactly the kind of problem I enjoy solving, the quiet reliable ones that just work in the background.
The Challenge
The application process started simply enough; however, when I completed the local setup in preparation for my test task, that’s when things got serious really quickly. The repo was intimidating at first, and I had to spend time on it, finding things and trying to understand the codebase in order to have a mental roadmap of it all. Then came the interview where I had to defend my implementation. That was probably the most nervous I’ve ever been, yet it was really exciting. The feeling of having a conversation with core Joomla developers, being challenged on things I hadn't fully thought through, was uncomfortable in the best possible way.
I then submitted my proposal, and while waiting for the results to be published, I kept exploring the codebase and started attending meetings like the Monday bug squad meeting. What surprised me about the Joomla community is how friendly, helpful, and patient everyone is. It truly is a place for anyone willing to learn, no matter the level you’re at.
The Automated Workflow Project
This project aims to bring together two existing Joomla features: the Workflow system and the Scheduled Tasks engine, into something that runs automatically. Let me explain this using a simple analogy. Now picture a school project that travels through a line of trays on a teacher’s desk:
- Tray 1: "Still writing."
- Tray 2: "Teacher checking."
- Tray 3: "Put on the wall."
Right now in Joomla, a person has to physically pick up the paper and move it to the next tray. That’s a “transition.” Someone clicks a button, and the article moves one tray forward. Joomla is already very good at this part.
Joomla also has a second thing: an alarm clock (the Scheduler). It can wake up every few minutes and do a chore. The main aim of this project is to teach the alarm clock to move the papers between trays by itself, after enough time has passed. So instead of a person clicking “move to Teacher checking,” the rule becomes “if a paper has sat in ‘Still writing’ for 5 days, the alarm clock moves it forward automatically.” That’s it. The workflow (tray) exists, the alarm clock (scheduler) exists. These two features should be combined so that a user can set up assigned workflows in a way that transitions are executed automatically.
This new feature could be very useful to someone who publishes a large number of articles per week. They wouldn’t need to remember to move each article from “Draft” to “Published” then to “Archived” after 30 days; this will happen automatically.
Who Is This For?
Here are a few examples of how this project would be useful:
- Let’s say a small news website run by a team of three people, and they publish every day. Right now, someone would have to go back every month and manually archive old articles. It always gets forgotten, old content stays published longer than it should, and nobody has time to fix it. With this new feature, they will be able to set a rule once, for example, “archive after 30 days,” and it never needs to be touched again.
- Picture a government portal managing policy documents. A document gets written and sits in “Draft” for weeks because nobody remembered to push it forward for review. With automated workflows, after 7 days, it moves to “Under Review” on its own, and the right people get notified.
- Say you run a website where you want to publish a certain type of article during the holidays, for maybe 3 days, and then remove it. Right now, you would manually need to move it from “Published” to “Archived.” With the new automated workflow features, you will be able to set a rule to move that for you just once, and you’re good to go. Anyone running a seasonal or event-based website knows how easy it is to forget to take things down.
These are not edge cases. They are the everyday reality of people managing content on the web. And in all of these cases, the solution stays the same; set it up once and let it run. That is exactly what this project is about: building something that works without you.
Beyond The Code
A few months ago, I had never written a line of Joomla code. Now I am building something that will hopefully make life a little easier for millions of people around the world. Isn’t that why we all do this?

Comments