Products.CalendarX Installation
-------------------------------

To install Products.CalendarX 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 Products.CalendarX``. Find out how to install setuptools
  (and EasyInstall) here:
  http://peak.telecommunity.com/DevCenter/EasyInstall

* 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 ``Products.CalendarX-configure.zcml`` in the
  ``/path/to/instance/etc/package-includes`` directory.  The file
  should only contain this::

    <include package="Products.CalendarX" />

.. _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 ``Products.CalendarX`` to the list of eggs to install, e.g.:

    [buildout]
    ...
    eggs =
        ...
        Products.CalendarX
       
* Tell the plone.recipe.zope2instance recipe to install a ZCML slug:

    [instance]
    recipe = plone.recipe.zope2instance
    ...
    zcml =
        Products.CalendarX
      
* 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.


Because its top level Python namespace package is called ``Products``, this
package can also be installed in Zope 2 as an old style **Zope 2 Product**.

For that, move (or symlink) the ``CalendarX`` folder of this project
(``Products.CalendarX/Products/CalendarX``) into the ``Products`` directory of
the Zope instance it has to be installed for, and restart the server.

You can also skip the ZCML slug if you install this package the **Zope 2
Product** way.
