[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