1.1. Main dependencies¶
1.1.1. Django and Python¶
OpenPLM is based on Django : a Python web framework. Django follows the model-view-controller design.
1.1.2. Celery¶
Celery is an asynchronous task queue/job queue based on distributed message passing. In openPLM, we use Celery (version 2.3) to:
- send mails
- update search indexes
- run cron jobs
See also
The documentation of Celery: http://celery.readthedocs.org/en/latest/ .
RabbitMQ, an efficient message broker recommended by Celery.
1.1.3. South¶
South is an intelligent schema and data migrations for Django projects. All applications of openPLM are managed by South to ensure easy updates.
1.1.4. Haystack and Xapian¶
Haystack is a Django application that provides modular search for Django. Haystack makes it possible to plug openPLM with an efficient search engine. Xapian is a search engine and xapian-haystack is a backend for use with Haystack and the Xapian.
See also
The documentation of Haystack: http://docs.haystacksearch.org/dev/index.html .
1.1.5. Graphviz and PyGraphviz¶
graphviz is a tool to generate graphs. It has a lot of features to custom the rendering. PyGraphviz is a Python binding for Graphviz. openPLM uses PyGraphviz to generate the graphs of the Navigate page.