At the beginning of this year, we started familiarizing ourselves with Mage-OS after recognizing its potential. A small team within the company began exploring what Mage-OS has to offer, identifying differences between Magento and Mage-OS, and determining what needs to be done to adapt the platform to our internal development processes. We could not possibly imagine these actions would lead to making the first Mage-OS project ever released.
The excitement of putting Mage-OS into action was present in the whole team, though challenges with some of our frequently used tools were unavoidable. Such obstacles are common when you introduce most new tools.
Those who have worked with Mage-OS from the beginning are likely aware that Magerun didn’t initially function with Mage-OS versions, and there were compatibility issues with the PHPStorm Magento Plugin. However, those challenges are now resolved. Magerun works perfectly, and we’ve found a temporary solution for the plugin. The new versions of PHPStorm and Magento plugin added support for Mage-OS. As far as I know, this shouldn’t cause any further issues.
For the purpose of research, we tested several projects and confirmed that with very few changes, it is possible to migrate an existing project to Mage-OS.
In spring 2024, we received a new project from the automotive aftermarket industry. A Croatian company called Traktor Servis hired us to build their online store from scratch. They specialize in selling and importing tractor parts, with more than 20,000 new and used products available.
Based on our current knowledge and the client’s requirements, we carefully evaluated the options and decided to move forward with development on Mage-OS instead of Magento. The project had the typical features that Magento provides out of the box, with one key exception: the custom make/model functionality. For the theme, we opted to use Hyvä. It’s no surprise that Mage-OS and the Hyvä theme are compatible, as the contributors to Mage-OS are also part of the community involved in Hyvä’s development.
Considering that Mage-OS is still in its early stages, it is almost identical to its source. Therefore, I can’t say much about the differences in working on the platforms, as I didn’t feel that the development process was any different. Honestly, for the most part, I didn’t even think about it.
There was a moment when we weren’t certain if we would continue with the Mage-OS platform. This occurred right before the project’s launch deadline, when Adobe released a series of security patches addressing critical vulnerabilities. We needed a backup plan in case these patches weren’t made available on Mage-OS in time. Switching to Magento was straightforward — all it required was modifying one file: composer.json. Specifically, we replaced all Mage-OS references with Magento and updated the version numbers within the require
and require-dev
sections.
Changes in the require
section were as follows:
Mage-OS versions:
"mage-os/composer-dependency-version-audit-plugin": "1.0.3"
"mage-os/composer-root-update-plugin": "1.0.3"
"mage-os/product-community-edition": "1.0.4"
Equivalent Magento versions:
magento/composer-dependency-version-audit-plugin": "~v1.0"
"magento/composer-root-update-plugin": "~2.0"
"magento/product-community-edition": "2.4.7-p2"
In the require-dev
section, the following changes were made:
Mage-OS versions:
"mage-os/magento-coding-standard": "1.0.3"
"mage-os/magento2-functional-testing-framework": "1.0.3"
Equivalent Magento versions:
"magento/magento2-functional-testing-framework": "~4.0"
"magento/magento-coding-standard": "~v33"
We also changed the references for the composer patches and modules listed in the replace
section. After that, we deleted the vendor directory and ran composer update --with-all-dependencies
.
In the end, thankfully, we didn’t need to revert. The Mage-OS team released the security patches in time, allowing us to successfully launch the first ever project on the Mage-OS platform.
Successfully launching our first Mage-OS website was a significant milestone for our team. From a developer’s standpoint, the process of transitioning from Magento to Mage-OS was smoother than anticipated, and despite some initial challenges with tool compatibility and the uncertainty regarding security patches, the Mage-OS team’s timely updates ensured we could meet our deadlines without compromising security. Our work on this project marks the beginning of what we believe will be a promising journey with Mage-OS. This experience has proven its viability for future projects. We look forward to continuing to innovate and build upon this foundation.