[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/OFS/Content/Folder - folder.zcml:1.1.4.5

Jim Fulton jim@zope.com
Fri, 7 Jun 2002 10:41:40 -0400


Update of /cvs-repository/Zope3/lib/python/Zope/App/OFS/Content/Folder
In directory cvs.zope.org:/tmp/cvs-serv12187/lib/python/Zope/App/OFS/Content/Folder

Modified Files:
      Tag: Zope-3x-branch
	folder.zcml 
Log Message:
Merging in Zope3InWonderland-branch, which implemented the following
proposals (see
http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/OldProposals): 
- RenameAllowToRequire

- GroupClassRelatedDirectivesInClassDirective

- ViewInterfaceAndSimplification

- ConsistentUseOfSpacesAsDelimitersInZCMLAttributes

- TwoArgumentViewConstructors

- ImplementsInZCML

- SimpleViewCreationInZCML

- RemoveGetView

- ReplaceProtectWithAllow

- ViewMethodsAsViews

- MergeProtectionAndComponentDefinitions

There were also various security fixes resulting of better integration
of security with components.


=== Zope3/lib/python/Zope/App/OFS/Content/Folder/folder.zcml 1.1.4.4 => 1.1.4.5 ===
   <!-- Simple Folder Directives -->
 
-  <zmi:factoryFromClass name="Folder"
-                        class=".Folder."
-                        permission_id="Zope.ManageContent"
-                        title="Son of Folder"
-                        description="Minimal folder" />
-
-  <security:protectClass class=".Folder."
-                         permission_id="Zope.View">
-    <security:protect 
-              interface="Zope.ComponentArchitecture.IServiceManagerContainer.IReadServiceManagerContainer" 
-              permission_id="Zope.Public" />
-    <security:protect 
-              interface="Zope.ComponentArchitecture.IServiceManagerContainer.IWriteServiceManagerContainer" 
-              permission_id="Zope.ManageServices" />
-    <security:protect
-              interface="Zope.App.OFS.Container.IContainer.IReadContainer"
-              permission_id="Zope.View" />
-    <security:protect
-              interface="Zope.App.OFS.Container.IContainer.IWriteContainer"
-              permission_id="Zope.ManageContent" />
-  </security:protectClass>
+  <content class=".Folder.">
+    <zmi:factory
+        id="Folder"
+        permission="Zope.ManageContent"
+        title="Son of Folder"
+        description="Minimal folder" />
+    <security:require
+        permission="Zope.View" />
+    <security:allow
+        interface="Zope.ComponentArchitecture.IServiceManagerContainer.IReadServiceManagerContainer" 
+        />
+    <security:require
+        permission="Zope.ManageServices"
+        interface="Zope.ComponentArchitecture.IServiceManagerContainer.IWriteServiceManagerContainer" 
+        />
+    <security:require
+        permission="Zope.View"
+        interface="Zope.App.OFS.Container.IContainer.IReadContainer" />
+    <security:require
+        permission="Zope.ManageContent"
+        interface="Zope.App.OFS.Container.IContainer.IWriteContainer" />
+  </content>
 
   <!-- XXX Do we really need RootFolder? -->
-  <security:protectClass class=".RootFolder." like_unto=".Folder." /> 
+  <content class=".RootFolder.">
+    <security:mimic class=".Folder." />
+  </content>
 
   <zmi:tabs for=".Folder.IFolder.">
-    <zmi:tab label="Contents" action="contents;view"/>
+    <zmi:tab label="Contents" action="./view::index.html"/>
     <zmi:tab label="Role Permissions" 
-             action="RolePermissionsManagement;view"/>
+             action="./view::AllRolePermissions.html"/>
   </zmi:tabs>
 
 
   <!-- Loaded Folder Directives -->
-
-  <zmi:factoryFromClass name="LoadedFolder"
-                        class=".LoadedFolder."
-                        permission_id="Zope.ManageContent"
-                        title="Loaded Folder"
-                        description="A Folder having all the goodies." />
-
-  <security:protectClass class=".LoadedFolder."
-                         permission_id="Zope.View">
-    <security:protect 
-              interface="Zope.ComponentArchitecture.IServiceManagerContainer.IReadServiceManagerContainer" 
-              permission_id="Zope.Public" />
-    <security:protect 
-              interface="Zope.ComponentArchitecture.IServiceManagerContainer.IWriteServiceManagerContainer" 
-              permission_id="Zope.ManageServices" />
-    <security:protect
-              interface="Zope.App.OFS.Container.IContainer.IReadContainer"
-              permission_id="Zope.View" />
-    <security:protect
-              interface="Zope.App.OFS.Container.IContainer.IWriteContainer"
-              permission_id="Zope.ManageContent" />
-    <security:protect
-              interface="Zope.App.OFS.Container.IOrderedContainer.IReadOrderedContainer"
-              permission_id="Zope.View" />
-    <security:protect
-              interface="Zope.App.OFS.Container.IOrderedContainer.IWriteOrderedContainer"
-              permission_id="Zope.ManageContent" />
-    <security:protect
-              interface="Zope.App.OFS.Container.IContainerLimit.IReadContainerLimit"
-              permission_id="Zope.View" />
-    <security:protect
-              interface="Zope.App.OFS.Container.IContainerLimit.IWriteContainerLimit"
-              permission_id="Zope.ManageContent" />
-  </security:protectClass>
-
-
+  <content class=".LoadedFolder.">
+    <zmi:factory
+        id="LoadedFolder"
+        permission="Zope.ManageContent"
+        title="Loaded Folder"
+        description="A Folder having all the goodies." />
+
+    <security:require
+        permission="Zope.View" />
+    <security:allow
+        interface="Zope.ComponentArchitecture.IServiceManagerContainer.IReadServiceManagerContainer" 
+        />
+    <security:require
+        permission="Zope.ManageServices"
+        interface="Zope.ComponentArchitecture.IServiceManagerContainer.IWriteServiceManagerContainer" 
+        />
+    <security:require
+        permission="Zope.View"
+        interface="Zope.App.OFS.Container.IContainer.IReadContainer"
+        />
+    <security:require
+        permission="Zope.ManageContent"
+        interface="Zope.App.OFS.Container.IContainer.IWriteContainer"
+        />
+    <security:require
+        permission="Zope.View"
+        interface="Zope.App.OFS.Container.IOrderedContainer.IReadOrderedContainer"
+         />
+    <security:require
+        permission="Zope.ManageContent"
+        interface="Zope.App.OFS.Container.IOrderedContainer.IWriteOrderedContainer"
+        />
+    <security:require
+        permission="Zope.View"
+        interface="Zope.App.OFS.Container.IContainerLimit.IReadContainerLimit"
+        />
+    <security:require
+        permission="Zope.ManageContent"
+        interface="Zope.App.OFS.Container.IContainerLimit.IWriteContainerLimit"
+        />
+  </content>
+  
   <adapter
       factory="Zope.App.OFS.Annotation.AttributeAnnotations."
       provides="Zope.App.OFS.Annotation.IAnnotations."
       for=".Folder.IFolder." />
 
-
   <zmi:tabs for="Zope.App.OFS.Container.IContainerLimit.">
-    <zmi:tab label="Limit" action="limit;view"/>
+    <zmi:tab label="Limit" action="./view::FolderLimitEditForm.html"/>
   </zmi:tabs>
 
   <zmi:tabs for=".LoadedFolder.ILoadedFolder.">
-    <zmi:tab label="Contents" action="contents;view"/>
+    <zmi:tab label="Contents" action="./view::index.html"/>
     <zmi:tab label="Role Permissions" 
-             action="RolePermissionsManagement;view"/>
+             action="./view::AllRolePermissions.html"/>
   </zmi:tabs>