Differences with previous platforms
Maho is built on the M1 platform, specifically:
- Magento 1 (2008 - 2020)
- OpenMage, fork of Magento 1 (2019 - present)
- Maho, fork of unreleased OpenMage v21 (2024 - present)
Differences between Maho and Magento 1 are documented in OpenMage's readme.
Differences between Maho and OpenMage
Project structure
The first task we developed was a complete overhaul of the store's project structure thanks to a new sets of autoloaders, removing the need for the original M1 composer plugin to copy (and duplicate) all the files from the core to the project's root directory.
This allows for a modern and lean project structure, like any other PHP-based project you can work on since quite some years.
In this picture you see a basic Maho project right after installation. Pretty clean right?
Whatever is in your local project overrides whatever is in composer-installed modules, which override Maho's core.
Built-in command line tool
With previous M1-based project you had some basic scripts in the shell/
directory but everybody was relying on MageRun for anything slightly more advanced.
To know more, check the complete documentation of Maho's CLI tool.
Complete control of the toolchain
We think that having core components of the toolchain that are unmaintained and/or owned by a third party is a problem for a quick and effective development of the whole platform.
This is why, at Maho, we decided to maintain internally both the CLI tool, the composer plugin and the PHPStan plugin.
Legacy backend theme
The legacy theme for the backend (the one we all know from Magento1) is deprecated and not selectable anymore, every Maho project will have the modern theme for the backend.
Other differences
There are many more minor differences, it's challenging to list them all, please refer to our changelog and our release notes for a complete list release-by-release.