anybox.recipe.openerp
=====================

.. contents::

This is a buildout recipe to download, install and configure OpenERP server,
web client and gtk client.

 - For the server: recipe = anybox.recipe.openerp:server
 - For the web client: recipe = anybox.recipe.openerp:webclient
 - For the gtk client: recipe = anybox.recipe.openerp:gtkclient

Recipe options :
~~~~~~~~~~~~~~~~

zc.recipe.egg options
---------------------

This recipe reuses the *zc.recipe.egg* recipe, so the options are the same
(*eggs*, *interpreter*, etc.)
Consult the documentation here http://pypi.python.org/pypi/zc.recipe.egg/1.3.2

specific options
----------------

It also adds a few specific options :

 * **version**: specify the version of OpenERP (server, web client or gtk client)
 * **url** : specify the download url for the server
 * **script_name**: specify the name of the startup script for the server

OpenERP options
---------------
You can also add the same options as in the specific OpenERP config files, such
as .openerp_serverrc for the server, openerp-web.cfg for the web client or
.openerprc for the gtk client.
The options for the gtk client must be written using a dotted notation like : login.port = 8070
such as *netrpc_port*, *netrpc_interface*, *db_host*, *db_port*, etc.
The OpenERP configuration files are generated by OpenERP itself in the buildout
etc/ directory at the first buildout run. 

Generated script :
~~~~~~~~~~~~~~~~~~

A startup script for the server is created in the bin/ directory. By default
the name is: start_<part_name>, so you can have several startup script for each
part if you configure several OpenERP servers. You can pass additional
arguments to the server via the startup script, such as -i or -u options.


Example buildouts:
~~~~~~~~~~~~~~~~~~

The simplest possible buildout for the server + web client is::

    [buildout]
    parts = openerp web

    [openerp]
    recipe = anybox.recipe.openerp:server
    version = 6.0.2

    [web]
    recipe = anybox.recipe.openerp:webclient
    version = 6.0.2

A more robust and complex buildout with version specifications, 2 OpenERP servers
using only NETRPC and listening on 2 different ports, and 2 web clients ::

    [buildout]
    parts = openerp1 web1 openerp2 web2
    allow-picked-versions = false
    versions = versions
    find-links = http://download.gna.org/pychart/
    
    [openerp1]
    recipe = anybox.recipe.openerp:server
    eggs = PIL
    version = 6.0.2
    xmlrpc = False
    xmlrpcs = False
    
    [web1]
    recipe = anybox.recipe.openerp:webclient
    version = 6.0.2
    
    [openerp2]
    recipe = anybox.recipe.openerp:server
    eggs = PIL
    version = 6.0.2
    xmlrpc = False
    xmlrpcs = False
    netrpc_port = 8170
    
    [web2]
    recipe = anybox.recipe.openerp:webclient
    version = 6.0.2
    openerp.server.port = '8170'
    server.socket_port = 8180
    
    [versions]
    MarkupSafe = 0.15
    PIL = 1.1.7
    anybox.recipe.openerp = 0.4
    caldav = 0.1.10
    collective.recipe.cmd = 0.5
    coverage = 3.5
    distribute = 0.6.19
    feedparser = 5.0.1
    gp.vcsdevelop = 2.2.1
    lxml = 2.1.5
    mako = 0.4.2
    Mako = 0.4.2
    nose = 1.1.2
    psycopg2 = 2.4.2
    pychart = 1.39
    pydot = 1.0.25
    pyparsing = 1.5.6
    python-dateutil = 1.5
    pytz = 2011h
    pywebdav = 0.9.4.1
    pyyaml = 3.10
    reportlab = 2.5
    vobject = 0.8.1c
    z3c.recipe.scripts = 1.0.1
    zc.buildout = 1.5.2
    zc.recipe.egg = 1.3.2
    openerp-web = 6.0.2
    Babel = 0.9.6
    FormEncode = 1.2.4
    simplejson = 2.1.6


Contribute
~~~~~~~~~~
The primary branch is on the launchpad:

- Code repository: https://code.launchpad.net/~anybox/+junk/anybox.recipe.openerp

