SVN: Zope/trunk/ Removed `AccessRule` and `SiteRoot` from `Products.SiteAccess`.

Hanno Schlichting <[email protected]>
Newsgroups gmane.comp.web.zope.cvs
Message-ID <[email protected]>
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 <[email protected]>
-
-        * Final release
-        * Added VirtualHostMonster, to make common virtual hosting
-        cases easy.
-
-2000-07-20  Evan Simpson <[email protected]>
-
-	* 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 <[email protected]>
-
-	* Beta 2
-        * Removed a chunk of code left from 1.0 which messed up SiteRoots
-
-2000-06-09  Evan Simpson <[email protected]>
-
-	* 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 <[email protected]>
-
-	* Version 1.0.1
-	* Fix for FTP incompatibility
-	* Match changes in Zope 2.1.5/6
-
-2000-01-18  Evan Simpson <[email protected]>
-
-	* 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 <[email protected]>
-
-	* 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 <[email protected]>
-
-        * 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 <[email protected]>
-
-	* 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 <[email protected]>
-
-	* 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 <[email protected]>
-
-	* 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 <[email protected]>
-
-	* 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 <[email protected]>
-
-        * 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

_______________________________________________
Zope-Checkins maillist  -  [email protected]
https://mail.zope.org/mailman/listinfo/zope-checkins
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.