[Zodb-checkins] CVS: ZODB3 - README.txt:1.19.4.1

Jeremy Hylton jeremy at zope.com
Wed Jul 16 17:21:51 EDT 2003


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

Modified Files:
      Tag: zodb33-devel-branch
	README.txt 
Log Message:
Revise the words to make more sense for ZODB 3.3.


=== ZODB3/README.txt 1.19 => 1.19.4.1 ===
--- ZODB3/README.txt:1.19	Mon Jun 16 17:49:59 2003
+++ ZODB3/README.txt	Wed Jul 16 16:21:46 2003
@@ -1,4 +1,4 @@
-ZODB3 3.2b2
+ZODB3 3.3a1
 ===========
 
 Please see the LICENSE.txt file for terms and conditions.
@@ -16,22 +16,25 @@
 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.3, 2.2, and Python 2.3b1.  For
-best results, we recommend using Python 2.1.3 or Python 2.2.3.  Note
-that 2.2.1 does not work.
-
-Our primary development platform is Linux, but we also test on Windows
-2000.  The test suite should pass without error on all of these
-platforms, although it can take a long time on Windows.
+ZODB3 v. 3.3 is an experimental version that is compatible with
+new-style classes.  This version of ZODB works only with Python 2.3.
+The primary change is change the Persistent base class to be a regular
+Python type instead of an ExtensionClass type.  As a result, you
+should be able to use properties, descriptors, and another new Python
+features with persistent objects.
+
+The current release has a lot of rough edges, but we hope developers
+will find it useful to give it a test drive.  We have not tested
+Persistent objects that use properties or slots.  We expect that code
+with getattr or setattr hooks will need to be written with care,
+probably using different techniques than in earlier versions of ZODB.
 
 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 core packages -- Persistence and ZODB
+- Standard storages such as FileStorage and Berkeley storages
 - The persistent BTrees modules
 - ZEO
-- Experimental Berkeley storages
 - ZConfig -- a Zope configuration language
 - documentation
 
@@ -45,14 +48,12 @@
 you will need a C compiler.
 
 If you intend to use the experimental Berkeley storages, you will need
-to install the Berkeley database software and PyBSDDB, the next
-generation of Berkeley DB Python wrapper.  It is recommended that you
-use at least Berkeley 4.1.25 and PyBSDDB 4.1.3.
-
-The ZConfig package requires an XML parser with SAX support.  If you
-have Python 2.1, you should probably install the PyXML package.  If
-you have Python 2.2, the pyexpat module should be sufficient; note
-that pyexpat requires expat be installed.
+to install the Berkeley database software.  It is recommended that you
+use at least Berkeley 4.1.25.
+
+The ZConfig package requires an XML parser with SAX support.  The
+pyexpat module that comes with Python is sufficient, but it requires
+that expat be installed.
 
 Installation
 ------------
@@ -78,12 +79,12 @@
 You can test this by cd'ing to your home directory and typing the
 following commands::
 
-    Python 2.2.3 (#50, May 30 2003, 16:14:25) 
+    Python 2.3b2+ (#176, Jul 11 2003, 13:46:42) 
     [GCC 2.96 20000731 (Red Hat Linux 7.3 2.96-113)] on linux2
     Type "help", "copyright", "credits" or "license" for more information.
     >>> import ZODB
     >>> ZODB.__version__
-    '3.2b1'
+    '3.3a1'
 
 Testing
 -------
@@ -99,7 +100,7 @@
 number of tests can vary depending on platform and available
 third-party libraries.::
 
-    Ran 1025 tests in 141.977s
+    Ran 1239 tests in 420.840s
 
     OK
 
@@ -107,49 +108,23 @@
 options to see a file list of options.  The default test suite omits
 several tests that depend on third-party software or that take a long
 time to run.  To run all the available tests use the ``--all`` option.
-Running all the tests takes much longer.::
-
-    Ran 1515 tests in 1123.557s
-
-    OK
+Running all the tests takes much longer.
 
 
 History
 -------
 
-The version numbering scheme for ZODB is complicated.  Starting with
-this release, we are trying to make it simpler.  This is release 3.1.1
-of the package named ZODB3.  Versions prior to 3.1 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://sf.net/projects/zodb.  It supported Python 1.5.2, and might
-still be of interest to users of this very old Python version.
-
-Zope Corporation released a version of ZODB 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 2000.
-
+Versions of ZODB prior to 3.3 required ExtensionClass, a tool for
+writing C extensions that behaved more like Python's classic classes.
+The introduction of new-style classes in Python 2.2 eliminated the
+need for ExtensionClass.  In fact, ExtensionClass became a problem
+because it does not support new features like descriptors.
+
+ZODB4 is another experimental version of ZODB that does not rely on
+ExtensionClass.  It has other significant APIs changes and is not
+backwards compatible with ZODB3.  On the other hand, ZODB 3.3 is an
+attempt to get the best features from ZODB4 while maintaining
+backwards compatibility with ZODB3.
 
 More information
 ----------------
@@ -175,7 +150,9 @@
 
 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
+browser at the file Doc/guide/zodb/index.html.  The guide was written
+for an earlier version of ZODB, so it does not accurately describe
+ZODB 3.3.
 
 
 Bugs and Patches




More information about the Zodb-checkins mailing list