[Zodb-checkins] CVS: Packages/ZEO - README:1.17
Tue, 27 Mar 2001 19:15:15 -0500 (EST)
Update of /cvs-repository/Packages/ZEO
In directory korak:/tmp/cvs-serv18922
Split Zope and non-Zope readme files.
--- Updated File README in package Packages/ZEO --
--- README 2001/03/27 23:54:21 1.16
+++ README 2001/03/28 00:15:14 1.17
@@ -1,120 +1,4 @@
-Zope Enterprise Objects, ZEO 0.2
+Zope Enterprise Objects
- Put this package (the ZEO directory, without any wrapping directory
- included in a distribution) in your Zope lib/python.
- Note -- This release of ZEO requires Zope 2.2.2 or a CVS checkout
- of Zope. See 'CHANGES.txt' for details.
- You also need to symbolically link (or copy) ZServer to lib/python::
- cd lib/python
- ln -s ../../ZServer .
- Finally, you need to link the cPickle extension from your lib/python
- directory into your ZEO directory::
- cd lib/python/ZEO
- ln -s ../cPickle.so .
- This is necessary because ZEO uses a (relatively) new
- cPickle feature that wasn't included in Python 1.5.2.
- Starting (and configuring) the ZEO Server
- To start the storage server, go to your Zope install directory and::
- python lib/python/ZEO/start.py -p port_number
- (Run start without arguments to see options.)
- Of course, the server and the client don't have to be on the same
- If the server and client *are* on the same machine, then you can use
- a Unix domain socket::
- python lib/python/ZEO/start.py -U filename
- The start script provides a number of options not documented here.
- See doc/start.txt for more information.
- Running Zope as a ZEO client
- To get Zope to use the server, create a custom_zodb module,
- custom_zodb.py, in your Zope install directory, so that Zope uses a
- import ZEO.ClientStorage
- (See the misc/custom_zodb.py for an example.)
- You can specify a host name (rather than '') if you want. The port
- number is, of course, the port number used to start the storage
- You can also give the name of a Unix domain socket file::
- import ZEO.ClientStorage
- There are a number of configuration options available for the
- ClientStorage. See doc/ClientStorage.txt for details.
- If you want a persistent client cache which retains cache contents
- across ClientStorage restarts, you need to define the environment
- variable, ZEO_CLIENT, to a unique name for the client. This is
- needed so that unique cache name files can be computed. Otherwise,
- the client cache is stored in temporary files which are removed when
- the ClientStorage shuts down. For example, to start two Zope
- processes with unique caches, use something like:
- python z2.py -P8700 ZEO_CLIENT=8700
- python z2.py -P8800 ZEO_CLIENT=8800
- Zope product installation
- Normally, Zope updates the Zope database during startup to reflect
- product changes or new products found. It makes no sense for
- multiple ZEO clients to do the same installation. Further, if
- different clients have different software installed, the correct
- state of the database is ambiguous.
- Starting in Zope 2.2, Zope will not modify the Zope database
- during product installation if the environment variable ZEO_CLIENT
- is set.
- Normally, Zope ZEO clients should be run with ZEO_CLIENT set so
- that product initialization is not performed.
- If you do install new Zope products, then you need to take a
- special step to cause the new products to be properly registered
- in the database. The easiest way to do this is to start Zope
- once without ZEO_CLIENT set.
- The interaction between ZEO and Zope product installation is
- unfortunate. In the future, this interaction will be removed by
- Notes for non Zope users
- First, we regret the amount of dependence on Zope. We intend for
- the dependence to decrease in the long run.
- Known dependencies:
- - The Zope lib/python/Shared directory must be in the Python
- path. This is due to a lame dependency on some Zope XML
- facilities used by ZODB for XML export and import.
- - ZServer should be in the Python path, or you should copy the
- version of asyncore.py from ZServer (from Zope 2.2 or CVS) to
- your Python path, or you should copy a version of a asyncore
- from the medusa CVS tree to your Python path. A recent change
- in asyncore is required.
- - The module, ThreadedAsync must be in the python path.
- - The version of cPickle from Zope, or from the python.org CVS
- tree must be used. It has a hook to provide control over which
- "global objects" (e.g. classes) may be pickled.
+ If you are using Zope, see docs/ZopeREADME.txt, otherwise, see