2.1 Prerequisites

Draco depends on a few other (free) software packages. These packages are listed in the table below. You must install them before you can install Draco.

Software  Version  Where to get 
Apache 1.3.27 or 2.0.44 http://httpd.apache.org
Python 2.2.2 http://www.python.org
Mod_python 2.7.8 or 3.0.3 http://www.modpython.org

The minimum versions shown in the table are just an indication of the software I used to develop Draco. Older versions are not guaranteed to work correctly, although they could. In any case it would be desirable to install the latest versions. Note that you must either use Apache 2 with mod_python 3.0.3 or Apache 1.3 with mod_python 2.7.8. Other combinations will not work.

If you use mod_python 2.7.8, and you want to use the so-called applicationStart() and applicationEnd() system events and application variables, you need to patch mod_python. The patch is included in the Draco source distribution in the file other/mod_python-restart.diff. It is recommended that you do this. The patch can be applied with the following command:

$ cd mod_python-2.7.X
$ patch -p1 < mod_python-restart.diff

The patch is already present in mod_python 3.0.3 so there is no need to patch it.

Draco offers some advanced features like builtin automated session management, persistency, events and task scheduling. To implement these features, Draco uses a relational database backend. Currently, the free databases MySQL and PostgreSQL are supported. You need to install one of these to to use these advanced features. In the table below the versions of these databases that are known to work correctly with Draco are listed, together with their Python interfaces.

Software  Version  Where to get 
MySQL 3.23.49 http://www.mysql.com
MySQL-python 0.9.2 http://sourceforge.net/projects/mysql-python/
PostgreSQL 7.3.2 http://www.postgresql.org
psycopg 1.1.2 http://initd.org/software/initd/psycopg

Note: It is possible to install Draco without database support. This is not recommended though because its functionality will be much limited.