[Zope-CVS] CVS: Products/Ape - CHANGES.txt:1.2 README.txt:1.2 __init__.py:1.2 dbtab.conf:1.2 version.txt:1.2 StorageTypesConfiguration.py:NONE TmpStore.py:NONE WORDS_TO_DROP:NONE patches.py:NONE

Shane Hathaway shane@zope.com
Sat, 15 Mar 2003 20:14:16 -0500


Update of /cvs-repository/Products/Ape
In directory cvs.zope.org:/tmp/cvs-serv12186

Modified Files:
	CHANGES.txt README.txt __init__.py dbtab.conf version.txt 
Removed Files:
	StorageTypesConfiguration.py TmpStore.py WORDS_TO_DROP 
	patches.py 
Log Message:
Corrected documentation and circumvented a bug involving relative imports of the apelib module.

=== Products/Ape/CHANGES.txt 1.1.1.1 => 1.2 ===
--- Products/Ape/CHANGES.txt:1.1.1.1	Sat Mar 15 18:44:36 2003
+++ Products/Ape/CHANGES.txt	Sat Mar 15 20:13:45 2003
@@ -1,5 +1,25 @@
 
-Next release
+Next release (0.6)
+
+  - Renamed to "Ape", short for Adaptable PErsistence.  Put most of the
+    code in apelib, a new top-level package usable outside Zope and
+    ZODB.
+
+  - Changed naming conventions to fit Zope 3.  Modules have lowercase
+    names and usually define more than one class.  I'm not sure it's
+    better this way, but it definitely looks more compact.  As a side
+    effect, this led to a 30% reduction in lines of code, now down to
+    7200.  If Guido is right and one person can only deal with 10,000
+    lines of code at a time, we're safe again.
+
+  - Renamed some classes and interfaces:
+
+          ObjectSerializer to CompositeSerializer
+          ObjectGateway to CompositeGateway
+          IObjectSerializer to IFullObjectSerializer
+          ObjectMapper to Mapper
+          IObjectMapper to IMapper
+          IAspectSerializer to ISerializer
 
   - Minor enhancements to filename extension processing.
 
@@ -7,6 +27,20 @@
 
   - Simplified the configuration of object mappers using "base"
     mappers.  This should make it easier to write new mappers.
+
+  - Security attributes now get serialized in a natural way.  The
+    security attributes include the executable owner, local roles, role
+    definitions, proxy roles, and permission mapping.
+
+  - Used text mode when reading/writing text files, which should
+    work better on Windows.
+
+  - Moved remainder pickles to their own file, ".remainder".
+
+  - Allowed object names to start with a dot (unless they would
+    conflict with .properties or .remainder files.)
+
+  - Fixed assorted bugs.
 
 
 Version 0.5


=== Products/Ape/README.txt 1.1.1.1 => 1.2 ===
--- Products/Ape/README.txt:1.1.1.1	Sat Mar 15 18:44:36 2003
+++ Products/Ape/README.txt	Sat Mar 15 20:13:45 2003
@@ -1,16 +1,16 @@
 
-* AdaptableStorage Quick Start *
+* Ape Quick Start *
 
-The following steps help you get started with AdaptableStorage quickly.
+The following steps help you get started with Ape quickly.
 See doc.txt for more information.
 
 1. Check your Zope version.  You need at least Zope 2.6.1.
 
-2. Add the AdaptableStorage product to Zope by placing it in the
-Products directory.  If you're using an INSTANCE_HOME setup, place it
-with your other add-on products.
+2. Add the Ape product to Zope by placing it in the Products
+directory.  If you're using an INSTANCE_HOME setup, place it with your
+other add-on products.
 
-3. Install version 1.1 or later of the DBTab product.  After adding
+3. Install version 1.2 or later of the DBTab product.  After adding
 the product to Zope, set up custom_zodb.py.  If you're using Unix,
 make a symlink:
 
@@ -20,8 +20,8 @@
 If you're using Windows, make a copy instead.  If you're using an
 INSTANCE_HOME setup, adjust the path to custom_zodb.py accordingly.
 
-4. Copy the sample dbtab.conf from the AdaptableStorage product to
-your INSTANCE_HOME or the root of your Zope site.
+4. Copy the sample dbtab.conf from the Ape product to your
+INSTANCE_HOME or the root of your Zope site.
 
 5. Start Zope.  If Zope refuses to start because "no root database is
 configured", make sure dbtab.conf is in the right place and try again.


=== Products/Ape/__init__.py 1.1.1.1 => 1.2 ===
--- Products/Ape/__init__.py:1.1.1.1	Sat Mar 15 18:44:36 2003
+++ Products/Ape/__init__.py	Sat Mar 15 20:13:45 2003
@@ -20,12 +20,16 @@
 
 import apelib
 if not sys.modules.has_key('apelib'):
-    # Make apelib available as a top-level package.
+    # Sneaky: make apelib available as a top-level package.
     apelib.__name__ = 'apelib'
     sys.modules['apelib'] = apelib
 
-if sys.modules.has_key('Zope'):
-    from patches import applyPatches
-    applyPatches()
+# The following code carefully avoids importing apelib.zope2 as
+# "Products.Ape.apelib.zope2", which would lead to duplicate classes
+# and interfaces.  That's the price we pay for being sneaky. ;-)
 
-import StorageTypesConfiguration
+code = """
+from apelib.zope2.setup import patches, dbtab
+patches.applyPatches()
+"""
+exec code in {}


=== Products/Ape/dbtab.conf 1.1.1.1 => 1.2 ===
--- Products/Ape/dbtab.conf:1.1.1.1	Sat Mar 15 18:44:36 2003
+++ Products/Ape/dbtab.conf	Sat Mar 15 20:13:45 2003
@@ -9,12 +9,12 @@
 
 
 [Storage: FS]
-type=ApeStorage
+type=apelib.zodb3.storage.ApeStorage
 factory=apelib.zope2.fsmapper.createMapper
 basepath=%(CLIENT_HOME)s/mnt
 
 [Database: FS]
-class=ApeDB
+class=apelib.zodb3.db.ApeDB
 cache_size=0
 mount_paths=/fs
 auto_create=1


=== Products/Ape/version.txt 1.1.1.1 => 1.2 ===
--- Products/Ape/version.txt:1.1.1.1	Sat Mar 15 18:44:36 2003
+++ Products/Ape/version.txt	Sat Mar 15 20:13:45 2003
@@ -1 +1 @@
-AdaptableStorage-0.5+
+Ape-0.6-unreleased

=== Removed File Products/Ape/StorageTypesConfiguration.py ===

=== Removed File Products/Ape/TmpStore.py ===

=== Removed File Products/Ape/WORDS_TO_DROP ===

=== Removed File Products/Ape/patches.py ===