[Checkins] SVN: Products.CMFDefault/trunk/Products/CMFDefault/ - added support for upgrading the step registrations in the setup tool

Yvo Schubbe y.2009 at wcm-solutions.de
Mon Nov 23 04:21:37 EST 2009


Log message for revision 105958:
  - added support for upgrading the step registrations in the setup tool

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/to22.py

-=-
Modified: Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt	2009-11-23 07:34:46 UTC (rev 105957)
+++ Products.CMFDefault/trunk/Products/CMFDefault/CHANGES.txt	2009-11-23 09:21:37 UTC (rev 105958)
@@ -4,9 +4,14 @@
 2.2.0-beta (unreleased)
 -----------------------
 
-- upgrade: Improved upgrade steps for type, workflow and action properties.
-  Please re-run them if you already used older versions of these steps.
+- upgrade: Added more upgrade steps.
+  There is now support for upgrading the step registrations in the setup tool,
+  the columns in the catalog tool and the icons in the actions tool and
+  in workflow definitions.
 
+- upgrade: Improved upgrade step for type properties.
+  Please re-run it if you already used an older version of this step.
+
 - Skins and browser views: Replaced 'getIcon' by 'getIconURL' calls.
 
 

Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml	2009-11-23 07:34:46 UTC (rev 105957)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/configure.zcml	2009-11-23 09:21:37 UTC (rev 105958)
@@ -60,6 +60,12 @@
       sortkey="4">
 
     <genericsetup:upgradeStep
+        title="Upgrade setup tool"
+        handler=".to22.upgrade_setup_tool"
+        checker=".to22.check_setup_tool"
+        />
+
+    <genericsetup:upgradeStep
         title="Upgrade root site manager"
         handler=".to22.upgrade_root_site_manager"
         checker=".to22.check_root_site_manager"

Modified: Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py
===================================================================
--- Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py	2009-11-23 07:34:46 UTC (rev 105957)
+++ Products.CMFDefault/trunk/Products/CMFDefault/upgrade/to22.py	2009-11-23 09:21:37 UTC (rev 105958)
@@ -24,6 +24,74 @@
 from Products.CMFCore.interfaces import IWorkflowDefinition
 from Products.CMFCore.utils import getToolByName
 
+_KNOWN_IMPORT_STEPS = (
+    'actions',
+    'caching_policy_mgr',
+    'catalog',
+    'componentregistry',
+    'content_type_registry',
+    'cookie_authentication',
+    'mailhost',
+    'properties',
+    'rolemap',
+    'skins',
+    'toolset',
+    'typeinfo',
+    'various',
+    'workflow',
+    )
+
+_KNOWN_EXPORT_STEPS = (
+    'actions',
+    'caching_policy_mgr',
+    'catalog',
+    'componentregistry',
+    'content_type_registry',
+    'cookieauth',
+    'mailhost',
+    'properties',
+    'rolemap',
+    'skins',
+    'step_registries',
+    'toolset',
+    'typeinfo',
+    'workflows',
+    )
+
+def check_setup_tool(tool):
+    """2.1.x to 2.2.0 upgrade step checker
+    """
+    registry = tool.getImportStepRegistry()
+    steps = registry.listSteps()
+    for step in _KNOWN_IMPORT_STEPS:
+        if step in steps:
+            return True
+    registry = tool.getExportStepRegistry()
+    steps = registry.listSteps()
+    for step in _KNOWN_EXPORT_STEPS:
+        if step in steps:
+            return True
+    return False
+
+def upgrade_setup_tool(tool):
+    """2.1.x to 2.2.0 upgrade step handler
+    """
+    logger = logging.getLogger('GenericSetup.upgrade')
+    registry = tool.getImportStepRegistry()
+    steps = registry.listSteps()
+    for step in _KNOWN_IMPORT_STEPS:
+        if step in steps:
+            registry.unregisterStep(step)
+            tool._p_changed = True
+            logger.info("Import step '%s' locally unregistered." % step)
+    registry = tool.getExportStepRegistry()
+    steps = registry.listSteps()
+    for step in _KNOWN_EXPORT_STEPS:
+        if step in steps:
+            registry.unregisterStep(step)
+            tool._p_changed = True
+            logger.info("Export step '%s' locally unregistered." % step)
+
 def check_root_site_manager(tool):
     """2.1.x to 2.2.0 upgrade step checker
     """



More information about the checkins mailing list