Magento dependencies

Magento dependencies are quite easy to understand. One Extension needs an other extension. For example Mage_Page needs Mage_Core. But does it really make sense?

Easy answer: Yes, it makes sense. If you disable for example Mage_CatalogSearch in app/etc/modules/Mage_All.xml, Magento throws an error. The Extension Mage_XmlConnect needs Mage_CatalogSearch.

<?xml version="1.0"?>
<config>
    <modules>
        <!-- ... -->
        <Mage_CatalogSearch>
            <active>false</active>
            <codePool>core</codePool>
            <depends>
                <Mage_Catalog/>
            </depends>
        </Mage_CatalogSearch>
        <!-- ... -->
    </modules>
</config>

Magento wants to protect you from a bigger crash I would say. But the main question is more. Did magento also run if I disable Mage_Checkout and every depending Modul? I know a shop without a checkout doesn't make much sense, but is possible. Not just a fairy tail, magento is build very modular. So I wanted to see every dependency in magento and created a diagram from the module-files.

Magento dependencies

It should be, but it's not a real hasse diagram. Cause it has unnecessary edges (I don't know why, maybe direct calls of models and helpers). Mage_Connect isn't connected to the graph, maybe you can build a shop only with Mage_Connect?

Performance?

All this questions only make sense if you want to erase a part magento. If you are a hardliner and know that you never need a modul, it can make sense to totally disable maybe Mage_Paypal (maybe you don't like it). But you have to disable Mage_PaypalUk too. This can bring perforamce. Magento will never parse all the files of this extension. We know, thats the big advantage and disadvantage of magento.

Magento only as CMS?

It sounds crazy. There are much better Content Management Systems then magento. But, is it possible to reduce magento only on CMS? I have deleted every Modul that depends on Mage_Catalog. The result was funny, but did work.

Next Previous