[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ - add upgrade step for tool utility registration from older
Jens Vagelpohl
jens at dataflake.org
Wed Dec 9 14:18:59 EST 2009
Log message for revision 106354:
- add upgrade step for tool utility registration from older
migration script in CMFCore
Changed:
U Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
U Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml
U Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to21.py
-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt 2009-12-09 19:17:38 UTC (rev 106353)
+++ Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt 2009-12-09 19:18:59 UTC (rev 106354)
@@ -5,8 +5,8 @@
------------------------
- Upgrade steps: Merged faulty utility registration fixup script
- from Products.CMFCore for pre-2.1.0 instances into a GenericSetup
- upgrade step
+ and tool utility registration from Products.CMFCore for
+ pre-2.1.0 instances into a GenericSetup upgrade step
- WorkflowTool/DiscussionItem: Create a set of GenericSetup
upgrade steps to instantiate the new single-state workflow
Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml 2009-12-09 19:17:38 UTC (rev 106353)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml 2009-12-09 19:18:59 UTC (rev 106354)
@@ -62,6 +62,12 @@
checker=".to21.check_bad_utilities"
/>
+ <genericsetup:upgradeStep
+ title="Register tool utilities"
+ handler=".to21.handle_tool_utility_registrations"
+ checker=".to21.check_tool_utility_registrations"
+ />
+
</genericsetup:upgradeSteps>
<genericsetup:upgradeStep
Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to21.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to21.py 2009-12-09 19:17:38 UTC (rev 106353)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to21.py 2009-12-09 19:18:59 UTC (rev 106354)
@@ -208,4 +208,49 @@
sm.unregisterUtility(provided=iface)
logger.info('Unregistered utility for %s' % dotted_path)
+_TOOL_UTILITIES = (
+ ('portal_uidgenerator', 'Products.CMFUid.interfaces.IUniqueIdGenerator'),
+ ('portal_uidannotation', 'Products.CMFUid.interfaces.IUniqueIdAnnotationManagement'),
+ ('portal_uidhandler', 'Products.CMFUid.interfaces.IUniqueIdHandler'),
+ ('portal_actionicons', 'Products.CMFActionIcons.interfaces.IActionIconsTool'),
+)
+
+def check_tool_utility_registrations(tool):
+ """2.1.0-alpha to 2.1.0 upgrade step checker
+ """
+ portal = aq_parent(aq_inner(tool))
+ setSite(portal)
+ sm = getSiteManager(portal)
+ for tool_id, tool_interface in _TOOL_UTILITIES:
+ tool_obj = getToolByName(portal, tool_id, default=None)
+ try:
+ iface = resolve(tool_interface)
+ except ImportError:
+ continue
+
+ if tool_obj is not None and sm.queryUtility(iface) is None:
+ return True
+
+ return False
+
+def handle_tool_utility_registrations(tool):
+ """2.1.0-alpha to 2.1.0 upgrade step handler
+ """
+ logger = logging.getLogger('GenericSetup.upgrade')
+ portal = aq_parent(aq_inner(tool))
+ setSite(portal)
+ sm = getSiteManager(portal)
+
+ for tool_id, tool_interface in _TOOL_UTILITIES:
+ tool_obj = getToolByName(portal, tool_id, default=None)
+ try:
+ iface = resolve(tool_interface)
+ except ImportError:
+ continue
+
+ if tool_obj is not None and sm.queryUtility(iface) is None:
+ sm.registerUtility(tool_obj, iface)
+ logger.info('Registered %s for interface %s' % (
+ tool_id, tool_interface))
+
More information about the checkins
mailing list