[Zope-CVS] CVS: Products/Ape/lib/apelib/zope2 - apeconf.xml:1.7

Shane Hathaway shane at zope.com
Sat Mar 13 17:22:55 EST 2004


Update of /cvs-repository/Products/Ape/lib/apelib/zope2
In directory cvs.zope.org:/tmp/cvs-serv15657/zope2

Modified Files:
	apeconf.xml 
Log Message:
Changed the structure of apeconf.xml to be more similar to ape.conf.

Ape won't use the ZConfig-based ape.conf after all, but its structure
was cleaner because it used subclassing rather than excessive 
components.


=== Products/Ape/lib/apelib/zope2/apeconf.xml 1.6 => 1.7 ===
--- Products/Ape/lib/apelib/zope2/apeconf.xml:1.6	Sat Feb 28 15:06:29 2004
+++ Products/Ape/lib/apelib/zope2/apeconf.xml	Sat Mar 13 17:22:54 2004
@@ -35,174 +35,227 @@
  <use-for oid="0" />
 </mapper>
 
-<!-- Abstract mappers -->
+<!-- 'common' is an abstract mapper that provides commonly used
+serializers and gateways. -->
+
+<mapper name="common" class="none">
 
-<mapper name="base" class="none">
  <serializer name="id" order="a"
    factory="apelib.zope2.ofsserial.IdAttribute" />
+ <variation name="filesystem"> 
+  <gateway name="id" factory="apelib.fs.structure.FSAutoId" />
+ </variation>
+ <variation name="sql">
+  <gateway name="id" factory="apelib.sql.structure.SQLItemId" />
+ </variation>
+
  <serializer name="modtime"
-   factory="apelib.zodb3.serializers.ModTimeAttribute" />
+    factory="apelib.zodb3.serializers.ModTimeAttribute" />
+ <variation name="filesystem"> 
+  <gateway name="modtime"
+    factory="apelib.fs.structure.FSModTime" />
+ </variation>
+ <variation name="sql">
+  <gateway name="modtime"
+    factory="apelib.sql.structure.SQLModTime" />
+ </variation>
+
  <serializer name="security"
    factory="apelib.zope2.security.SecurityAttributes" />
+ <variation name="filesystem"> 
+  <gateway name="security"
+    factory="apelib.fs.security.FSSecurityAttributes" />
+ </variation>
+ <variation name="sql">
+  <gateway name="security"
+    factory="apelib.sql.structure.SQLSecurityAttributes" />
+ </variation>
+
  <serializer name="remainder" order="z"
    factory="apelib.zodb3.serializers.RemainingState" />
- <variation name="filesystem">
-  <gateway name="id" factory="apelib.fs.structure.FSAutoId" />
-  <gateway name="modtime" factory="apelib.fs.structure.FSModTime" />
-  <gateway name="remainder" factory="apelib.fs.properties.FSAnnotationData"
-    param="remainder" />
-  <gateway name="security" factory="apelib.fs.security.FSSecurityAttributes" />
+ <variation name="filesystem"> 
+  <gateway name="remainder"
+    factory="apelib.fs.properties.FSAnnotationData('remainder')" />
  </variation>
  <variation name="sql">
-  <gateway name="id" use="sql_id" />
-  <gateway name="modtime" use="sql_modtime" />
-  <gateway name="remainder" use="sql_remainder" />
-  <gateway name="security" use="sql_security" />
+  <gateway name="remainder"
+    factory="apelib.sql.structure.SQLRemainder" />
  </variation>
+
 </mapper>
 
-<mapper name="base_p" class="none" extends="base">
+<!-- 'common_p' is an abstract mapper with properties -->
+
+<mapper name="common_p" extends="common" class="none">
  <serializer name="properties"
-   factory="apelib.zope2.ofsserial.OFSProperties" />
+    factory="apelib.zope2.ofsserial.OFSProperties" />
  <variation name="filesystem">
-  <gateway name="properties" factory="apelib.fs.properties.FSProperties" />
+  <gateway name="properties"
+    factory="apelib.fs.properties.FSProperties" />
  </variation>
  <variation name="sql">
-  <gateway name="properties" use="sql_properties" />
+  <gateway name="properties"
+    factory="apelib.sql.structure.SQLProperties" />
  </variation>
 </mapper>
 
-<!-- Reusable serializers and gateways -->
-
-<serializer name="folder_items" factory="apelib.zope2.ofsserial.FolderItems" />
-
-<serializer name="optional_properties"
-  factory="apelib.zope2.ofsserial.OptionalOFSProperties" />
+<!-- 'common_text' is an abstract mapper with properties and a text body -->
 
-<variation name="filesystem">
- <gateway name="binary_data" factory="apelib.fs.structure.FSFileData"
-   param="binary" />
- <gateway name="text_data" factory="apelib.fs.structure.FSFileData"
-   param="text" />
- <gateway name="dir_items" factory="apelib.fs.structure.FSDirectoryItems" />
-</variation>
-
-<variation name="sql">
- <gateway name="binary_data" factory="apelib.sql.structure.SQLObjectData" />
- <gateway name="text_data" use="binary_data" />
- <gateway name="dir_items" factory="apelib.sql.structure.SQLFolderItems" />
- <gateway name="sql_id" factory="apelib.sql.structure.SQLItemId" />
- <gateway name="sql_remainder" factory="apelib.sql.structure.SQLRemainder" />
- <gateway name="sql_modtime" factory="apelib.sql.structure.SQLModTime" />
- <!--gateway name="sql_properties"
-   factory="apelib.sql.properties.SQLMultiTableProperties"/-->
- <gateway name="sql_properties" factory="apelib.sql.properties.SQLProperties"/>
- <gateway name="sql_security"
-   factory="apelib.sql.security.SQLSecurityAttributes" />
- <gateway name="sql_userlist" factory="apelib.sql.security.SQLUserList" />
-</variation>
+<mapper name="common_text" extends="common_p" class="none">
+ <serializer name="text"
+   factory="apelib.core.serializers.StringDataAttribute('raw')" />
+ <variation name="filesystem">
+  <gateway name="text"
+    factory="apelib.fs.structure.FSFileData('text')" />
+ </variation>
+ <variation name="sql">
+  <gateway name="text"
+    factory="apelib.sql.structure.SQLObjectData" />
+ </variation>
+</mapper>
 
-<!-- Mappers for particular content types -->
+<!-- Folder -->
 
-<mapper name="OFS.Folder.Folder" extends="base_p">
- <serializer name="items" use="folder_items" />
- <gateway name="items" use="dir_items" />
+<mapper name="folder" class="OFS.Folder.Folder" extends="common_p">
+  <serializer name="items"
+    factory="apelib.zope2.ofsserial.FolderItems" />
+ <variation name="filesystem">
+  <gateway name="items"
+    factory="apelib.fs.structure.FSDirectoryItems" />
+ </variation>
+ <variation name="sql">
+  <gateway name="items"
+    factory="apelib.sql.structure.SQLFolderItems" />
+ </variation>
  <use-for generic="directory" />
 </mapper>
 
-<mapper name="OFS.Image.File" extends="base_p">
- <serializer name="data" factory="apelib.zope2.ofsserial.FilePData" />
- <gateway name="data" use="binary_data" />
+<!-- File -->
+
+<mapper name="file" class="OFS.Image.File" extends="common_p">
+  <serializer name="data"
+    factory="apelib.zope2.ofsserial.FilePData" />
+ <variation name="filesystem">
+  <gateway name="data"
+    factory="apelib.fs.structure.FSFileData('binary')" />
+ </variation>
+ <variation name="sql">
+  <gateway nane="data"
+    factory="apelib.sql.structure.SQLObjectData" />
+ </variation>
  <use-for generic="file" />
  <option name="content_type_attr" value="content_type" />
 </mapper>
 
-<mapper name="OFS.Image.Image" extends="OFS.Image.File">
+<!-- Image -->
+
+<mapper name="OFS.Image.Image" extends="file">
  <use-for extensions=".gif .jpg .jpeg .png" />
  <option name="content_type_attr" value="content_type" />
 </mapper>
 
+<!-- Page template -->
+
 <mapper name="Products.PageTemplates.ZopePageTemplate.ZopePageTemplate"
-  extends="base_p">
- <serializer name="text" factory="apelib.core.serializers.StringDataAttribute"
-  param="_text" />
- <gateway name="text" use="text_data" />
- <serializer name="bindings" factory="apelib.core.serializers.IgnoredAttribute"
-  param="_bind_names" />
+  extends="common_text">
+ <serializer name="text"
+    factory="apelib.core.serializers.StringDataAttribute('_text')" />
+ <serializer name="bindings"
+    factory="apelib.core.serializers.IgnoredAttribute('_bind_names')" />
  <use-for extensions=".html .htm .zpt .pt" />
 </mapper>
 
-<mapper name="OFS.DTMLMethod.DTMLMethod" extends="base">
- <serializer name="text" factory="apelib.core.serializers.StringDataAttribute"
-  param="raw" />
- <gateway name="text" use="text_data" />
- <use-for extensions=".dtml" />
+<!-- DTML Document -->
+
+<mapper name="OFS.DTMLDocument.DTMLDocument"
+  extends="common_text">
+ <serializer name="text"
+   factory="apelib.core.serializers.StringDataAttribute('raw')" />
 </mapper>
 
-<mapper name="OFS.DTMLMethod.DTMLDocument"
-  extends="OFS.DTMLMethod.DTMLMethod">
+<!-- DTML Method -->
+
+<mapper name="OFS.DTMLMethod.DTMLMethod"
+  extends="OFS.DTMLDocument.DTMLDocument">
  <serializer name="properties" enabled="false" />
+ <gateway name="properties" enabled="false" />
+ <use-for extensions=".dtml" />
 </mapper>
 
-<mapper name="Products.ZSQLMethods.SQL.SQL" extends="base">
+<!-- ZSQL Method -->
+
+<mapper name="Products.ZSQLMethods.SQL.SQL" extends="common_text">
  <serializer name="properties"
    factory="apelib.zope2.scripts.ZSQLMethodPropertiesSerializer" />
  <serializer name="text"
    factory="apelib.zope2.scripts.ZSQLMethodSerializer" />
- <gateway name="text" use="text_data" />
  <use-for extensions=".sql" />
- <variation name="filesystem">
-  <gateway name="properties" factory="apelib.fs.properties.FSProperties"
-    param="ZSQL Properties" />
- </variation>
- <variation name="sql">
-  <gateway name="properties" use="sql_properties" />
- </variation>
 </mapper>
 
+<!-- Python Script -->
+
 <mapper name="Products.PythonScripts.PythonScript.PythonScript"
-  extends="base">
- <serializer name="body"
+  extends="common_text">
+ <serializer name="properties" enabled="false" />
+ <gateway name="properties" enabled="false" />
+ <serializer name="text"
    factory="apelib.zope2.scripts.PythonScriptSerializer" />
- <gateway name="body" use="text_data" />
  <use-for extensions=".py" />
 </mapper>
 
-<mapper name="AccessControl.User.UserFolder" extends="base">
+<!-- User Folder -->
+
+<mapper name="AccessControl.User.UserFolder" extends="common">
  <serializer name="data"
    factory="apelib.zope2.security.UserFolderSerializer" />
  <variation name="filesystem">
   <gateway name="data" factory="apelib.fs.security.FSUserList" />
  </variation>
  <variation name="sql">
-  <gateway name="data" use="sql_userlist" />
+  <gateway name="data" factory="apelib.sql.structure.SQLUserList" />
  </variation>
 </mapper>
 
-<mapper name="anyfolder" class="any" extends="base_p">
- <serializer name="properties" use="optional_properties" />
- <serializer name="items" use="folder_items" />
- <gateway name="items" use="dir_items" />
+<!-- Mapper of anything that looks like a folder -->
+
+<mapper name="anyfolder" class="none" extends="folder">
+ <serializer
+   factory="apelib.core.serializers.AnyObjectSerializer" />
+ <serializer name="properties"
+   factory="apelib.zope2.ofsserial.OptionalOFSProperties" />
  <use-for generic="folder_object" />
 </mapper>
 
-<mapper name="anyfile" class="any" extends="base_p">
- <serializer name="properties" use="optional_properties" />
- <gateway name="remainder" use="binary_data" />
+<!-- Mapper of anything that looks like a file -->
+
+<mapper name="anyfile" class="none" extends="common_p">
+ <serializer
+   factory="apelib.core.serializers.AnyObjectSerializer" />
+ <serializer name="properties"
+   factory="apelib.zope2.ofsserial.OptionalOFSProperties" />
+ <variation name="filesystem">
+  <gateway name="remainder"
+    factory="apelib.fs.structure.FSFileData('binary')" />
+ </variation>
+ <variation name="sql">
+  <gateway name="remainder"
+    factory="apelib.sql.structure.SQLObjectData" />
+ </variation>
  <use-for generic="file_object" />
 </mapper>
 
-<mapper name="OFS.Application.Application" extends="base_p">
- <serializer name="items" use="folder_items" />
+<!-- Application -->
+
+<mapper name="OFS.Application.Application" extends="folder">
  <serializer name="id" enabled="false" />
  <gateway name="id" enabled="false" />
- <gateway name="items" use="dir_items" />
  <use-for generic="basepath" />
 </mapper>
 
+<!-- Workarounds for objects that don't work with the anyfolder
+mapper, but do fine with anyfile. -->
+
 <mapper name="anyfile">
- <!-- Workaround for objects that don't work with the anyfolder mapper,
-      but do fine with anyfile.  -->
  <use-for class="Products.CMFCore.SkinsTool.SkinsTool" />
  <use-for class="App.ApplicationManager.ApplicationManager" />
 </mapper>




More information about the Zope-CVS mailing list