[Checkins] SVN: Products.CMFDefault/trunk/ - added support for using the new OFS UserFolder class

Yvo Schubbe y.2010 at wcm-solutions.de
Mon Aug 2 05:16:33 EDT 2010


Log message for revision 115369:
  - added support for using the new OFS UserFolder class
  - Zope2 >= 2.12.11dev is now required

Changed:
  U   Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
  U   Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/toolset.xml
  U   Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml
  UU  Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py
  U   Products.CMFDefault/trunk/setup.py

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt	2010-08-02 07:09:10 UTC (rev 115368)
+++ Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt	2010-08-02 09:16:33 UTC (rev 115369)
@@ -4,6 +4,10 @@
 2.3.0-alpha (unreleased)
 ------------------------
 
+- Require at least Zope 2.12.11.
+
+- profiles and upgrade: Added support for using the new OFS UserFolder class.
+
 - views: Added Unauthorized exception view.
   This replaces CookieCrumbler's old redirect support.
 
@@ -13,10 +17,8 @@
 
 - skins: Removed unused styles from css.
 
-- Require at least Zope 2.12.3 and use the optional five.formlib extension.
+- Use the optional five.formlib extension in favor of Products.Five.formlib.
 
-- Use five.formlib in favor of Products.Five.formlib if it is available.
-
 - Removed testing dependency on zope.app.testing.
 
 - Upgrade steps: Merged faulty utility registration fixup script,

Modified: Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/toolset.xml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/toolset.xml	2010-08-02 07:09:10 UTC (rev 115368)
+++ Products.CMFDefault/trunk/Products/CMFDefault/profiles/default/toolset.xml	2010-08-02 09:16:33 UTC (rev 115369)
@@ -4,7 +4,7 @@
  <required tool_id="MailHost"
            class="Products.MailHost.MailHost.MailHost"/>
  <required tool_id="acl_users"
-           class="AccessControl.User.UserFolder"/>
+           class="OFS.userfolder.UserFolder"/>
  <required tool_id="caching_policy_manager"
            class="Products.CMFCore.CachingPolicyManager.CachingPolicyManager"/>
  <required tool_id="content_type_registry"

Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml	2010-08-02 07:09:10 UTC (rev 115368)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml	2010-08-02 09:16:33 UTC (rev 115369)
@@ -194,6 +194,20 @@
         checker=".to23.check_cookie_crumbler"
         />
 
+    <genericsetup:upgradeStep
+        title="Upgrade setup tool"
+        description="Update class registered for 'acl_users'."
+        handler=".to23.upgrade_setup_tool"
+        checker=".to23.check_setup_tool"
+        />
+
+    <genericsetup:upgradeStep
+        title="Upgrade acl_users"
+        description="Update UserFolder class."
+        handler=".to23.upgrade_acl_users"
+        checker=".to23.check_acl_users"
+        />
+
   </genericsetup:upgradeSteps>
 
   <genericsetup:upgradeStep

Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py	2010-08-02 07:09:10 UTC (rev 115368)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py	2010-08-02 09:16:33 UTC (rev 115369)
@@ -11,12 +11,15 @@
 #
 ##############################################################################
 """Upgrade steps to CMFDefault 2.3.
+"""
 
-$Id$
-"""
 import logging
 
+from AccessControl.User import UserFolder as OldUserFolder
 from Acquisition import aq_base
+from Acquisition import aq_inner
+from Acquisition import aq_parent
+from OFS.userfolder import UserFolder
 from Products.CMFCore.utils import getToolByName
 
 _MARKER = object()
@@ -45,3 +48,52 @@
         if getattr(cctool, name, _MARKER) is not _MARKER:
             delattr(cctool, name)
             logger.info("Cookie crumbler property '%s' removed." % name)
+
+def check_setup_tool(tool):
+    """2.2.x to 2.3.0 upgrade step checker
+    """
+    registry = tool.getToolsetRegistry()
+    try:
+        info = registry.getRequiredToolInfo('acl_users')
+        if info['class'] == 'AccessControl.User.UserFolder':
+            return True
+    except KeyError:
+        return False
+    return False
+
+def upgrade_setup_tool(tool):
+    """2.2.x to 2.3.0 upgrade step handler
+    """
+    logger = logging.getLogger('GenericSetup.upgrade')
+    registry = tool.getToolsetRegistry()
+    try:
+        info = registry.getRequiredToolInfo('acl_users')
+        if info['class'] == 'AccessControl.User.UserFolder':
+            info['class'] = 'OFS.userfolder.UserFolder'
+            tool._p_changed = True
+            logger.info("Updated class registered for 'acl_users'.")
+    except KeyError:
+        return
+
+def check_acl_users(tool):
+    """2.2.x to 2.3.0 upgrade step checker
+    """
+    portal = aq_parent(aq_inner(tool))
+    users = aq_base(portal.acl_users)
+    if not getattr(users, '_ofs_migrated', False):
+        if users.__class__ is OldUserFolder:
+            return True
+    return False
+
+def upgrade_acl_users(tool):
+    """2.2.x to 2.3.0 upgrade step handler
+    """
+    logger = logging.getLogger('GenericSetup.upgrade')
+    portal = aq_parent(aq_inner(tool))
+    users = aq_base(portal.acl_users)
+    if not getattr(users, '_ofs_migrated', False):
+        if users.__class__ is OldUserFolder:
+            users.__class__ = UserFolder
+            users._ofs_migrated = True
+            users._p_changed = True
+            logger.info("Updated UserFolder class.")


Property changes on: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to23.py
___________________________________________________________________
Deleted: svn:keywords
   - Id

Modified: Products.CMFDefault/trunk/setup.py
===================================================================
--- Products.CMFDefault/trunk/setup.py	2010-08-02 07:09:10 UTC (rev 115368)
+++ Products.CMFDefault/trunk/setup.py	2010-08-02 09:16:33 UTC (rev 115369)
@@ -47,7 +47,7 @@
       install_requires=[
           'setuptools',
           'five.formlib >= 1.0.2',
-          'Zope2 >= 2.12.3',
+          'Zope2 >= 2.12.11dev',
           'Products.CMFCore',
           'Products.GenericSetup',
           ],



More information about the checkins mailing list