Looking at the core code under app/etc/modules...

Why does Magento use Mage_All for a large part of the modules and individual files for the others?

I understand that Magento will ultimately merge the xml any, so it has no real effect either way. But im interested as to why they have done this instead of putting all Mage modules in Mage_All.xml or alternatively separate files for all Mage modules.

2 Answers 2


I've always assumed that Mage_All.xml contained the modules that were absolutely needed for a Magento system, and then individual core developers (or teams outsourced by the core developers) added individual module declaration files themselves as they worked on new features.

Also, I've talked to a few of the original team members over the years, and a very strict don't change old things discipline descended on the team after the first few releases when early system adopters started complaining about non-backwards compatible system changes. I can easily see the original plan being to merge new module declarations into Mage_All.xml, and then abandoning that plan to avoid the risk of changing something people relied on.


When it all began, in Magento CE 1.0 only the Mage_All.xml file existed. See here.
Only the core modules that have been added later have a separate declaration file. Most probably for easier code management.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.