Over a year ago, the news of the end of J2Store development was received as a bit of a blow: how could such a popular and widely used extension close its doors? Is this the beginning of the end for Joomla?
Introduction: The Context
Over a year ago, the news of the end of J2Store development was received as a bit of a blow: how could such a popular and widely used extension close its doors? Is this the beginning of the end for Joomla?
What the closure of J2Store reveals:
- J2Store developer fatigue: The team behind J2Store cited rising costs and declining revenue. This reflects a broader reality: maintaining a complex extension requires constant resources, often with no guarantee of financial return. (Some developers also abandon their developments when it becomes impossible to give 100% and ensure user support.)
- Impact on users: J2Store was a widely used e-commerce solution. Its sudden disappearance caused uncertainty, particularly for agencies and freelancers who used it for their clients. (For example, my colleague Shirielle, who owns a website creation and maintenance agency in Chicago, told me she was in a difficult situation because some sites couldn't be converted to Joomla 4 without certain elements missing from J2Store. She had already migrated some of her clients to other solutions.)
- Perception of fragility: When a major extension ceases development, it can create a climate of doubt: "If J2Store goes down, who will be next?" This feeling can affect confidence in Joomla, especially among new users. And why start building a Joomla site if the project seems to be in decline?
Collaboration with Adam Melcher
In this context, I wondered if a takeover would be a solution. But at my level, it seemed impossible. I'm a freelance developer, working mostly alone on my extensions for Simplify Your Web. J2Store has a large ecosystem, too large for me. And what do I know about e-commerce? Not much. So I left it at that.
A few days later, I received a call from Adam Melcher. I got to know Adam through his participation in Joomla Day USA and then through his joining our team organizing the annual event.
Adam wanted to talk to me about J2Store. I knew he was heavily involved, having worked on numerous e-commerce sites using J2Store. The end of J2Store was definitely not good news, and when he asked me if I'd be interested in joining him in taking over J2Store, I didn't hesitate (it was either that or he'd have to migrate all his e-commerce sites, created in recent years, some of them very large—with revenues approaching millions of dollars). He seemed like the ideal partner. For those who know Adam, he's very straightforward, knows his stuff, and I could complement it with my development knowledge and my familiarity with Joomla.
Project Objective: Modernize, Sustain, and Reconnect with the real needs of Joomla users.
We had to position ourselves quickly and make ourselves known.
Many users had not yet migrated their sites to J2Store because third-party extensions for Joomla 4 were missing. The former developers (led by Ramesh Elamathi) provided us with all the extensions already migrated to Joomla 4 and a large number of those still in Joomla 3. For the rest, we worked on a case-by-case basis to fill in the gaps. Some users gave us what they had on hand that we were missing... It was up to us to migrate these Joomla 3 extensions to Joomla 4.
We also had to regain the trust of J2Store users, because before closing, the project had remained dormant for several months. So we tried to help as much as possible, while creating a new identity, a new website with downloads, documentation, and a support ticket management system.
We had to improve the migration tool from J2Store 3 to J2Store 4 and quickly start releasing patches, while expanding our plugin offering.
Part 1: Technical Challenges
Complex Inheritance: Legacy code, lack of recent documentation
J2Store depends on the F0F library created by Akeeba at a time when Joomla's Model-View-Controller didn't live up to Akeeba's vision. This library was adapted, and many of its concepts have since been integrated into Joomla 4.
- All views, table calls, and controllers are created by F0F.
- Use of jQuery and jQuery UI (to be replaced by pure JavaScript)
- Use of Fancybox (to be replaced by Joomla modals)
- Lack of compatibility with systems using UIKit, for example, and systems like YooTheme.
Compatibility with Joomla 4 and 5 had to be ensured, under all versions of PHP supported by Joomla.
J2Commerce aims for native compatibility with Joomla 6, which involves:
- code refactoring to comply with new Joomla APIs, standards, and concepts
- use of fields, custom fields, and email templates provided by Joomla
- removal of obsolete dependencies (such as FOF)
- a frontend overhaul with improved accessibility and responsive design
- improved integrations (such as with YooTheme)
- integration and overhaul of additional extensions (starting with the most used)
- optimization of SQL queries, caching, and code cleanup
All this while ensuring constant updates to over 150+ additional payment methods, shipping options, and additional extensions to extend the use of the core product.
Refactoring and Modularity
We had to rethink the architecture to make it as maintainable as possible, always using everything Joomla makes available to us. Custom fields, the use of substitutions in templates, namespacing, and the implementation of helpers.
We also want to prioritize support tools such as guided tours, create tutorials, and resume and update videos.
Part 2: Community Benefits
Design isn't just about aesthetics; it’s about functionality and usability. Shoppers judge your site’s credibility in 50 milliseconds based on its design, and 75% of users admit to judging a company’s credibility based on its website appearance.
Reconnecting with Users
• Taking Feedback from the Field Into Account: From the very beginning, we listened to agencies, freelancers, and end users. Their feedback guided our priorities: Joomla 4 compatibility, simplified migration, and essential plugins. Every ticket, every message was a compass.
• Improving the User Experience and Flexibility: J2Commerce doesn't seek to impose a vision, but to adapt to the realities on the ground. We've redesigned interface elements, simplified workflows, and introduced more flexible options to address a variety of use cases.
Since Adam has a wide variety of clients himself, he regularly creates new components that weren't previously available and that will expand our offerings with additional features.
Open Collaboration
Co-development with Adam and other community members
This project was born from a partnership between Adam and me, but it quickly expanded. Developers, translators, and testers join us occasionally and help us in our adventure. Some users have specific requests, and we try to involve them so they can test these requests specifically.
Otherwise, the current version is available on GitHub, and it's possible to contribute improvements and issues, as many do for Joomla. Version 5 is still private, but we will open access to this redesign fairly soon.
Integration of external contributions and transparency in technical choices
Following Joomla concepts will make it easier for other contributors to get involved and create complementary extensions. We believe that sticking as closely as possible to Joomla can only increase general confidence in this project and increase developer involvement.
Documentation and Onboarding
One of the major obstacles to contribution is the lack of documentation. We are investing in clearer, updated guides so that everyone can understand and participate, regardless of their level. It is currently possible to contribute to the documentation via GitHub, but we plan to allow document updates through appropriate tools that are simpler than creating Pull Requests. We then want to start translating the documentation, especially on strategic points.
Community Dynamics
J2Commerce has rekindled the interest of users who had left the ecosystem and returned. Developers have expanded their offerings, such as Roland's RO CVI, EasyLayout (which allows you to edit J2C on the frontend), Tassos Google Structure Data, and Joomill's Custom Quickicon module. Template creators have contacted us and updated their offerings. We try to maintain a comprehensive list of templates created specifically for J2Commerce, and another excellent source is, of course, Daniel's templatejoomla.com.
The project has been presented and discussed at events such as Joomla Day USA. Adam is expected to give a presentation at Joomla Day Spain (titled: What if launching a fully functional Joomla e-commerce store took less time than your lunch break?).
These opportunities allow us to connect, make live corrections, and create a collective dynamic around the extension. We also hope to soon have the means to sponsor events and give back.
The End or the Beginning?
So, for those who are still wondering: is this the end of Joomla? I will say this:
- Projects from an open source fork emerge when an extension is discontinued. That's the beauty of open source. Long before J2Store, entities like Joomla Shack have picked up the torch time and time again (for OSMap, for example). The Astroid template, also adopted, and many other examples.
- Joomla continues to evolve, with efforts to improve the user experience, compatibility, and security.
The closure of J2Store is a wake-up call, not a swan song. It serves as a reminder of the importance of supporting extension developers, fostering sustainable models, and strengthening community collaboration. But it has also triggered a constructive response: a new project, new energy, and a desire to build on a stronger foundation.
What We've Learned
Listening to the user community is a challenge, as is maintaining our other activities (site maintenance, extension development).
It's an experience that enriches us both technically and personally.
I never expected to work on a joint project outside of Joomla, with such a dedicated partner, but this collaboration also adds an additional level of responsibility: we no longer carry the project alone.
If it succeeds, it's a shared victory.
But if it fails, we can't help but feel like we're committing the other person to this failure (and that's a pressure I've never experienced before). It goes even deeper than that as we have a responsibility to our users as well - there is real money on the line for them.
Thank you anyway to everyone who has placed their trust in us. And to those who are still hesitant: join us, try it out, contribute. Our story is just beginning.