[Zope-Checkins] SVN: Zope/trunk/ Removed `AccessRule` and `SiteRoot` from `Products.SiteAccess`.

Hanno Schlichting hannosch at hannosch.eu
Sun Jul 3 09:43:06 EDT 2011


Log message for revision 122077:
  Removed `AccessRule` and `SiteRoot` from `Products.SiteAccess`.
  

Changed:
  U   Zope/trunk/doc/CHANGES.rst
  U   Zope/trunk/src/OFS/deprecated.zcml
  U   Zope/trunk/src/Products/Five/component/__init__.py
  D   Zope/trunk/src/Products/SiteAccess/AccessRule.py
  D   Zope/trunk/src/Products/SiteAccess/CHANGES.txt
  D   Zope/trunk/src/Products/SiteAccess/COPYRIGHT.txt
  D   Zope/trunk/src/Products/SiteAccess/Extensions/
  D   Zope/trunk/src/Products/SiteAccess/README.txt
  D   Zope/trunk/src/Products/SiteAccess/SiteRoot.py
  U   Zope/trunk/src/Products/SiteAccess/__init__.py
  D   Zope/trunk/src/Products/SiteAccess/doc/
  U   Zope/trunk/src/Products/SiteAccess/tests/__init__.py
  D   Zope/trunk/src/Products/SiteAccess/tests/testAccessRule.py
  D   Zope/trunk/src/Products/SiteAccess/tests/testSiteRoot.py
  D   Zope/trunk/src/Products/SiteAccess/version.txt
  D   Zope/trunk/src/Products/SiteAccess/www/AccessRuleAdd.dtml
  D   Zope/trunk/src/Products/SiteAccess/www/SiteRootAdd.dtml
  D   Zope/trunk/src/Products/SiteAccess/www/SiteRootEdit.dtml
  U   Zope/trunk/src/Zope2/Startup/handlers.py
  U   Zope/trunk/src/Zope2/Startup/zopeschema.xml

-=-
Modified: Zope/trunk/doc/CHANGES.rst
===================================================================
--- Zope/trunk/doc/CHANGES.rst	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/doc/CHANGES.rst	2011-07-03 13:43:05 UTC (rev 122077)
@@ -41,6 +41,8 @@
 Restructuring
 +++++++++++++
 
+- Removed `AccessRule` and `SiteRoot` from `Products.SiteAccess`.
+
 - Removed `Products.ZReST` and the `reStructuredText` wrapper, you can use
   `docutils` directly to gain `reST` support.
 

Modified: Zope/trunk/src/OFS/deprecated.zcml
===================================================================
--- Zope/trunk/src/OFS/deprecated.zcml	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/OFS/deprecated.zcml	2011-07-03 13:43:05 UTC (rev 122077)
@@ -14,8 +14,6 @@
 
   <five:deprecatedManageAddDelete
       class="Products.SiteAccess.VirtualHostMonster.VirtualHostMonster"/>
-  <five:deprecatedManageAddDelete
-      class="Products.SiteAccess.SiteRoot.Traverser"/>
 
   <five:deprecatedManageAddDelete
       class="Products.SiteErrorLog.SiteErrorLog.SiteErrorLog"/>

Modified: Zope/trunk/src/Products/Five/component/__init__.py
===================================================================
--- Zope/trunk/src/Products/Five/component/__init__.py	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/Five/component/__init__.py	2011-07-03 13:43:05 UTC (rev 122077)
@@ -23,7 +23,7 @@
 
 import ExtensionClass
 from Acquisition import aq_base, aq_inner, aq_parent
-from Products.SiteAccess.AccessRule import AccessRule
+from ZPublisher.BeforeTraverse import NameCaller
 from ZPublisher.BeforeTraverse import registerBeforeTraverse
 from ZPublisher.BeforeTraverse import unregisterBeforeTraverse
 
@@ -64,7 +64,7 @@
     obj = aq_base(obj)
     if not IPossibleSite.providedBy(obj):
         raise TypeError, 'Must provide IPossibleSite'
-    hook = AccessRule(HOOK_NAME)
+    hook = NameCaller(HOOK_NAME)
     registerBeforeTraverse(obj, hook, HOOK_NAME, 1)
 
     if not hasattr(obj, HOOK_NAME):

Deleted: Zope/trunk/src/Products/SiteAccess/AccessRule.py
===================================================================
--- Zope/trunk/src/Products/SiteAccess/AccessRule.py	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/AccessRule.py	2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,83 +0,0 @@
-"""AccessRule module
-
-Provide a simple method to set up Access Rules
-"""
-from cgi import escape
-import os
-
-from App.Dialogs import MessageDialog
-from App.special_dtml import DTMLFile
-from ZPublisher.BeforeTraverse import NameCaller
-from ZPublisher.BeforeTraverse import queryBeforeTraverse
-from ZPublisher.BeforeTraverse import registerBeforeTraverse
-from ZPublisher.BeforeTraverse import unregisterBeforeTraverse
-
-SUPPRESS_ACCESSRULE = os.environ.has_key('SUPPRESS_ACCESSRULE')
-
-class AccessRule(NameCaller):
-    meta_type = 'Set Access Rule'
-
-    def __call__(self, container, request):
-        if SUPPRESS_ACCESSRULE:
-            return
-        NameCaller.__call__(self, container, request)
-
-
-def manage_addAccessRule(self, method_id=None, REQUEST=None, **ignored):
-    """Point a __before_traverse__ entry at the specified method"""
-    # We want the original object, not stuff in between, and no acquisition
-    self = self.this()
-    self = getattr(self, 'aq_base', self)
-
-    if method_id is None or (REQUEST and REQUEST.form.has_key('none')):
-        rules = unregisterBeforeTraverse(self, 'AccessRule')
-        if rules:
-            try:
-                del getattr(self, rules[0].name).icon
-            except:
-                pass
-        if REQUEST:
-            return MessageDialog(title='No Access Rule',
-              message='This object now has no Access Rule',
-              action='%s/manage_main' % REQUEST['URL1'])
-    elif method_id and hasattr(self, method_id):
-        rules = unregisterBeforeTraverse(self, 'AccessRule')
-        if rules:
-            try:
-                del getattr(self, rules[0].name).icon
-            except:
-                pass
-        hook = AccessRule(method_id)
-        registerBeforeTraverse(self, hook, 'AccessRule', 1)
-        try:
-            getattr(self, method_id).icon = 'accessrule.gif'
-        except:
-            pass
-        if REQUEST:
-            return MessageDialog(title='Access Rule Set',
-              message='"%s" is now the Access Rule for this object'
-                      % escape(method_id),
-              action='%s/manage_main' % REQUEST['URL1'])
-    else:
-        if REQUEST:
-            return MessageDialog(title='Invalid Method Id',
-              message='"%s" is not the Id of a method of this object'
-                      % escape(method_id),
-              action='%s/manage_main' % REQUEST['URL1'])
-
-def getAccessRule(self, REQUEST=None):
-    "Return the name of the current AccessRule, if any"
-    self = self.this()
-    rules = queryBeforeTraverse(self, 'AccessRule')
-    if rules:
-        try:
-            return rules[0][1].name
-        except:
-            return 'Invalid BeforeTraverse data: ' + `rules`
-    return ''
-
-constructors = (
-  ('manage_addAccessRuleForm', DTMLFile('www/AccessRuleAdd', globals())),
-  ('manage_addAccessRule', manage_addAccessRule),
-  ('manage_getAccessRule', getAccessRule),
-)

Deleted: Zope/trunk/src/Products/SiteAccess/CHANGES.txt
===================================================================
--- Zope/trunk/src/Products/SiteAccess/CHANGES.txt	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/CHANGES.txt	2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,104 +0,0 @@
-2000-10-03  Evan Simpson <evan at digicool.com>
-
-        * Final release
-        * Added VirtualHostMonster, to make common virtual hosting
-        cases easy.
-
-2000-07-20  Evan Simpson <evan at digicool.com>
-
-	* Beta 3
-	* Fixed bug with SiteRoot deletion
-	* Added ability to turn off SiteRoots and AccessRules on a case-by-case
-	basis, by adding _SUPPRESS_SITEROOT or _SUPPRESS_ACCESSRULE to a
-        URL just after the container name.
-	* Added crude beginnings of Help
-
-2000-06-19  Evan Simpson <evan at digicool.com>
-
-	* Beta 2
-        * Removed a chunk of code left from 1.0 which messed up SiteRoots
-
-2000-06-09  Evan Simpson <evan at digicool.com>
-
-	* Version 2.0.0
-        * Changed to use the new virtual hosting support in Zope 2.2
-        * INCOMPATIBLE with Zope versions prior to 2.2b1
-        * The tarball no longer includes 'lib/python/Products' in file
-        paths.  It must be unpacked in the Products directory, for
-        better compatibility with INSTANCE_HOME installations.
-
-2000-03-21  Evan Simpson <evan at 4-am.com>
-
-	* Version 1.0.1
-	* Fix for FTP incompatibility
-	* Match changes in Zope 2.1.5/6
-
-2000-01-18  Evan Simpson <evan at 4-am.com>
-
-	* Version 1.0.0
-	* Decided that it's been long enough to call it stable
-	* Eliminated stale _v_absolute_url attributes (thanks
-	to Wade Simmons)
-	* Killed peculiar and obscure interaction with ZCatalog
-
-1999-12-15  Evan Simpson <evan at 4-am.com>
-
-	* Version 0.2.0
-	* Got absolute_url to do the right thing under both Zope 2.0 and 2.1.
-	Note that this will change 2.0's behavior to match 2.1
-
-1999-11-19  Evan Simpson <evan at 4-am.com>
-
-        * Added COPYRIGHT.txt, making Wide Open Source licence (BSD-style)
-        explicit. (Mike Goldman provided the text, I provided the silly name).
-
-1999-11-18  Evan Simpson <evan at 4-am.com>
-
-	* Version 0.1.4
-	* BASE tags generated for default pages should play nicely with
-	setURL(base=...)
-	* Setting the base but not the path works now.
-	* Added ./doc/ directory with copies of documentation from Zope.org
-	* SiteRoot* variables set in the environment are now seen.
-
-1999-10-29  Evan Simpson <evan at 4-am.com>
-
-	* Version 0.1.3
-	* Using DTML Docs/Methods as Access Rules should work better,
-	and allow normal acquisition.  You won't have permissions for
-	anything unless you give the rule a Proxy Role, though.
-	* __no_before_traverse__ at the start of a URL path now persists
-	in generated URLs, making debugging easier.
-
-1999-10-27  Evan Simpson <evan at 4-am.com>
-
-	* Version 0.1.2
-	* Fixed absolute_url() of objects acquired from above the point
-	at which setURL was called (usually by a SiteRoot). (thanks again
-	to Bruce Perens and technocrat.net)
-	* Added Base and Path properties to SiteRoot, with Path defaulting
-	to '/', the most commonly used value. If these are blank, it
-	will search for SiteRootBASE and SiteRootPATH.
-	* REQUEST.setURL now accepts either a string or sequence of
-	strings for its path argument.
-
-1999-10-24  Evan Simpson <evan at 4-am.com>
-
-	* Version 0.1.1
-	* Made Access Rules work on unadorned root path (thanks to
-        Bruce Perens)
-	* Reorganized REQUEST.traverse to better handle changes
-	to the path within the loop.
-	* Experimental change: Overrides icon of methods designated
-	as Access Rules to provide visual feedback.  This is a 
-	fragile hack, but relatively harmless if it fails. (suggested
-        by Evan Gibson)
-	* Fixed Acquisition of SiteRoot* values (thanks to Oleg Broytmann)
-	* Rationalized file permissions (thanks to Joshua Brauer)
-
-1999-10-19  Evan Simpson <evan at 4-am.com>
-
-        * Version 0.1.0
-	* First (apparently) working version
-	* Implemented REQUEST.setURL(base, path) and made SiteRoot use it.
-	* Put a link to existing AccessRule on "Add AccessRule" page.

Deleted: Zope/trunk/src/Products/SiteAccess/COPYRIGHT.txt
===================================================================
--- Zope/trunk/src/Products/SiteAccess/COPYRIGHT.txt	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/COPYRIGHT.txt	2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,28 +0,0 @@
-This software is released under the following Wide-Open Source licence:
-
-Copyright (c) 1999 Zope Foundation and Contributors
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the Author nor the names of other contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.

Deleted: Zope/trunk/src/Products/SiteAccess/README.txt
===================================================================
--- Zope/trunk/src/Products/SiteAccess/README.txt	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/README.txt	2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,11 +0,0 @@
-SiteAccess
-
-
-  The SiteAccess product provides support for pluggable pre-
-  traversal methods, and supplies objects and methods which
-  can be used to rewrite access URLs at the start of resolution
-  and as folders are traversed.
-
-  The main intent is to provide for multi-site hosting in Zope.
-
-  More information is available at http://zope.org/Members/4am/SiteAccess

Deleted: Zope/trunk/src/Products/SiteAccess/SiteRoot.py
===================================================================
--- Zope/trunk/src/Products/SiteAccess/SiteRoot.py	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/SiteRoot.py	2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,138 +0,0 @@
-"""SiteRoot module
-
-Defines the Traverser base class and SiteRoot class
-"""
-from cgi import escape
-import os
-
-from Acquisition import Implicit
-from App.Dialogs import MessageDialog
-from App.special_dtml import DTMLFile
-from OFS.SimpleItem import Item
-from Persistence import Persistent
-from ZPublisher.BeforeTraverse import NameCaller
-from ZPublisher.BeforeTraverse import registerBeforeTraverse
-from ZPublisher.BeforeTraverse import unregisterBeforeTraverse
-
-SUPPRESS_SITEROOT = os.environ.has_key('SUPPRESS_SITEROOT')
-
-class Traverser(Persistent, Item):
-    """ Class for overriding container's __before_traverse__
-
-    Containers are expected to have at most one instance of any particular
-    subclass, with Id equal to the meta_type of the subclass.
-    """
-    meta_type = 'Traverser'
-    priority = 100
-
-    __ac_permissions__=()
-
-    def addToContainer(self, container):
-        container._setObject(self.id, self)
-        self.manage_afterAdd(self, container)
-
-    def manage_addToContainer(self, container, nextURL=''):
-        if nextURL:
-            if hasattr(getattr(container, 'aq_base', container), self.id):
-                return MessageDialog(title='Item Exists',
-                  message='This object already contains a %s' % self.meta_type,
-                  action=nextURL)
-        self.addToContainer(container)
-        if nextURL:
-            return MessageDialog(title='Item Added',
-              message='This object now has a %s' % escape(self.meta_type),
-              action=nextURL)
-
-    def manage_beforeDelete(self, item, container):
-        if item is self:
-            unregisterBeforeTraverse(container, self.meta_type)
-
-    def manage_afterAdd(self, item, container):
-        if item is self:
-            id = self.id
-            if callable(id): id = id()
-
-            # We want the original object, not stuff in between
-            container = container.this()
-            hook = NameCaller(id)
-            registerBeforeTraverse(container, hook,
-                                                  self.meta_type,
-                                                  self.priority)
-    def _setId(self, id):
-        if id != self.id:
-            raise ValueError('Cannot change the id of a %s'
-                                % escape(self.meta_type))
-
-class SiteRoot(Traverser, Implicit):
-    """ SiteAccess.SiteRoot object
-
-    A SiteRoot causes traversal of its container to replace the part
-    of the Request path traversed so far with the request's SiteRootURL.
-    """
-    id = meta_type = 'SiteRoot'
-    title = ''
-    priority = 50
-
-    manage_options=({'label':'Edit',
-                     'action':'manage_main',
-                     'help': ('SiteAccess', 'SiteRoot_Edit.stx'),
-                    },)
-
-    manage = manage_main = DTMLFile('www/SiteRootEdit', globals())
-    manage_main._setName('manage_main')
-
-    def __init__(self, title, base, path):
-        self.title = title.strip()
-        self.base = base = base.strip()
-        self.path = path = path.strip()
-
-    def manage_edit(self, title, base, path, REQUEST=None):
-        """ Set the title, base, and path.
-        """
-        self.__init__(title, base, path)
-        if REQUEST:
-            return MessageDialog(title='SiteRoot changed.',
-              message='SiteRoot changed.',
-              action='%s/manage_main' % REQUEST['URL1'])
-
-    def __call__(self, client, request, response=None):
-        """ Traversing.
-        """
-        rq = request
-        if SUPPRESS_SITEROOT:
-            return
-        base = (self.base or
-                rq.get('SiteRootBASE') or
-                rq.environ.get('SiteRootBASE'))
-        path = (self.path or
-                rq.get('SiteRootPATH') or
-                rq.environ.get('SiteRootPATH'))
-        if base is not None:
-            rq['ACTUAL_URL'] = rq['ACTUAL_URL'].replace(rq['SERVER_URL'], base)
-            rq['SERVER_URL'] = base
-            rq._resetURLS()
-        if path is not None:
-            old = rq['URL']
-            rq.setVirtualRoot(path)
-            rq['ACTUAL_URL'] = rq['ACTUAL_URL'].replace(old, rq['URL'])
-
-    def get_size(self):
-        """ Make FTP happy
-        """
-        return 0
-
-def manage_addSiteRoot(self, title='', base='', path='', REQUEST=None,
-                       **ignored):
-    """ Add a SiteRoot to a container.
-    """
-    sr = SiteRoot(title, base, path)
-    if REQUEST:
-        return sr.manage_addToContainer(self.this(),
-                                        '%s/manage_main' % REQUEST['URL1'])
-    else:
-        sr.manage_addToContainer(self.this())
-
-constructors = (
-  ('manage_addSiteRootForm', DTMLFile('www/SiteRootAdd', globals())),
-  ('manage_addSiteRoot', manage_addSiteRoot),
-)

Modified: Zope/trunk/src/Products/SiteAccess/__init__.py
===================================================================
--- Zope/trunk/src/Products/SiteAccess/__init__.py	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/__init__.py	2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,17 +1,8 @@
-"""SiteAccess product
-"""
+
+
 def initialize(context):
-    import SiteRoot
-    import AccessRule
     import VirtualHostMonster
 
-    context.registerClass(instance_class=SiteRoot.SiteRoot,
-      permission='Add Site Roots',
-      constructors=SiteRoot.constructors, legacy=SiteRoot.constructors)
-
-    context.registerClass(instance_class=AccessRule.AccessRule,
-      permission='Manage Access Rules', constructors=AccessRule.constructors)
-
     context.registerClass(instance_class=VirtualHostMonster.VirtualHostMonster,
       permission='Add Virtual Host Monsters',
       constructors=VirtualHostMonster.constructors)

Modified: Zope/trunk/src/Products/SiteAccess/tests/__init__.py
===================================================================
--- Zope/trunk/src/Products/SiteAccess/tests/__init__.py	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/tests/__init__.py	2011-07-03 13:43:05 UTC (rev 122077)
@@ -1 +1 @@
-# SiteAccess test package
+#
\ No newline at end of file

Deleted: Zope/trunk/src/Products/SiteAccess/tests/testAccessRule.py
===================================================================
--- Zope/trunk/src/Products/SiteAccess/tests/testAccessRule.py	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/tests/testAccessRule.py	2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,225 +0,0 @@
-import unittest
-
-
-class AccessRuleTests(unittest.TestCase):
-
-    _old_SAR = None
-
-    def setUp(self):
-        from Testing.ZopeTestCase import ZopeLite
-        ZopeLite.startup()
-
-    def tearDown(self):
-        if self._old_SAR is not None:
-            self._set_SUPPRESS_ACCESSRULE(self._old_SAR)
-
-    def _set_SUPPRESS_ACCESSRULE(self, value):
-        from Products.SiteAccess import AccessRule as AR
-        (self._old_SAR,
-         AR.SUPPRESS_ACCESSRULE) = (AR.SUPPRESS_ACCESSRULE, value)
-
-    def _getTargetClass(self):
-        from Products.SiteAccess.AccessRule import AccessRule
-        return AccessRule
-
-    def _makeOne(self, method_id='testing'):
-        return self._getTargetClass()(method_id)
-
-    def test___call___w_SUPPRESS_ACCESSRULE_set(self):
-        self._set_SUPPRESS_ACCESSRULE(1)
-        _called = []
-        def _func(*args):
-            _called.append(args)
-        rule = self._makeOne()
-        request = DummyRequest(TraversalRequestNameStack=[])
-        container = DummyContainer(testing=_func)
-        rule(container, request)
-        self.assertFalse(_called)
-
-    def test___call___w_SUPPRESS_ACCESSRULE_in_URL(self):
-        # This behavior changed in landing lp:142878.
-        _called = []
-        def _func(*args):
-            _called.append(args)
-        rule = self._makeOne()
-        request = DummyRequest(TraversalRequestNameStack=
-                                    ['_SUPPRESS_ACCESSRULE'])
-        request.steps = []
-        container = DummyContainer(testing=_func)
-        rule(container, request)
-        self.assertTrue(_called)
-        self.assertEqual(request._virtual_root, None)
-
-    def test___call___wo_SUPPRESS_ACCESSRULE(self):
-        _called = []
-        def _func(*args):
-            _called.append(args)
-        rule = self._makeOne()
-        request = DummyRequest(TraversalRequestNameStack=[])
-        request.steps = []
-        container = DummyContainer(testing=_func)
-        rule(container, request)
-        self.assertTrue(_called)
-        self.assertEqual(request._virtual_root, None)
-
-
-class Test_manage_addAccessRule(unittest.TestCase):
-
-    def _callFUT(self, container, method_id, REQUEST):
-        from Products.SiteAccess.AccessRule import manage_addAccessRule
-        return manage_addAccessRule(container, method_id, REQUEST)
-
-    def test_no_method_id_no_existing_rules_no_request(self):
-        container = DummyContainer()
-        result = self._callFUT(container, None, None)
-        self.assertTrue(result is None)
-        self.assertFalse(container.__dict__)
-
-    def test_no_method_id_no_existing_rules_w_request(self):
-        container = DummyContainer()
-        result = self._callFUT(container, None, {'URL1': 'http://example.com/'})
-        self.assertTrue(isinstance(result, str))
-        self.assertTrue('<TITLE>No Access Rule</TITLE>' in result)
-        self.assertFalse(container.__dict__)
-
-    def test_no_method_id_w_existing_rules_no_request(self):
-        from ZPublisher.BeforeTraverse import registerBeforeTraverse
-        container = DummyContainer()
-        old_rule = container.old_rule = DummyObject(name='old_rule',
-                                                    icon='rule_icon.jpg')
-        registerBeforeTraverse(container, old_rule, 'AccessRule')
-        result = self._callFUT(container, None, None)
-        self.assertTrue(result is None)
-        self.assertFalse(container.__before_traverse__)
-        self.assertFalse('icon' in old_rule.__dict__)
-
-    def test_w_method_id_w_existing_rules_w_request_none(self):
-        from ZPublisher.BeforeTraverse import registerBeforeTraverse
-        container = DummyContainer()
-        old_rule = container.old_rule = DummyObject(name='old_rule',
-                                                    icon='rule_icon.jpg')
-        registerBeforeTraverse(container, old_rule, 'AccessRule')
-        request = DummyRequest(URL1 = 'http://example.com/')
-        request.form = {'none': '1'}
-        result = self._callFUT(container, None, request)
-        self.assertTrue(isinstance(result, str))
-        self.assertTrue('<TITLE>No Access Rule</TITLE>' in result)
-        self.assertFalse(container.__before_traverse__)
-        self.assertFalse('icon' in old_rule.__dict__)
-
-    def test_w_invalid_method_id_w_existing_rules_no_request(self):
-        from ZPublisher.BeforeTraverse import registerBeforeTraverse
-        container = DummyContainer()
-        old_rule = container.old_rule = DummyObject(name='old_rule',
-                                                    icon='rule_icon.jpg')
-        registerBeforeTraverse(container, old_rule, 'AccessRule')
-        result = self._callFUT(container, 'nonesuch', None)
-        self.assertTrue(result is None)
-        self.assertTrue((99, 'AccessRule') in container.__before_traverse__)
-        rule = container.__before_traverse__[(99, 'AccessRule')]
-        self.assertEqual(rule.name, 'old_rule')
-        self.assertEqual(old_rule.icon, 'rule_icon.jpg')
-
-    def test_w_invalid_method_id_w_existing_rules_w_request(self):
-        from ZPublisher.BeforeTraverse import registerBeforeTraverse
-        container = DummyContainer()
-        old_rule = container.old_rule = DummyObject(name='old_rule',
-                                                    icon='rule_icon.jpg')
-        registerBeforeTraverse(container, old_rule, 'AccessRule')
-        request = DummyRequest(URL1 = 'http://example.com/')
-        request.form = {}
-        result = self._callFUT(container, 'nonesuch', request)
-        self.assertTrue(isinstance(result, str))
-        self.assertTrue('<TITLE>Invalid Method Id</TITLE>' in result)
-        self.assertTrue((99, 'AccessRule') in container.__before_traverse__)
-        rule = container.__before_traverse__[(99, 'AccessRule')]
-        self.assertEqual(rule.name, 'old_rule')
-        self.assertEqual(old_rule.icon, 'rule_icon.jpg')
-
-    def test_w_valid_method_id_w_existing_rules_no_request(self):
-        from ZPublisher.BeforeTraverse import registerBeforeTraverse
-        container = DummyContainer()
-        old_rule = container.old_rule = DummyObject(name='old_rule',
-                                                    icon='rule_icon.jpg')
-        new_rule = container.new_rule = DummyObject(name='new_rule')
-        registerBeforeTraverse(container, old_rule, 'AccessRule')
-        result = self._callFUT(container, 'new_rule', None)
-        self.assertTrue(result is None)
-        self.assertFalse((99, 'AccessRule') in container.__before_traverse__)
-        self.assertTrue((1, 'AccessRule') in container.__before_traverse__)
-        rule = container.__before_traverse__[(1, 'AccessRule')]
-        self.assertEqual(rule.name, 'new_rule')
-        self.assertFalse('icon' in old_rule.__dict__)
-        self.assertEqual(new_rule.icon, 'accessrule.gif')
-
-    def test_w_valid_method_id_w_existing_rules_w_request(self):
-        from ZPublisher.BeforeTraverse import registerBeforeTraverse
-        container = DummyContainer()
-        old_rule = container.old_rule = DummyObject(name='old_rule',
-                                                    icon='rule_icon.jpg')
-        new_rule = container.new_rule = DummyObject(name='new_rule')
-        registerBeforeTraverse(container, old_rule, 'AccessRule')
-        request = DummyRequest(URL1 = 'http://example.com/')
-        request.form = {}
-        result = self._callFUT(container, 'new_rule', request)
-        self.assertTrue(isinstance(result, str))
-        self.assertTrue('<TITLE>Access Rule Set</TITLE>' in result)
-        self.assertFalse((99, 'AccessRule') in container.__before_traverse__)
-        self.assertTrue((1, 'AccessRule') in container.__before_traverse__)
-        rule = container.__before_traverse__[(1, 'AccessRule')]
-        self.assertEqual(rule.name, 'new_rule')
-        self.assertFalse('icon' in old_rule.__dict__)
-        self.assertEqual(new_rule.icon, 'accessrule.gif')
-
-
-class Test_getAccessRule(unittest.TestCase):
-
-    def _callFUT(self, container, REQUEST=None):
-        from Products.SiteAccess.AccessRule import getAccessRule
-        return getAccessRule(container, REQUEST)
-
-    def test_no_rules(self):
-        container = DummyContainer()
-        self.assertEqual(self._callFUT(container), '')
-
-    def test_w_rule_invalid(self):
-        from ZPublisher.BeforeTraverse import registerBeforeTraverse
-        container = DummyContainer()
-        registerBeforeTraverse(container, DummyObject(), 'AccessRule')
-        self.assertTrue(self._callFUT(container).startswith(
-                                        'Invalid BeforeTraverse data: '))
-
-    def test_w_rule_valid(self):
-        from ZPublisher.BeforeTraverse import registerBeforeTraverse
-        container = DummyContainer()
-        registerBeforeTraverse(container, DummyObject(name='foo'), 'AccessRule')
-        self.assertEqual(self._callFUT(container), 'foo')
-
-
-class DummyRequest(dict):
-    _virtual_root = None
-    def setVirtualRoot(self, root):
-        self._virtual_root = root
-
-
-class DummyObject(object):
-
-    def __init__(self, **kw):
-        self.__dict__.update(kw)
-
-
-class DummyContainer(object):
-
-    def __init__(self, **kw):
-        self.__dict__.update(kw)
-
-    def this(self):
-        return self
-
-def test_suite():
-    return unittest.TestSuite((
-        unittest.makeSuite(AccessRuleTests),
-        unittest.makeSuite(Test_manage_addAccessRule),
-        unittest.makeSuite(Test_getAccessRule),
-    ))
-

Deleted: Zope/trunk/src/Products/SiteAccess/tests/testSiteRoot.py
===================================================================
--- Zope/trunk/src/Products/SiteAccess/tests/testSiteRoot.py	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/tests/testSiteRoot.py	2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,310 +0,0 @@
-"""SiteRoot regression tests.
-
-These tests verify that the request URL headers, in particular ACTUAL_URL, are
-set correctly when a SiteRoot is used.
-
-See http://www.zope.org/Collectors/Zope/2077
-"""
-import unittest
-
-
-class TraverserTests(unittest.TestCase):
-
-    def _getTargetClass(self):
-        from Products.SiteAccess.SiteRoot import Traverser
-        return Traverser
-
-    def _makeOne(self):
-        traverser = self._getTargetClass()()
-        traverser.id = 'testing'
-        return traverser
-
-    def test_addToContainer(self):
-        traverser = self._makeOne()
-        container = DummyContainer()
-        traverser.addToContainer(container)
-        self.assertTrue(container.testing is traverser)
-        hook = container.__before_traverse__[(100, 'Traverser')]
-        self.assertEqual(hook.name, 'testing')
-
-    def test_manage_addToContainer_no_nextUrl(self):
-        traverser = self._makeOne()
-        container = DummyContainer()
-        result = traverser.manage_addToContainer(container)
-        self.assertTrue(result is None)
-        self.assertTrue(container.testing is traverser)
-        hook = container.__before_traverse__[(100, 'Traverser')]
-        self.assertEqual(hook.name, 'testing')
-
-    def test_manage_addToContainer_w_nextUrl_w_name_collision(self):
-        NEXTURL='http://example.com/manage_main'
-        traverser = self._makeOne()
-        container = DummyContainer()
-        container.testing = object()
-        result = traverser.manage_addToContainer(container, nextURL=NEXTURL)
-        self.assertTrue('<TITLE>Item Exists</TITLE>' in result)
-        self.assertFalse(container.testing is traverser)
-
-    def test_manage_addToContainer_w_nextUrl_wo_name_collision(self):
-        NEXTURL='http://example.com/manage_main'
-        traverser = self._makeOne()
-        container = DummyContainer()
-        result = traverser.manage_addToContainer(container, nextURL=NEXTURL)
-        self.assertTrue('<TITLE>Item Added</TITLE>' in result)
-        self.assertTrue(container.testing is traverser)
-        hook = container.__before_traverse__[(100, 'Traverser')]
-        self.assertEqual(hook.name, 'testing')
-
-    def test_manage_beforeDelete_item_is_not_self(self):
-        from ZPublisher.BeforeTraverse import registerBeforeTraverse
-        traverser = self._makeOne()
-        container = DummyContainer()
-        other = container.other = DummyObject(name='other')
-        registerBeforeTraverse(container, other, 'Traverser', 100)
-        item = object()
-        traverser.manage_beforeDelete(item, container)
-        hook = container.__before_traverse__[(100, 'Traverser')]
-        self.assertEqual(hook.name, 'other')
-
-    def test_manage_beforeDelete_item_is_self(self):
-        from ZPublisher.BeforeTraverse import registerBeforeTraverse
-        traverser = self._makeOne()
-        container = DummyContainer()
-        other = container.other = DummyObject(name='other')
-        registerBeforeTraverse(container, other, 'Traverser', 100)
-        traverser.manage_beforeDelete(traverser, container)
-        self.assertFalse(container.__before_traverse__)
-
-    def test_manage_afterAdd_item_not_self(self):
-        traverser = self._makeOne()
-        container = DummyContainer()
-        item = object()
-        traverser.manage_afterAdd(item, container)
-        self.assertFalse('__before_traverse__' in container.__dict__)
-
-    def test_manage_afterAdd_item_is_self(self):
-        traverser = self._makeOne()
-        container = DummyContainer()
-        traverser.manage_afterAdd(traverser, container)
-        hook = container.__before_traverse__[(100, 'Traverser')]
-        self.assertEqual(hook.name, 'testing')
-
-    def test__setId_same(self):
-        traverser = self._makeOne()
-        traverser._setId('testing') # doesn't raise
-
-    def test__setId_different(self):
-        traverser = self._makeOne()
-        self.assertRaises(ValueError, traverser._setId, 'other')
-
-
-class SiteRootTests(unittest.TestCase):
-
-    _old_SSR = None
-
-    def setUp(self):
-        from Testing.ZopeTestCase import ZopeLite
-        ZopeLite.startup()
-
-    def tearDown(self):
-        if self._old_SSR is not None:
-            self._set_SUPPRESS_SITEROOT(self._old_SSR)
-
-    def _set_SUPPRESS_SITEROOT(self, value):
-        from Products.SiteAccess import SiteRoot as SR
-        (self._old_SSR,
-         SR.SUPPRESS_SITEROOT) = (SR.SUPPRESS_SITEROOT, value)
-
-    def _getTargetClass(self):
-        from Products.SiteAccess.SiteRoot import SiteRoot
-        return SiteRoot
-
-    def _makeOne(self, title='TITLE', base='', path=''):
-        return self._getTargetClass()(title, base, path)
-
-    def test___init___strips_base_and_path(self):
-        siteroot = self._makeOne(base=' ', path=' ')
-        self.assertEqual(siteroot.title, 'TITLE')
-        self.assertEqual(siteroot.base, '')
-        self.assertEqual(siteroot.path, '')
-
-    def test___init___w_base_and_path(self):
-        siteroot = self._makeOne(base='http://example.com', path='/path')
-        self.assertEqual(siteroot.title, 'TITLE')
-        self.assertEqual(siteroot.base, 'http://example.com')
-        self.assertEqual(siteroot.path, '/path')
-
-    def test_manage_edit_no_REQUEST(self):
-        siteroot = self._makeOne(title='Before',
-                                 base='http://before.example.com',
-                                 path='/before')
-        result = siteroot.manage_edit('After', 'http://after.example.com ',
-                                      '/after ')
-        self.assertTrue(result is None)
-        self.assertEqual(siteroot.title, 'After')
-        self.assertEqual(siteroot.base, 'http://after.example.com')
-        self.assertEqual(siteroot.path, '/after')
-
-    def test_manage_edit_w_REQUEST(self):
-        siteroot = self._makeOne(title='Before',
-                                 base='http://before.example.com',
-                                 path='/before')
-        result = siteroot.manage_edit('After', 'http://after.example.com ',
-                                      '/after ',
-                                      REQUEST = {'URL1':
-                                        'http://localhost:8080/manage_main'})
-        self.assertTrue('<TITLE>SiteRoot changed.</TITLE>' in result)
-        self.assertEqual(siteroot.title, 'After')
-        self.assertEqual(siteroot.base, 'http://after.example.com')
-        self.assertEqual(siteroot.path, '/after')
-
-    def test___call___w_SUPPRESS_SITEROOT_set(self):
-        self._set_SUPPRESS_SITEROOT(1)
-        siteroot = self._makeOne(base='http://example.com', path='/path')
-        request = {}
-        siteroot(None, request)
-        self.assertEqual(request, {})
-
-    def test___call___w_SUPPRESS_SITEROOT_in_URL(self):
-        # This behavior changed in landing lp:142878.
-        URL='http://localhost:8080/example/folder/'
-        siteroot = self._makeOne(base='http://example.com', path='/example')
-        request = DummyRequest(TraversalRequestNameStack=
-                                    ['_SUPPRESS_SITEROOT'],
-                               URL=URL,
-                               ACTUAL_URL=URL,
-                               SERVER_URL='http://localhost:8080',
-                              )
-        request.steps = []
-        request.environ = {}
-        siteroot(None, request)
-        self.assertEqual(request['URL'], URL)
-        self.assertEqual(request['SERVER_URL'], 'http://example.com')
-        self.assertEqual(request['ACTUAL_URL'], 
-                         'http://example.com/example/folder/')
-        self.assertEqual(request._virtual_root, '/example')
-        self.assertTrue(request._urls_reset)
-
-    def test___call___wo_SUPPRESS_SITEROOT_w_base_wo_path(self):
-        URL='http://localhost:8080/example/folder/'
-        siteroot = self._makeOne(base='http://example.com', path='')
-        request = DummyRequest(TraversalRequestNameStack=[],
-                               URL=URL,
-                               ACTUAL_URL=URL,
-                               SERVER_URL='http://localhost:8080',
-                              )
-        request.steps = []
-        request.environ = {}
-        siteroot(None, request)
-        self.assertEqual(request['URL'], URL)
-        self.assertEqual(request['SERVER_URL'], 'http://example.com')
-        self.assertEqual(request['ACTUAL_URL'],
-                         'http://example.com/example/folder/')
-        self.assertEqual(request._virtual_root, None)
-        self.assertTrue(request._urls_reset)
-
-    def test___call___wo_SUPPRESS_SITEROOT_wo_base_w_path(self):
-        URL='http://localhost:8080/example/folder/'
-        siteroot = self._makeOne(base='', path='/example')
-        request = DummyRequest(TraversalRequestNameStack=[],
-                               URL=URL,
-                               ACTUAL_URL=URL,
-                               SERVER_URL='http://localhost:8080',
-                              )
-        request.steps = []
-        request.environ = {}
-        siteroot(None, request)
-        self.assertEqual(request['URL'], URL)
-        self.assertEqual(request['SERVER_URL'], 'http://localhost:8080')
-        self.assertEqual(request['ACTUAL_URL'], URL)
-        self.assertEqual(request._virtual_root, '/example')
-        self.assertFalse(request._urls_reset)
-
-    def test___call___wo_SUPPRESS_SITEROOT_w_base_w_path(self):
-        URL='http://localhost:8080/example/folder/'
-        siteroot = self._makeOne(base='http://example.com', path='/example')
-        request = DummyRequest(TraversalRequestNameStack=[],
-                               URL=URL,
-                               ACTUAL_URL=URL,
-                               SERVER_URL='http://localhost:8080',
-                              )
-        request.steps = []
-        request.environ = {}
-        siteroot(None, request)
-        self.assertEqual(request['URL'], URL)
-        self.assertEqual(request['SERVER_URL'], 'http://example.com')
-        self.assertEqual(request['ACTUAL_URL'], 
-                         'http://example.com/example/folder/')
-        self.assertEqual(request._virtual_root, '/example')
-        self.assertTrue(request._urls_reset)
-
-    def test_get_size(self):
-        siteroot = self._makeOne()
-        self.assertEqual(siteroot.get_size(), 0)
-
-
-class DummyObject(object):
-
-    def __init__(self, **kw):
-        self.__dict__.update(kw)
-
-
-class DummyContainer(object):
-
-    def __init__(self, **kw):
-        self.__dict__.update(kw)
-
-    def _setObject(self, name, object):
-        setattr(self, name, object)
-
-    def this(self):
-        return self
-
-
-class DummyRequest(dict):
-
-    _virtual_root = None
-    _urls_reset = False
-
-    def setVirtualRoot(self, root):
-        self._virtual_root = root
-
-    def _resetURLS(self):
-        self._urls_reset = True
-
-
-class SiteRootRegressions(unittest.TestCase):
-
-    def setUp(self):
-        import transaction
-        from Testing.makerequest import makerequest
-        from Testing.ZopeTestCase.ZopeLite import app
-        from Products.SiteAccess.SiteRoot import manage_addSiteRoot
-        transaction.begin()
-        self.app = makerequest(app())
-        self.app.manage_addFolder('folder')
-        manage_addSiteRoot(self.app.folder, title='SiteRoot',
-            base='http://test_base', path='/test_path')
-        self.app.REQUEST.set('PARENTS', [self.app])
-        self.app.REQUEST.traverse('/folder')
-
-    def tearDown(self):
-        import transaction
-        transaction.abort()
-        self.app._p_jar.close()
-
-    def testRequest(self):
-        self.assertEqual(self.app.REQUEST['SERVER_URL'], 'http://test_base')
-        self.assertEqual(self.app.REQUEST['ACTUAL_URL'],
-                         'http://test_base/test_path')
-
-    def testAbsoluteUrl(self):
-        self.assertEqual(self.app.folder.absolute_url(),
-                         'http://test_base/test_path')
-
-def test_suite():
-    return unittest.TestSuite((
-        unittest.makeSuite(TraverserTests),
-        unittest.makeSuite(SiteRootTests),
-        unittest.makeSuite(SiteRootRegressions),
-    ))

Deleted: Zope/trunk/src/Products/SiteAccess/version.txt
===================================================================
--- Zope/trunk/src/Products/SiteAccess/version.txt	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/version.txt	2011-07-03 13:43:05 UTC (rev 122077)
@@ -1 +0,0 @@
-SiteAccess-2-0-0

Deleted: Zope/trunk/src/Products/SiteAccess/www/AccessRuleAdd.dtml
===================================================================
--- Zope/trunk/src/Products/SiteAccess/www/AccessRuleAdd.dtml	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/www/AccessRuleAdd.dtml	2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,59 +0,0 @@
-<dtml-var manage_page_header>
-
-<dtml-let form_title="'Set Access Rule'">
-  <dtml-var manage_form_title>
-</dtml-let>
-
-<p class="form-help">
-<strong>
-WARNING: Access Rules are powerful, and can temporarily disable
-Zope access! Don't use them unless you have read all about them and
-know how to recover from mistakes!
-</strong>
-</p>
-
-<p class="form-help">
-In the form below <em>rule id</em> is the id of an object in this 
-Zope Folder which will be called whenever the Folder is published.  
-It can implement rewrite rules, preload request variables, etc.
-</p>
-
-<dtml-if manage_getAccessRule>
-<p class="form-text">
-The current Access Rule is
-<a href="&dtml-absolute_url;/&dtml-manage_getAccessRule;/manage_workspace">
-"&dtml-manage_getAccessRule;"</a>.
-</p>
-<dtml-else>
-<p class="form-text">
-No Access Rule is currently set.
-</p>
-</dtml-if>
-
-<form action="manage_addAccessRule" method="post">
-<table cellspacing="0" cellpadding="2" border="0">
-  <tr>
-    <td align="left" valign="top">
-    <div class="form-label">
-    Rule Id
-    </div>
-    </td>
-    <td align="left" valign="top">
-    <input type="text" name="method_id" size="40" />
-    </td>
-  </tr>
-  <tr>
-    <td align="left" valign="top">
-    </td>
-    <td align="left" valign="top">
-    <div class="form-element">
-<input class="form-element" type="SUBMIT" name="submit" value=" Set Rule ">
-<input class="form-element" type="SUBMIT" name="none" value=" No Access Rule ">
-    </div>
-    </td>
-  </tr>
-</table>
-</form>
-
-<dtml-var manage_page_footer>
-

Deleted: Zope/trunk/src/Products/SiteAccess/www/SiteRootAdd.dtml
===================================================================
--- Zope/trunk/src/Products/SiteAccess/www/SiteRootAdd.dtml	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/www/SiteRootAdd.dtml	2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,81 +0,0 @@
-<dtml-var manage_page_header>
-
-<dtml-let form_title="'Add SiteRoot'"><dtml-var manage_form_title></dtml-let>
-
-<p class="form-help">
-This will change URLs generated by all objects within the same container 
-as the SiteRoot.  If a Base is specified (or a SiteRootBASE value can be 
-found) then it will replace the host:port/script portion of generated URLs. 
-If a Path is specified (or a SiteRootPATH value can be found) then it will
-replace the remainder of each URL.
-</p>
-
-<p class="form-help">
-Values affected include DTML variables starting with URL or BASE, and 
-the absolute_url() methods of objects.
-</p> 
-<p class="form-help">
-If Base is not set, the SiteRoot will first attempt to acquire SiteRootBASE 
-and then search the REQUEST for it.  The same holds for Path and 
-SiteRootPATH.
-</p>
-<p class="form-help">
-Base (if specified) should <strong>always</strong> start with 
-&quot;http://&quot;
-</p>
-
-<form action="manage_addSiteRoot" method="post">
-<table cellspacing="0" cellpadding="2" border="0">
-  <tr>
-    <td align="left" valign="top">
-    <div class="form-label">
-    Id
-    </div>
-    </td>
-    <td align="left" valign="top">SiteRoot</td>
-  </tr>
-  <tr>
-    <td align="left" valign="top">
-    <div class="form-optional">
-    Title
-    </div>
-    </td>
-    <td align="left" valign="top">
-    <input type="text" name="title" size="40" />
-    </td>
-  </tr>
-  <tr>
-    <td align="left" valign="top">
-    <div class="form-optional">
-    Base
-    </div>
-    </td>
-    <td align="left" valign="top">
-    <input type="text" name="base" size="40" />
-    </td>
-  </tr>
-  <tr>
-    <td align="left" valign="top">
-    <div class="form-optional">
-    Path
-    </div>
-    </td>
-    <td align="left" valign="top">
-    <input type="text" name="path" size="40" value="/" />
-    </td>
-  </tr>
-  <tr>
-    <td align="left" valign="top">
-    </td>
-    <td align="left" valign="top">
-    <div class="form-element">
-    <input class="form-element" type="submit" name="submit" 
-     value=" Add " /> 
-    </div>
-    </td>
-  </tr>
-</table>
-</form>
-
-<dtml-var manage_page_footer>
-

Deleted: Zope/trunk/src/Products/SiteAccess/www/SiteRootEdit.dtml
===================================================================
--- Zope/trunk/src/Products/SiteAccess/www/SiteRootEdit.dtml	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Products/SiteAccess/www/SiteRootEdit.dtml	2011-07-03 13:43:05 UTC (rev 122077)
@@ -1,74 +0,0 @@
-<dtml-var manage_page_header>
-<dtml-var manage_tabs>
-
-<p class="form-help">
-This will change URLs generated by all objects within the same container 
-as the SiteRoot.  If a Base is specified (or a SiteRootBASE value can be 
-found) then it will replace the host:port/script portion of generated URLs. 
-If a Path is specified (or a SiteRootPATH value can be found) then it will 
-replace the remainder of each URL.
-</p>
-
-<p class="form-help">
-Values affected include DTML variables starting with URL or BASE, and 
-the absolute_url() methods of objects.
-</p>
-
-<p class="form-help">
-If Base is not set, the SiteRoot will first attempt to acquire SiteRootBASE 
-and then search the REQUEST for it.  The same holds for Path and SiteRootPATH.
-</p>
-
-<p class="form-help">
-Base (if specified) should <strong>always</strong> start with "http://"
-</p>
-
-<form action="manage_edit" method="POST">
-<table cellspacing="0" cellpadding="2" border="0">
-  <tr>
-    <td align="left" valign="top">
-    <div class="form-optional">
-    Title
-    </div>
-    </td>
-    <td align="left" valign="top">
-    <input type="text" name="title" size="40" 
-     value="<dtml-if title>&dtml-title;</dtml-if>" />
-    </td>
-  </tr>
-  <tr>
-    <td align="left" valign="top">
-    <div class="form-optional">
-    Base
-    </div>
-    </td>
-    <td align="left" valign="top">
-    <input type="text" name="base" size="40" 
-     value="<dtml-if base>&dtml-base;</dtml-if>" />
-    </td>
-  </tr>
-  <tr>
-    <td align="left" valign="top">
-    <div class="form-optional">
-    Path
-    </div>
-    </td>
-    <td align="left" valign="top">
-    <input type="text" name="path" size="40" 
-     value="<dtml-if path>&dtml-path;</dtml-if>" />
-    </td>
-  </tr>
-  <tr>
-    <td align="left" valign="top">
-    </td>
-    <td align="left" valign="top">
-    <div class="form-element">
-    <input class="form-element" type="submit" name="submit" 
-     value="Save Changes" /> 
-    </div>
-    </td>
-  </tr>
-</table>
-</form>
-
-<dtml-var manage_page_footer>

Modified: Zope/trunk/src/Zope2/Startup/handlers.py
===================================================================
--- Zope/trunk/src/Zope2/Startup/handlers.py	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Zope2/Startup/handlers.py	2011-07-03 13:43:05 UTC (rev 122077)
@@ -53,14 +53,6 @@
     value not in (None, default) and _setenv('ZSESSION_TIMEOUT_MINS', value)
     return value
 
-def suppress_all_access_rules(value):
-    value and _setenv('SUPPRESS_ACCESSRULE', value)
-    return value
-
-def suppress_all_site_roots(value):
-    value and _setenv('SUPPRESS_SITEROOT', value)
-    return value
-
 def large_file_threshold(value):
     import ZServer
     ZServer.LARGE_FILE_THRESHOLD = value

Modified: Zope/trunk/src/Zope2/Startup/zopeschema.xml
===================================================================
--- Zope/trunk/src/Zope2/Startup/zopeschema.xml	2011-07-03 13:29:38 UTC (rev 122076)
+++ Zope/trunk/src/Zope2/Startup/zopeschema.xml	2011-07-03 13:43:05 UTC (rev 122077)
@@ -688,27 +688,6 @@
      <metadefault>20</metadefault>
   </key>
 
-  <key name="suppress-all-access-rules" datatype="boolean"
-       default="off" handler="suppress_all_access_rules">
-     <description>
-     If this directive is set to on, no access rules in your Zope site
-     will be executed. This is useful if you "lock yourself out" of a
-     particular part of your site by setting an improper access rule.
-     </description>
-     <metadefault>off</metadefault>
-  </key>
-
-
-  <key name="suppress-all-site-roots" datatype="boolean"
-       default="off" handler="suppress_all_site_roots">
-     <description>
-     If this directive is set to on, no site roots in your Zope site will
-     be effective. This is useful if you "lock yourself out" of a
-     particular part of your site by setting an improper site root.
-     </description>
-     <metadefault>off</metadefault>
-  </key>
-
   <section type="eventlog" name="*" attribute="eventlog">
     <description>
       Describes what level of log output is desired and where it



More information about the Zope-Checkins mailing list