Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/colinmollenhour/magento-mongo

MongoDb abstraction layer and atomic job queue for Magento
https://github.com/colinmollenhour/magento-mongo

Last synced: 2 months ago
JSON representation

MongoDb abstraction layer and atomic job queue for Magento

Awesome Lists containing this project

README

        

Cm_Mongo
========

NOTE: This is NOT a drop-in replacement for MySQL. It is intended only for use in implementing new models on MongoDb.
-----------

NOTE: PHP 7 Support
-------------

PHP 7 is not supported by the legacy 'mongo' extension and I currently have no plans to update this to use the new 'mongodb' extension which is not API compatible. I will happily accept a pull rquest though! :)

Description
-----------

This Magento extension is primarily two things:

* **An abstraction layer for MongoDb.** Like the MySQL abstraction layer included in Magento, it provides
classes that extend `Mage_Core_Model_Abstract` and `Varien_Data_Collection`. It also includes support for
.js upgrade scripts, an indexer to automatically index fields in other collections, and a schema
defined by XML files.

* **An atomic job queue.** The job queue can be run by the Magento cron or by a separate script and supports
future execution dates, automatic retry intervals, disabling jobs by name or group name, and priorities.

See [mongo.xml.sample](code/etc/mongo.xml.sample) and [Job.php](code/Model/Job.php) for more information.

Unit Testing
------------

Cm_Mongo can be used with [EcomDev_PhpUnit](https://github.com/IvanChepurnyi/EcomDev_PHPUnit),
but needs to override one of it's classes for fixtures with mongo collections to work. Add a module
dependency on EcomDev_PhpUnit to Cm_Mongo.xml when using with EcomDev_PhpUnit.

License
-------

Please see the terms defined in LICENSE.txt