I am a developer who has been working on a number of different Ecommerce CMS making modifications for business purposes. I have worked with software such as ZenCart, Prestashop and Opencart and I was quite taken aback when I began this work, how deeply complex the code and classes in these programs are to modify.
I am a strong coder and am not afraid of a bit of hard work, that isn’t what this post is about, I am just testing the water to see if there is a general consensus about this topic because I may get a team together to bring out a new product specifically designed for modification.
With regard to this complexity, I am well aware of the need to decouple the GUI from the program code, Model View Controller Style This , in itself can often lead to complex class structures and using things like SMARTY templating language but the fact remains, that to make even the simplest modification to the flow of a checkout process, this often involves creating several files and learning things about the inner workings of that particular codebase that you never wanted to know. it is as if some(not all) of the manufacturers of this software never intended to cater for those who wished to customize it and often have their own commercial customization service which explains why.
Furthermore, the communities which support these products are generally very weak with hundreds of weekly forum posts being monitored by only a few of the key developers of this software. If you post a question, you shouldn’t expect an answer back this year! There are equally poor resources onlline as some of the best packages are opensource and the developers make all of their money back on the templates and plugins they sell for them. The api documentation is non-existent and rarely gives you enough insight to make any radical changes.
Anyway what I want to put out there for other people to comment on is whether as developers, you would like to see an ecommerce package tailored specifically to those who wish to make modifications, a package so simple to Mod that you could create an entire MVC module just by clicking a few buttons, with the relevant code easy to find and manipulate to the developers own purposes.
The aims would be to reduce unnecessary complexity in the back office, removing many overkill features and keeping the class structure simple, well documented and easy to change. I welcome any comments on how this would effect usability, reliability and especially security.
Please let me know your thoughts