[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