[Zope-CVS] CVS: Products/Ape - CHANGES.txt:188.8.131.52
shane at zope.com
Sat Dec 20 23:24:34 EST 2003
Update of /cvs-repository/Products/Ape
In directory cvs.zope.org:/tmp/cvs-serv18412
Continued cleanup after refactoring the interfaces. See CHANGES.txt.
All tests now pass except for the SQL tests.
=== Products/Ape/CHANGES.txt 1.6 => 184.108.40.206 ===
--- Products/Ape/CHANGES.txt:1.6 Mon Aug 18 11:03:01 2003
+++ Products/Ape/CHANGES.txt Sat Dec 20 23:24:00 2003
@@ -1,4 +1,47 @@
+ - APE used to stand for Adaptable PErsistence. Now it stands for
+ Adaptable Persistence Engine. Someone finally found a good word
+ that starts with E, but I'm not sure who deserves the credit.
+ - Major refactoring to reduce the number of concepts in Ape.
+ Ape supported a concept called domain mappers. Domain mappers
+ allowed you to redefine object mapping policies in the context of
+ a particular mapped object. This feature was a theoretical
+ advantage, but it necessitated a large number of extra concepts in
+ Ape: keychains, keys, mapper trees, multiple classifiers, and so
+ forth. These extra concepts were a major stumbling block for
+ people who wanted to learn about Ape, and the benefit of domain
+ mappers was uncertain.
+ All of those concepts have been removed. Keychains and keys have
+ been replaced with simple string OIDs. There is now a flat
+ namespace of mappers instead of a tree. Only one classifier and
+ one OID generator are used in any object database.
+ This necessitated changes to all of the interfaces and most of the
+ code. Hopefully, though, all of the changes will make Ape easier
+ to learn and use. The interfaces now use shorter method names and
+ attributes instead of methods where possible, making many
+ operations less opaque.
+ Ape also no longer uses fixed OIDs very often, since they were
+ also a major source of confusion. Standard ZODB always allocates
+ a new OID for new objects, but Ape makes it possible to reuse
+ OIDs. You should not use this capability unless you understand
+ the guts of a persistent object system; otherwise you'll generate
+ ConflictErrors that will make you tear out your hair. Therefore,
+ Ape no longer shows you how to use fixed OIDs. Developers will
+ have to figure it out on their own.
+ - The ZODB root object is now stored on the filesystem. It used to
+ be a virtual object that only contained the Zope Application object.
+ The true root object is now stored in a subdirectory of the
+ application root called "_root".
- Fixed several bugs that made Ape fail under Python 2.1 and Zope 2.6.
More information about the Zope-CVS