[Zope-CVS] CVS: ZODB3 - README.txt:1.2

Jeremy Hylton jeremy@zope.com
Thu, 22 Aug 2002 22:54:47 -0400


Update of /cvs-repository/ZODB3
In directory cvs.zope.org:/tmp/cvs-serv10925

Modified Files:
	README.txt 
Log Message:
Update README for ZODB3 and begin conversion to rst.

Update minimium Python version, recommended versions of Python, name
from StandaloneZODB to ZODB3.

Add a History section explaning the maze of names and version numbers
that predate this one.



=== ZODB3/README.txt 1.1 => 1.2 ===
--- ZODB3/README.txt:1.1	Mon Feb 11 18:46:56 2002
+++ ZODB3/README.txt	Thu Aug 22 22:54:46 2002
@@ -1,4 +1,5 @@
-This is the README.txt for StandaloneZODB 1.0.
+ZODB3 3.1 beta 1 README
+=======================
 
 Please see the LICENSE.txt file for terms and conditions.
 
@@ -6,163 +7,173 @@
 under the terms of the GNU Free Documentation License.
 
 Introduction
+------------
 
-    The StandaloneZODB package provides a set of tools for using the Z
-    Object Database (ZODB) in Python programs separately from Zope.
-    The tools you get are identical to the ones provided in Zope,
-    because they come from the same source repository.  They have been
-    packaged for use in non-Zope stand-alone Python applications.
-
-    StandaloneZODB is known to work with with all Python versions from
-    Python 2.0 to Python 2.2, except for Berkeley storage, which
-    requires Python 2.1 or higher (by design).  It will not work with
-    versions earlier than Python 2.0, and we have no plans to support
-    those.  Python 2.0 users will need to install unittest.py to run
-    the test suite, and this can be downloaded from
-
-        http://pyunit.sourceforge.net
-
-    For best results, we recommend using Python 2.1.2 or Python 2.2.
-
-    Our primary development platform is Linux, but everything should
-    work on most Un*x platforms, and we've tested this distribution on
-    Windows with the Python 2.2 final release (it may or may not work
-    on Windows with earlier Python releases).
-
-    The components you get with the StandaloneZODB release are as follows:
-
-	- Core ZODB, including the persistence machinery
-	- Standard storages such as FileStorage
-	- Supporting modules such as ExtensionClass
-	- The persistent BTrees modules
-	- ZEO
-	- Experimental Berkeley storages
-	- Some documentation <wink>
+The ZODB3 package provides a set of tools for using the Zope Object
+Database (ZODB) in Python programs separately from Zope.  The tools
+you get are identical to the ones provided in Zope, because they come
+from the same source repository.  They have been packaged for use in
+non-Zope stand-alone Python applications.
+
+ZODB3 is known to work with Python 2.1, 2.2, and the not-yet-released
+2.3.  An earlier version worked with Python 2.0, but several
+components now require Python 2.1.  For best results, we recommend
+using Python 2.1.3 or Python 2.2.1.
+
+Our primary development platform is Linux, but we also test on Windows
+2000 and 98.  We expect that this release works on most platforms,
+although we have seen some problems with the test suite on Windows.
+(In particular, it can take a long time to run the ZEO tests.)
+
+The components you get with the ZODB3 release are as follows:
+
+    - Core ZODB, including the persistence machinery
+    - Standard storages such as FileStorage
+    - Supporting modules such as ExtensionClass
+    - The persistent BTrees modules
+    - ZEO
+    - Experimental Berkeley storages
+    - Some documentation <wink>
 
 Prerequisites
+-------------
 
-    You must have Python installed.  We recommend either Python 2.1.2
-    or Python 2.2.  (2.0 works, but see the caveats above.)  If you've
-    installed Python from RPM, be sure that you've installed the
-    development RPMs too, since StandaloneZODB builds Python
-    extensions.
-
-    If you intend to use the experimental Berkeley storages, you will
-    need to install both the Sleepycat libraries, and PyBSDDB, the
-    next generation of Berkeley DB Python wrapper.  StandaloneZODB
-    will not work with versions of Berkeley DB earlier than 3.3.x and
-    it will not work with the Berkeley DB wrapper that comes standard
-    with Python.  Also remember, that the Berkeley storages only work
-    with Python 2.1 or higher (by design).
-
-    (Windows users, skip ahead...)
-
-    If you are on Linux or other Un*x-like operating system, start by
-    going to www.sleepycat.com and downloading the Berkeley DB source
-    release.  As of this writing, we recommend that you use Berkeley
-    DB 3.3.11 which was the last release of the 3.x series.  (We
-    haven't yet verified that everything works with Berkeley DB
-    4.0.14.)  Follow the install instructions in the Sleepycat
-    documentation.  We recommend that you install in the default
-    location, i.e. /usr/local/BerkeleyDB.3.3
-
-    Next, go to pybsddb.sf.net and download the PyBSDDB package,
-    a.k.a. bsddb3.  As of this writing, PyBSDDB version 3.3.0 is the
-    latest and this is known to work with Berkeley DB 3.3.11.
-    PyBSDDB is a Python distutils package, however it can be a bit
-    tricky to install.  Here's the sequence that I recommend (works if
-    you've installed Berkeley DB in the default location):
-
-    % python setup.py build_ext --inplace --berkeley-db=/usr/local/BerkeleyDB.3.3 --lflags="-Xlinker -rpath -Xlinker /stuff/BerkeleyDB.3.3/lib"
-    % python setup.py install --berkeley-db=/usr/local/BerkeleyDB.3.3 --lflags="-Xlinker -rpath -Xlinker /stuff/BerkeleyDB.3.3/lib"
-
-    Windows users, you need only download the PyBSDDB file
-    bsddb3-3.3.0.win32-py2.1.exe and install it.  This comes with the
-    requisite Berkeley dlls.  Note however, that to build the
-    StandaloneZODB package from source requires a C compiler on
-    Windows.  We likely won't release a Windows installer but we would
-    accept contributions of one.
+You must have Python installed.  If you've installed Python from RPM,
+be sure that you've installed the development RPMs too, since
+ZODB3 builds Python extensions.  If you have the source release of
+ZODB3, you will need a C compiler.
+
+If you intend to use the experimental Berkeley storages, you will need
+to install both the Sleepycat libraries, and PyBSDDB, the next
+generation of Berkeley DB Python wrapper.  ZODB3 will not work with
+versions of Berkeley DB earlier than 3.3.x and it will not work with
+the Berkeley DB wrapper that comes standard with Python.
+
+(Windows users, skip ahead...)
+
+If you are on Linux or other Unix-like operating system, start by
+going to www.sleepycat.com and downloading the Berkeley DB source
+release.  As of this writing, we recommend that you use Berkeley DB
+3.3.11 which was the last release of the 3.x series.  (We haven't yet
+verified that everything works with Berkeley DB 4.0.14.)  Follow the
+install instructions in the Sleepycat documentation.  We recommend
+that you install in the default location,
+i.e. /usr/local/BerkeleyDB.3.3
+
+Next, go to pybsddb.sf.net and download the PyBSDDB package,
+a.k.a. bsddb3.  As of this writing, PyBSDDB version 3.3.0 is the
+latest and this is known to work with Berkeley DB 3.3.11.  PyBSDDB is
+a Python distutils package, however it can be a bit tricky to install.
+Here's the sequence that I recommend (works if you've installed
+Berkeley DB in the default location):
+
+% python setup.py build_ext --inplace --berkeley-db=/usr/local/BerkeleyDB.3.3 --lflags="-Xlinker -rpath -Xlinker /stuff/BerkeleyDB.3.3/lib"
+% python setup.py install --berkeley-db=/usr/local/BerkeleyDB.3.3 --lflags="-Xlinker -rpath -Xlinker /stuff/BerkeleyDB.3.3/lib"
+
+Windows users, you need only download the PyBSDDB file
+bsddb3-3.3.0.win32-py2.1.exe and install it.  This comes with the
+requisite Berkeley dlls.  Note however, that to build the
+ZODB3 package from source requires a C compiler on Windows.
 
 Installation
+------------
 
-    StandaloneZODB is released as a distutils package.  To build it,
-    run the setup script:
+ZODB3 is released as a distutils package.  To build it, run the setup
+script:
 
-	% python setup.py build
+% python setup.py build
 
-    To test the build, run the test script.
+To test the build, run the test script.
 
-	% python test.py
+% python test.py
 
-    For more verbose test output, append one or two `-v' arguments to
-    this command.  Note that if you try to run the test suite under
-    Python 2.0, you may get some failures in the Berkeley storages,
-    i.e. Full.py.  These were only designed to run under Python 2.1
-    and beyond; we plan on fixing StandaloneZODB to not run or test
-    the Berkeley storages under Python 2.0.  For now, ignore them.
+For more verbose test output, append one or two '-v' arguments to
+this command.  
 
-    If all the tests succeeded, you can install StandaloneZODB using
-    the setup script:
+If all the tests succeeded, you can install ZODB3 using the setup
+script:
 
-	% python setup.py install
+% python setup.py install
 
-    This should now make all of ZODB accessible to your Python
-    programs.  You can test this by cd'ing to your home directory and
-    typing the following commands:
+This should now make all of ZODB accessible to your Python programs.
+You can test this by cd'ing to your home directory and typing the
+following commands:
 
-    Python 2.2 (#1, Dec 24 2001, 15:39:01) 
-    [GCC egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)] on linux2
-    Type "help", "copyright", "credits" or "license" for more information.
-    >>> import ZODB
-    >>> import ZODB.FileStorage
-    >>> ZODB.FileStorage.__version__
-    '1.75.16.7'
-    >>> 
-
-    (Note that the version numbers might be different.)
+Python 2.2.1 (#1, Jun 28 2002, 15:05:26) 
+[GCC 2.95.3 19991030 (prerelease)] on linux2
+Type "help", "copyright", "credits" or "license" for more information.
+>>> import ZODB
+>>> import ZODB.FileStorage
+>>> ZODB.FileStorage.__version__
+'1.95'
 
 History
+-------
 
-    The StandaloneZODB release is related to, and takes inspiration from
-    Andrew Kuchling's ZODB project on SourceForge.  Currently the core
-    code base is largely similar, and we distribute Andrew's programmers
-    guide (see below) with our release.  Andrew's project has some
-    additional utilities and tools which we don't (yet) distribute.  It's
-    likely that we will continue to merge the two projects, since we all
-    agree it makes little sense to keep them separated.  For more
-    information, see
-
-	http://zodb.sf.net
+The version numbering scheme for ZODB is complicated.  Starting with
+this release, we are trying to make it simpler.  This is release 3.1
+of the package named ZODB3.  Earlier versions had different names and
+different numbers.  This section describes the gory details.
+
+Historically, ZODB was distributed as a part of the Zope application
+server.  Jim Fulton's paper at the Python conference in 2000 described
+a version of ZODB he called ZODB 3, based on an earlier persistent
+object system called BoboPOS.  The earliest versions of ZODB 3 were
+released with Zope 2.0.
+
+Andrew Kuchling extracted ZODB from Zope 2.4.1 and packaged them for
+use by standalone Python programs.  He called this version
+StandaloneZODB.  Andrew's guide to using ZODB is included in the Doc
+directory.  This version of ZODB was hosted at
+http://sourceforge.net/projects/zodb.  It supported Python 1.5.2, and
+might still be of interest to users of this very old Python version.
+
+Zope Corp. released a version of called StandaloneZODB 1.0 in
+Feb. 2002.  This release was based on Andrew's packaging, but built
+from the same CVS repository as Zope.  It is roughly equivalent to the
+ZODB in Zope 2.5.
+
+Why not call the current release StandaloneZODB 1.1?  The name
+StandaloneZODB is a bit of a mouthful.  The standalone part of the
+name suggests that the Zope version is the real version and that this
+is an afterthought, which isn't the case.  Finally, we started work on
+ZODB4 -- a major new version based on Python 2.2 new-style types
+instead of ExtensionClass.  So we're calling this release ZODB3.  We
+settled on the 3.1 version number so that we don't create the
+impression that this version of ZODB is the same as the one Jim
+described as ZODB 3 in 2002.
 
 More information
+----------------
 
-    We maintain a Wiki page about all things ZODB, including status on
-    future directions for ZODB.  Please see
+We maintain a Wiki page about all things ZODB, including status on
+future directions for ZODB.  Please see
 
 	http://www.zope.org/Wikis/ZODB
 
-    and feel free to contribute your comments.  There is a Mailman
-    mailing list in place to discuss all issues related to ZODB.  You
-    can send questions to
+and feel free to contribute your comments.  There is a Mailman
+mailing list in place to discuss all issues related to ZODB.  You
+can send questions to
 
 	zodb-dev@zope.org
 
-    or subscribe at
+or subscribe at
 
 	http://lists.zope.org/mailman/listinfo/zodb-dev
 
-    and view its archives at
+and view its archives at
 
 	http://lists.zope.org/pipermail/zodb-dev
 
-    Andrew's ZODB Programmers Guide is made available in several
-    forms, including DVI and HTML.  To view it online, point your
-    browser at the file Doc/guide/zodb/index.html
+Andrew's ZODB Programmers Guide is made available in several
+forms, including DVI and HTML.  To view it online, point your
+browser at the file Doc/guide/zodb/index.html
 
 Bugs and Patches
+----------------
 
-    For now, you can submit bug reports and patches on Andrew's
-    ZODB SourceForge project at:
+For now, you can submit bug reports and patches on Andrew's
+ZODB SourceForge project at:
 
 	http://sourceforge.net/tracker/?group_id=15628