Could QloApps progressively reduce direct PrestaShop core modifications?
Hello QloApps team,
First of all, thank you for all the work you've done on QloApps. This is not a bug report, but rather an architectural discussion that I hope can be useful for the future of the project.
Recently, I started a personal experiment to evaluate how difficult it would be to adopt QloApps on top of a newer PrestaShop version(1.7).
My goal was not to reproduce QloApps exactly, but to understand how tightly its hotel business logic is coupled to the original PrestaShop 1.6 codebase.
Interestingly, I managed to reproduce most of the Front Office behavior by using overrides and custom classes while reusing the business logic introduced by QloApps. I was able to keep the PrestaShop core untouched and implement the required behavior outside of the native classes.
However, everything changed when I reached the Back Office.
There, I discovered that a significant amount of the functionality depends on direct modifications to native PrestaShop classes and controllers. At that point, the migration effort became extremely complex, and I eventually stopped the experiment.
This experience made me wonder whether the project could benefit from progressively reducing direct core modifications whenever technically possible.
I fully understand that some changes to the PrestaShop 1.6 core were probably unavoidable at the time, especially considering the limitations of its architecture.
However, PrestaShop 1.6 has now reached its end of life, no longer receives official security updates, and its architecture is becoming increasingly difficult to maintain in the long term.
Wouldn't it make sense to gradually move QloApps-specific business logic into dedicated classes, services, overrides (when appropriate), or other extension mechanisms instead of continuing to extend the native core?
I'm not suggesting that every existing core modification should be rewritten overnight. My point is more about the project's future direction.
Reducing the dependency on modified native classes could provide several long-term advantages:
- clearer separation between PrestaShop and QloApps code;
- easier maintenance and debugging;
- lower technical debt;
- simpler security maintenance;
- and, perhaps most importantly, a much smoother path toward future modernization or migration.
Is there already a long-term architectural roadmap regarding this topic?
I'd be genuinely interested in understanding the team's vision, because I believe this could have a major impact on the future maintainability of QloApps.
Thank you for taking the time to read this.
Source: Qloapps/QloApps