[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