**Installing GetPaid for Plone**

There are currently three ways to get going with GetPaid:

1. If you downloaded GetPaid as a bundle, the README.txt included in
   that bundle will explain how to install. You can download the latest release from:  

   http://code.google.com/p/getpaid/downloads/list

2. If you wish to develop GetPaid or wish to use a release from
   Subversion, the following instructions provide a way to get a Zope
   installation, Plone and all the bits required for GetPaid by way of
   zc.buildout:

   http://code.google.com/p/getpaid/wiki/DevGettingStarted

3. If you're masochistic, hate zc.buildout or don't trust setuptools,
   then you can also follow the recipe below:

**Installing GetPaid By Hand**

The versions listed below are ones known to work, however other later
versions may also work, YMMV. This recipe will not work if you're on Windows.

This recipe also attempts to avoid poluting your site-packages by
installing as much as possible in the lib/python directory of your
Zope instance.

If you have a sane python install, already have Zope installed, have
installed any of the required python packages listed below or already
have a Zope instance, feel free to skip the relevant steps.

- Make sure you have a sane Python 2.4 install.
  Many OS-packages pythons are defective.
  Safest bet:

  # wget http://python.org/ftp/python/2.4.5/Python-2.4.5.tgz
  # tar xzf Python-2.4.5.tgz
  # cd Python-2.4.5
  # ./configure
  # ./make
  # ./make altinstall

- Install Zope
  
  # wget http://www.zope.org/Products/Zope/2.9.8/Zope-2.9.8-final.tgz
  # tar xzf Zope-2.9.8-final.tgz
  # cd Zope-2.9.8-final
  # ./configure --with-python=/usr/local/bin/python2.4
  # ./make
  # ./make install

- Create a Zope instance

  $ python2.4 utilities/mkzopeinstance.py

  You'll get some prompts, follow them, make a note of the directory
  you chose, it'll be referred to as $INSTANCE from now on.

- Install Plone

  $ wget https://launchpad.net/plone/2.5/2.5.5/+download/Plone-2.5.5.tar.gz
  $ tar xzf Plone-2.5.5.tar.gz
  $ cp -R Plone-2.5.5/* $INSTANCE/Products

- Install PIL

  $ wget http://effbot.org/downloads/Imaging-1.1.6.tar.gz
  $ tar xzf Imaging-1.1.6.tar.gz
  $ cd Imaging-1.1.6
  $ python2.4 setup.py install --home=$INSTANCE

- Install simplejson 1.8.1

  Unfortunately, because of the C speedups and the fact that this
  package uses setuptools, you'll need to install it somewhere other
  than your Zope instance. The example below will store it in
  site-packages.

  # wget http://pypi.python.org/packages/source/s/simplejson/simplejson-1.8.1.tar.gz#md5=7d024d6ae74abb269637be204e132bdc
  # tar xzf simplejson-1.8.1.tar.gz
  # cd simplejson-1.8.1
  # python2.4 setup.py install

- Install dateutil 1.4

  $ wget http://labix.org/download/python-dateutil/python-dateutil-1.4.tar.bz2
  $ tar xjf python-dateutil-1.4.tar.bz2
  $ cp -R python-dateutil-1.4/dateutil/ $INSTANCE/lib/python

- Install Five 1.4.4

  You don't need to do this if you're using Zope 2.10 or above.

  $ wget http://codespeak.net/z3/five/release/Five-1.4.4.tgz
  $ tar xfz Five-1.4.4.tgz
  $ cp -R Five $INSTANCE/Products
  
- Install CMFonFive 

  A trunk checkout currently needs to be used as the latest released
  version has a critical bug in it:

  $ svn co http://codespeak.net/svn/z3/CMFonFive/trunk/@53861 $INSTANCE/Products/CMFonFive
  
- Install GetPaid from Subversion
  
  This installs the minimum required for GetPaid to function,
  including the . You'll
  likely also want to install the payment processor of your choice.
  
  $ svn co http://getpaid.googlecode.com/svn/trunk

  This checkout will take an (unnecessarilly) long period of time.

  $ cp -R products/PloneGetPaid $INSTANCE/Products/
  $ cp -R getpaid.core/src/getpaid $INSTANCE/lib/python/
#  $ cp -Rf getpaid.io/src/getpaid $INSTANCE/lib/python/
  $ cp -Rf getpaid.wizard/src/getpaid $INSTANCE/lib/python/
  $ cp -Rf getpaid.nullpayment/src/getpaid $INSTANCE/lib/python/

  The following are included as part of the GetPaid Subversion
  checkout but they can also be seperately installed in the same way
  as PIL, although as many of them rely on setuptools, you'll need to
  install them in site-packages.

  $ cp -R getpaid.buildout/src/hurry.workflow/src/hurry $INSTANCE/lib/python  
  $ cp -Rf getpaid.buildout/src/ore.viewlet/src/ore $INSTANCE/lib/python
  $ cp -R getpaid.buildout/src/five.intid/five $INSTANCE/lib/python
  $ cp -R getpaid.buildout/src/zc.table/src/zc $INSTANCE/lib/python
  $ cp -Rf getpaid.buildout/src/zc.resourcelibrary/src/zc $INSTANCE/lib/python
  $ cp -Rf getpaid.buildout/src/yoma.batching/src/yoma $INSTANCE/lib/python

At this point, you'll need to restart your zope instance.
