As a developer I feel the need of next or future opencart version having these features.
- Ocmod should allow more than one install.xml files maybe getting away from naming convention install.xml and should support any name ending with .ocmod.xml
- Reasoning: Most of the modules that we create need to give compatibility for other addons. Like a checkout module which modifies many files will have their own install.xml but they made want to add a compatibility for other developers module like abandonedcart, smsshare, postcode manager, gift wraps, shippingpros etc. We can not put these changes in main install.xml because not all customers will have these running on their store. So we need to put these in zip folder along with install.xml and name them compatibility_abaondonedcart.ocmod.xml, compatibility_xshippingpro.ocmod.xml extra. The extension installer can prompt user that which files they need to install along.
In current system this can be achieved by adding a new zip file named compatibile_addons.zip which user can install manually, but looking at how marketplace installation works online in version above 3.x, it will require us to create as many zip files for each xml. And when you have just one file in zip. The opencart system does not approve the zip file because of its very small size(thats what I have seen when I uploaded one separate zip that contains changelog, installation and licensing file).
- Move modification out of storage folder
- Reasoning: With version 3.x opencart has moved storage folder out of installation directory due to session security concerns, however this has created a complexity for developers to debug the code on client sites, and localhost IDEs. The clients give ftp permission for just the installation directory, and there is no way in such cases for developers to see what content has been modified into modification directory and with what ocmod xmls. So if we can just move modification location in system DIR_SYSTEM folder, instead of that being in DIR_STORAGE that will make our job easier to work on IDEs and debugging the code on client sites.