xm.tracker Installation
==========================

To install xm.tracker into the global Python environment (or a workingenv),
using a traditional Zope 2 instance, you can do this:

 * When you're reading this you have probably already run
   ``easy_install xm.tracker``. Find out how to install setuptools
   (and EasyInstall) here:
   http://peak.telecommunity.com/DevCenter/EasyInstall

 * You may need to manually install mxBase from Egenix; this is needed
   as we use mx.DateTime.  It was previously not easy_installable, but
   now this works fine so we have install it automatically as we have
   specified it in the install_requires.  Alternatively, get it here:
   http://www.egenix.com/products/python/mxBase/

   Your operating system may have a package already that you can
   install.  On Ubuntu it is python2.4-egenix-mxdatetime.

 * If you are using Zope 2.9 (not 2.10), get `pythonproducts`_ and install it
   via::

       python setup.py install --home /path/to/instance

   into your Zope instance.

 * Create a file called ``xm.tracker-configure.zcml`` in the
   ``/path/to/instance/etc/package-includes`` directory.  The file
   should only contain this::

       <include package="xm.tracker" />

.. _pythonproducts: http://plone.org/products/pythonproducts


Alternatively, if you are using zc.buildout and the plone.recipe.zope2instance
recipe to manage your project, you can do this:

 * Add ``xm.tracker`` to the list of eggs to install, e.g.::

     [buildout]
     ...
     eggs =
         ...
         xm.tracker

 * Tell the plone.recipe.zope2instance recipe to install a ZCML slug::

     [instance]
     recipe = plone.recipe.zope2instance
     ...
     zcml =
         xm.tracker

 * You may need to install mxBase from Egenix manually if the
   dependency fails to install automatically.  On Linux/Max you can
   use a buildout recipe::

     [buildout]
     # mx-base has to be the first part
     parts =
         mx-base
         ...

     ...

     [mx-base]
     recipe = collective.recipe.mxbase

  On Windows we have seen this fail.  In that case, you can get an
  installer here: http://www.egenix.com/products/python/mxBase/

  Your operating system may have a package already that you can
  install instead.  On Ubuntu it is python2.4-egenix-mxdatetime.

 * Re-run buildout, e.g. with::

   $ ./bin/buildout

You can skip the ZCML slug if you are going to explicitly include the package
from another package's configure.zcml file.
``Products.eXtremeManagement`` does this.
