<?xml version="1.0"?>
<!--
/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Academic Free License (AFL 3.0)
 * that is bundled with this package in the file LICENSE_AFL.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/afl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magentocommerce.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magentocommerce.com for more information.
 *
 * @category   Mage
 * @package    Mage_CatalogIndex
 * @copyright  Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
 * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 */
-->
<config>
    <modules>
        <Mage_CatalogIndex>
            <version>0.7.10</version>
        </Mage_CatalogIndex>
    </modules>

    <global>
        <catalogindex>
            <indexer>
                <eav><class>catalogindex/indexer_eav</class></eav>
                <price><class>catalogindex/indexer_price</class></price>
                <tier_price><class>catalogindex/indexer_tierprice</class></tier_price>
                <minimal_price><class>catalogindex/indexer_minimalprice</class></minimal_price>
            </indexer>
        </catalogindex>

        <catalog>
            <product>
                <type>
                    <simple>
                        <index_priority>10</index_priority>
                        <index_data_retreiver>catalogindex/data_simple</index_data_retreiver>
                    </simple>
                    <virtual>
                        <index_priority>20</index_priority>
                        <index_data_retreiver>catalogindex/data_virtual</index_data_retreiver>
                    </virtual>
                    <configurable>
                        <index_priority>30</index_priority>
                        <index_data_retreiver>catalogindex/data_configurable</index_data_retreiver>
                    </configurable>
                    <grouped>
                        <index_priority>50</index_priority>
                        <index_data_retreiver>catalogindex/data_grouped</index_data_retreiver>
                    </grouped>
                </type>
            </product>
        </catalog>

        <models>
            <catalogindex>
                <class>Mage_CatalogIndex_Model</class>
                <resourceModel>catalogindex_mysql4</resourceModel>
            </catalogindex>
            <catalogindex_mysql4>
                <class>Mage_CatalogIndex_Model_Mysql4</class>
                <entities>
                    <eav><table>catalogindex_eav</table></eav>
                    <price><table>catalogindex_price</table></price>
                    <minimal_price><table>catalogindex_minimal_price</table></minimal_price>
                    <aggregation><table>catalogindex_aggregation</table></aggregation>
                    <aggregation_tag><table>catalogindex_aggregation_tag</table></aggregation_tag>
                    <aggregation_to_tag><table>catalogindex_aggregation_to_tag</table></aggregation_to_tag>
                </entities>
            </catalogindex_mysql4>
        </models>

        <resources>
            <catalogindex_setup>
                <setup>
                    <module>Mage_CatalogIndex</module>
                    <class>Mage_CatalogIndex_Model_Mysql4_Setup</class>
                </setup>
                <connection><use>core_setup</use></connection>
            </catalogindex_setup>
            <catalogindex_write>
                <connection><use>core_write</use></connection>
            </catalogindex_write>
            <catalogindex_read>
                <connection><use>core_read</use></connection>
            </catalogindex_read>
        </resources>

        <events>
            <store_add>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>processStoreAdd</method>
                    </catalogindex>
                </observers>
            </store_add>
            <catalog_product_save_after>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>processAfterSaveEvent</method>
                    </catalogindex>
                </observers>
            </catalog_product_save_after>
            <catalog_entity_attribute_save_after>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>processAttributeChangeEvent</method>
                    </catalogindex>
                </observers>
            </catalog_entity_attribute_save_after>
            <catalog_product_delete_after_done>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>processAfterDeleteEvent</method>
                    </catalogindex>
                </observers>
            </catalog_product_delete_after_done>
            <catalog_product_delete_before>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>registerParentIds</method>
                    </catalogindex>
                </observers>
            </catalog_product_delete_before>
            <system_config_price_scope_save_after>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>processPriceScopeChange</method>
                    </catalogindex>
                </observers>
            </system_config_price_scope_save_after>
            <catalogrule_after_apply>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>processPriceRuleApplication</method>
                    </catalogindex>
                </observers>
            </catalogrule_after_apply>
            <catalog_product_import_after>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>catalogProductImportAfter</method>
                    </catalogindex>
                </observers>
            </catalog_product_import_after>
            <application_clean_cache>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>cleanCache</method>
                    </catalogindex>
                </observers>
            </application_clean_cache>
            <catalog_category_save_after>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>catalogCategorySaveAfter</method>
                    </catalogindex>
                </observers>
            </catalog_category_save_after>
            <!-- Change tax configuration in admin-->
            <admin_system_config_changed_section_tax>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>clearPriceAggregation</method>
                    </catalogindex>
                </observers>
            </admin_system_config_changed_section_tax>
            <!-- Change tax settings like tax rates, tax rules -->
            <tax_settings_change_after>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>clearPriceAggregation</method>
                    </catalogindex>
                </observers>
            </tax_settings_change_after>
            <!-- Reset search results for query (rtom table catalogsearch_result) -->
            <catalogsearch_reset_search_result>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>clearSearchLayerCache</method>
                    </catalogindex>
                </observers>
            </catalogsearch_reset_search_result>
        </events>
        <cache>
            <betatypes>
                <layered_navigation translate="label" module="catalogindex">
                    <label>Layered Navigation</label>
                </layered_navigation>
            </betatypes>
        </cache>
    </global>
    <adminhtml>
        <events>
            <catalog_product_to_website_change>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>processProductsWebsitesChange</method>
                    </catalogindex>
                </observers>
            </catalog_product_to_website_change>
            <catalog_product_flat_prepare_columns>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>catalogProductFlatPrepareColumns</method>
                    </catalogindex>
                </observers>
            </catalog_product_flat_prepare_columns>
            <catalog_product_flat_prepare_indexes>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>catalogProductFlatPrepareIndexes</method>
                    </catalogindex>
                </observers>
            </catalog_product_flat_prepare_indexes>
            <catalog_product_flat_rebuild>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>catalogProductFlatRebuild</method>
                    </catalogindex>
                </observers>
            </catalog_product_flat_rebuild>
            <catalog_product_flat_update_product>
                <observers>
                    <catalogindex>
                        <type>singleton</type>
                        <class>catalogindex/observer</class>
                        <method>catalogProductFlatUpdateProduct</method>
                    </catalogindex>
                </observers>
            </catalog_product_flat_update_product>
        </events>
    </adminhtml>

    <crontab>
        <jobs>
            <catalogindex_reindex_all>
                <schedule><cron_expr>0 2 * * *</cron_expr></schedule>
                <run><model>catalogindex/observer::reindexAll</model></run>
            </catalogindex_reindex_all>
            <catalogindex_run_queued>
                <schedule><cron_expr>* * * * *</cron_expr></schedule>
                <run><model>catalogindex/observer::runQueuedIndexing</model></run>
            </catalogindex_run_queued>
        </jobs>
    </crontab>
</config>
