<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><Project><name>plone.recipe.zope2zeoserver</name>
<shortdesc>ZC Buildout recipe for installing a Zope 2 ZEO server</shortdesc>
<description>plone.recipe.zope2zeoserver
===========================

This recipe creates and configures a Zope 2 ZEO server in parts. It also
installs a control script, which is like zeoctl, in the bin/ directory.
The name of the control script is the the name of the part in buildout.

You can use it with a part like this::

  [zeoserver]
  recipe = plone.recipe.zope2zeoserver
  zope2-location = /path/to/zope2/install
  zeo-address = 8100

Options
-------

zope2-location
  The path where Zope 2 is installed. If you are also using the
  plone.recipe.zope2install recipe, and you have that configured as a part
  called 'zope2' prior to the zope2zeoserver part, you can use
  ${zope2:location} for this parameter. You must ensure the zope2zeoserver part
  is run *after* the zope2install one.

zeopack
  The path to the zeopack.py backup script. A wrapper for this will be
  generated in bin/zeopack, which sets up the appropriate environment to
  run this. Defaults to "${zope2-location}/utilities/ZODBTools/zeopack.py".
  Set this option to an empty value if you do not want this script to be
  generated.

repozo
  The path to the repozo.py backup script. A wrapper for this will be
  generated in bin/repozo, which sets up the appropriate environment for
  running this. Defaults to "${zope2-location}/utilities/ZODBTools/repozo.py".
  Set this to an empty value if you do not want this script to be generated.

zeo-conf
  A relative or absolute path to a zeo.conf file. If this is not given, a
  zeo.conf will be generated based on the the options below.

The following options all affect the generated zope.conf.

zeo-address
  Give a port for the ZEO server (either specify the port number only (with
  'localhost' as default) or you use the format ``host:port``). Defaults to 8100.

effective-user
  The name of the effective user for the ZEO process. Defaults to not setting
  an effective user.

invalidation-queue-size
  The invalidation-queue-size used for the ZEO server. Defaults to 100.

zeo-log
  The filename of the ZEO log file. Defaults to var/log/${partname}.log

zeo-log-format
  Format of logfile entries. Defaults to %(asctime)s %(message)s

zeo-log-custom
  A custom section for the eventlog, to be able to use another
  event logger than `logfile`. `zeo-log` is still used to set the logfile
  value in the runner section.

storage-number
  The number used to identify a storage.

file-storage
  The filename where the ZODB data file will be stored.
  Defaults to var/filestorage/Data.fs.

blob-storage
  The folder where the ZODB blob data files will be stored.

socket-name
  The filename where ZEO will write its socket file.
  Defaults to var/zeo.zdsock.

authentication-database
  The filename for a authentication database. Only accounts listed in this
  database will be allowed to access the ZEO server.

  The format of the database file is::

    realm &lt;realm&gt;
    &lt;username&gt;:&lt;hash&gt;

  Where the hash is generated via::

    import sha
    string = "%s:%s:%s" % (username, realm, password)
    sha.new(string).hexdigest()

authentication-realm
  The authentication realm. Defaults to 'ZEO'

pack-days
  Specify of days for the zeopack script to retain of history. Defaults to
  one day.

pack-user
  If the ZEO server uses authentication, this is the username used by the
  zeopack script to connect to the ZEO server.

pack-password
  If the ZEO server uses authentication, this is the password used by the
  zeopack script to connect to the ZEO server.

zeo-conf-additional
  Give additional lines to zeo.conf. Make sure you indent any lines after
  the one with the parameter.

monitor-address
  The address at which the monitor server should listen.
  The monitor server provides server statistics in a simple text format.

relative-paths
  Set this to `true` to make the generated scripts use relative
  paths. You can also enable this in the `[buildout]` section.

Reporting bugs or asking questions
----------------------------------

We have a shared bugtracker and help desk on Launchpad:
https://bugs.launchpad.net/collective.buildout/

Change History
==============

1.4 (2009-10-15)
----------------

* Make sure that it's still possible to specify a storage to pack using the -S
  parameter for bin/zeopack.
  [davisagli]

* Documented the format of the authentication database file.
  [hannosch]

* Added support for more than one zeoinstance per buildout on win32 environments
  [erico_andrei]

* Added support for relative-paths in the script generation.
  [jvloothuis]

1.3 (2009-05-14)
----------------

* Added the new `pack-days`, `pack-user` and `pack-password` options to give
  more flexible options for the zeopack script and support packing databases
  which require authentication. Also reworked the zeopack internals to support
  packing blob storages. The default for packing is now to retain one day of
  database history.
  [hannosch]

1.2 (2009-02-25)
----------------

* Generate a bin/repozo script to perform backups using repozo.py (and
  set up the appropriate pythonpath for this to work).
  Copied from plone.recipe.zope2instance.
  [fschulze]

* Added support for the zeo.conf 'monitor-address' parameter.
  [mattss]

1.1 (2008-12-05)
----------------

* Pass PYTHONPATH generated by recipe into zopeservice.py, so that it
  is properly setup and passed to service controlled environment. This
  makes it possible to use third-party ZConfig extensions with ZEO,
  like iw.rotatezlogs.
  [sidnei]

1.0 (2008-11-04)
----------------

* Bump version number to 1.0 since this has been stable for a long time.
  [wichert]

* Add MANIFEST.in file so we can create a release from an export.
  [wichert]


0.17 (2008-11-04)
-----------------

- Make the log format configurable and change the default to include the
  current time.
  [wichert]


0.16 (2008-10-15)
-----------------

- Adjusted the Supervisord support to ignore the command sent to the script.
  This avoids a `positional arguments are not supported` error.
  [hannosch]

- The launch script now detects if it is being executed from Supervisord.
  This makes it more manageable for Supervisord since it no longer forks.
  [jvloothuis]


0.15 (2008-08-27)
-----------------

- Renamed zeoservice.py to zeoservice.py.in to avoid errors during egg
  creation, as it tries to compile the template file.
  [hannosch]


0.14 (2008-08-21)
-----------------

- Fix the test to not rely on a specific installation folder name.
  [dataflake]

- Added support for a unix socket path in `zeo-address` and expanded the
  test coverage for the `zeopack` script generation.
  [dataflake]

- Add support for ZEO authentication.
  [wichert]


0.13 (2008-03-27)
-----------------

- Fixed call to HandleCommandLine by computing the serviceClassString
  ourselves if our module name is not __main__ (ie, if it was imported
  from another module). This works around the fact that
  HandleCommandLine calls GetServiceClassString which in turn only
  calculates the full path if the original module is __main__.
  [sidnei]

- Fixed generation of runzeo.bat when using ZEO from egg, where ZConfig is not
  in ZODB3_HOME.
  [rochael]

- Only generate the Windows service scripts if there is a zope2-location, since
  it's currently the only place where the nt_svcutils can be found.
  [rochael]

- Fixed test breakages on Windows.
  [rochael]


0.12 (2008-03-02)
-----------------

- Fixed zeopack generation so it includes zope-location.
  [tarek]


0.11 (2008-02-19)
-----------------

- Made Python 2.3 compatible
  [fschulze]

- Added win32 specific scripts.
  [tarek]

- Added a `zeo-log-custom` option.
  [tarek]

- Added a test environement and a basic doctest to validate the recipe.
  [tarek]


0.10 (2008-01-09)
-----------------

- Calculate the package working set outside of the recipe constructor. Closes
  https://bugs.launchpad.net/collective.buildout/+bug/180084
  [rochael]


0.9 (2007-12-30)
----------------

- Added `invalidation-queue-size` and `storage-number` options.
  [hannosch]

- Merged rochael-blobsupport branch. Added support for ZODB 3.8 blob storage
  configuration. This adds the blob-storage option. This closes
  https://bugs.launchpad.net/collective.buildout/+bug/179115 and
  https://bugs.launchpad.net/collective.buildout/+bug/179117.
  [rochael, hannosch]

- Renamed `zope-conf-additional` option to `zeo-conf-additional`.
  [rochael]


0.8
---

- Small documentation update. Added link to the bugtracker.
  [hannosch]

- Have PID file's location default to `${buildout:directory}/var/${name}.pid`.
  Keeping the PID file in $INSTANCE_HOME gives trouble when buildout rebuilds
  the part.
  [nouri, mbenali]


0.7
---

- Change default location of zeo socket to var.
  [smcmahon]

- Add option to set socket-name.
  [smcmahon]


0.6
---

- Move the documentation to a separate README.txt and read that from setup.py.
  [wichert]

- Add a wrapper around zeopack which inserts default options for our ZEO server.
  [wichert]


0.5
---

- Added an option to set the effective-user.
  [optilude]


0.3
---

- Updated setup.py.
  [optilude]


0.2
---

- Similarly, there are some hardcoded dependencies on $INSTANCE_HOME/etc/.
  [optilude]

- Documented options, cleaned up code, and added the ability to use a manual
  zeo.conf.
  [optilude]

- Make this work, at least on OS X and probably unix-like system. It wouldn't
  surprise me if this needs adjustment for Windows in the same way that we do
  in plone.recipe.zope2instance. :-(
  [optilude]


0.1
---

- Initial implementation.
  [regebro, hannosch]</description>
<homepage rdf:resource="http://svn.plone.org/svn/collective/buildout/plone.recipe.zope2zeoserver" />
<maintainer><foaf:Person><foaf:name>Hanno Schlichting</foaf:name>
<foaf:mbox_sha1sum>1f2be212675f79584f2887fd60cc1c43644ac205</foaf:mbox_sha1sum></foaf:Person></maintainer>
<release><Version><revision>1.4</revision></Version></release>
</Project></rdf:RDF>