#163 — Unable to install 3.0b3 using the Unified Installer under multiple versions of plone

by Nick Owen last modified Oct 13, 2011 10:54 PM
State Unconfirmed
Version: plonehelpcenter-3.0b3
Area Functionality
Issue type Bug
Severity Medium
Submitted by Nick Owen
Submitted on Oct 13, 2011
Responsible
Target release:
According to my tests and the upgrade instructions here http://pypi.python.org/pypi/Products.PloneHelpCenter/4.0b3, you need to upgrade to 3.0b3 from 1.6.2. I can't get 3.0b3 to work in multiple versions of the Unified Installer 3.3.5 . I have tried 3.3.5 and 4.1.

On 3.3.5, the error is:

  File "/opt/www/eggs/Products.contentmigration-2.1.0-py2.4.egg/Products/contentmigration/basemigrator/migrator.py", line 39, in ?
    from Products.CMFCore.CMFCatalogAware import WorkflowAware
ZopeXMLConfigurationError: File "/opt/www/parts/instance/etc/site.zcml", line 14.2-14.55
    ZopeXMLConfigurationError: File "/opt/www/parts/instance/etc/package-includes/020-Products.PloneHelpCenter-configure.zcml", line 1.0-1.68
    ZopeXMLConfigurationError: File "/opt/www/eggs/Products.PloneHelpCenter-3.0b3-py2.4.egg/Products/PloneHelpCenter/configure.zcml", line 33.4-37.9
    ImportError: cannot import name WorkflowAware
Traceback (most recent call last):
  File "/opt/www/parts/zope2/lib/python/Zope2/Startup/run.py", line 56, in ?
    run()
  File "/opt/www/parts/zope2/lib/python/Zope2/Startup/run.py", line 21, in run
    starter.prepare()
  File "/opt/www/parts/zope2/lib/python/Zope2/Startup/__init__.py", line 102, in prepare
    self.startZope()
  File "/opt/www/parts/zope2/lib/python/Zope2/Startup/__init__.py", line 278, in startZope
    Zope2.startup()
  File "/opt/www/parts/zope2/lib/python/Zope2/__init__.py", line 47, in startup
    _startup()
  File "/opt/www/parts/zope2/lib/python/Zope2/App/startup.py", line 102, in startup
    OFS.Application.initialize(application)
  File "/opt/www/parts/zope2/lib/python/OFS/Application.py", line 309, in initialize
    initializer.initialize()
  File "/opt/www/parts/zope2/lib/python/OFS/Application.py", line 338, in initialize
    self.install_products()
  File "/opt/www/parts/zope2/lib/python/OFS/Application.py", line 603, in install_products
    return install_products(app)
  File "/opt/www/parts/zope2/lib/python/OFS/Application.py", line 634, in install_products
    folder_permissions, raise_exc=debug_mode)
  File "/opt/www/parts/zope2/lib/python/OFS/Application.py", line 786, in install_product
    initmethod(context)
  File "/opt/www/parts/zope2/lib/python/Products/Five/__init__.py", line 28, in initialize
    zcml.load_site()
  File "/opt/www/parts/zope2/lib/python/Products/Five/zcml.py", line 53, in load_site
    _context = xmlconfig.file(file)
  File "/opt/www/parts/zope2/lib/python/zope/configuration/xmlconfig.py", line 579, in file
    include(context, name, package)
  File "/opt/www/parts/zope2/lib/python/zope/configuration/xmlconfig.py", line 515, in include
    processxmlfile(f, context)
  File "/opt/www/parts/zope2/lib/python/zope/configuration/xmlconfig.py", line 370, in processxmlfile
    parser.parse(src)
  File "/opt/Plone-3.1/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 107, in parse
    xmlreader.IncrementalParser.parse(self, source)
  File "/opt/Plone-3.1/Python-2.4/lib/python2.4/xml/sax/xmlreader.py", line 123, in parse
    self.feed(buffer)
  File "/opt/Plone-3.1/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 207, in feed
    self._parser.Parse(data, isFinal)
  File "/opt/Plone-3.1/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 348, in end_element_ns
    self._cont_handler.endElementNS(pair, None)
  File "/opt/www/parts/zope2/lib/python/zope/configuration/xmlconfig.py", line 349, in endElementNS
    self.context.end()
  File "/opt/www/parts/zope2/lib/python/zope/configuration/config.py", line 544, in end
    self.stack.pop().finish()
  File "/opt/www/parts/zope2/lib/python/zope/configuration/config.py", line 692, in finish
    actions = self.handler(context, **args)
  File "/opt/www/parts/zope2/lib/python/zope/configuration/xmlconfig.py", line 515, in include
    processxmlfile(f, context)
  File "/opt/www/parts/zope2/lib/python/zope/configuration/xmlconfig.py", line 370, in processxmlfile
    parser.parse(src)
  File "/opt/Plone-3.1/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 107, in parse
    xmlreader.IncrementalParser.parse(self, source)
  File "/opt/Plone-3.1/Python-2.4/lib/python2.4/xml/sax/xmlreader.py", line 123, in parse
    self.feed(buffer)
  File "/opt/Plone-3.1/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 207, in feed
    self._parser.Parse(data, isFinal)
  File "/opt/Plone-3.1/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 348, in end_element_ns
    self._cont_handler.endElementNS(pair, None)
  File "/opt/www/parts/zope2/lib/python/zope/configuration/xmlconfig.py", line 349, in endElementNS
    self.context.end()
  File "/opt/www/parts/zope2/lib/python/zope/configuration/config.py", line 544, in end
    self.stack.pop().finish()
  File "/opt/www/parts/zope2/lib/python/zope/configuration/config.py", line 692, in finish
    actions = self.handler(context, **args)
  File "/opt/www/parts/zope2/lib/python/zope/configuration/xmlconfig.py", line 515, in include
    processxmlfile(f, context)
  File "/opt/www/parts/zope2/lib/python/zope/configuration/xmlconfig.py", line 370, in processxmlfile
    parser.parse(src)
  File "/opt/Plone-3.1/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 107, in parse
    xmlreader.IncrementalParser.parse(self, source)
  File "/opt/Plone-3.1/Python-2.4/lib/python2.4/xml/sax/xmlreader.py", line 123, in parse
    self.feed(buffer)
  File "/opt/Plone-3.1/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 207, in feed
    self._parser.Parse(data, isFinal)
  File "/opt/Plone-3.1/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 348, in end_element_ns
    self._cont_handler.endElementNS(pair, None)
  File "/opt/www/parts/zope2/lib/python/zope/configuration/xmlconfig.py", line 349, in endElementNS
    self.context.end()
  File "/opt/www/parts/zope2/lib/python/zope/configuration/config.py", line 544, in end
    self.stack.pop().finish()
  File "/opt/www/parts/zope2/lib/python/zope/configuration/config.py", line 691, in finish
    args = toargs(context, *self.argdata)
  File "/opt/www/parts/zope2/lib/python/zope/configuration/config.py", line 1383, in toargs
    args[str(name)] = field.fromUnicode(s)
  File "/opt/www/parts/zope2/lib/python/zope/configuration/fields.py", line 139, in fromUnicode
    value = self.context.resolve(name)
  File "/opt/www/parts/zope2/lib/python/zope/configuration/config.py", line 184, in resolve
    mod = __import__(mname, *_import_chickens)
  File "/opt/www/eggs/Products.PloneHelpCenter-3.0b3-py2.4.egg/Products/PloneHelpCenter/upgrades.py", line 19, in ?
    from Products.contentmigration.archetypes import InplaceATItemMigrator
  File "/opt/www/eggs/Products.contentmigration-2.1.0-py2.4.egg/Products/contentmigration/archetypes.py", line 11, in ?
    from Products.contentmigration.basemigrator.migrator import BaseCMFMigrator
  File "/opt/www/eggs/Products.contentmigration-2.1.0-py2.4.egg/Products/contentmigration/basemigrator/migrator.py", line 39, in ?
    from Products.CMFCore.CMFCatalogAware import WorkflowAware
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/opt/www/parts/instance/etc/site.zcml", line 14.2-14.55
    ZopeXMLConfigurationError: File "/opt/www/parts/instance/etc/package-includes/020-Products.PloneHelpCenter-configure.zcml", line 1.0-1.68
    ZopeXMLConfigurationError: File "/opt/www/eggs/Products.PloneHelpCenter-3.0b3-py2.4.egg/Products/PloneHelpCenter/configure.zcml", line 33.4-37.9
    ImportError: cannot import name WorkflowAware

On 4.1 the error is:
2011-10-13 18:30:05 ERROR Application Could not import Products.PloneHelpCenter
Traceback (most recent call last):
  File "/opt/plone41/buildout-cache/eggs/Zope2-2.13.10-py2.6.egg/OFS/Application.py", line 606, in import_product
    product=__import__(pname, global_dict, global_dict, silly)
  File "/opt/plone41/buildout-cache/eggs/Products.PloneHelpCenter-3.0b3-py2.6.egg/Products/PloneHelpCenter/__init__.py", line 9, in <module>
    from Products.PloneHelpCenter import content
  File "/opt/plone41/buildout-cache/eggs/Products.PloneHelpCenter-3.0b3-py2.6.egg/Products/PloneHelpCenter/content/__init__.py", line 6, in <module>
    import HelpCenter
  File "/opt/plone41/buildout-cache/eggs/Products.PloneHelpCenter-3.0b3-py2.6.egg/Products/PloneHelpCenter/content/HelpCenter.py", line 160, in <module>
    class HelpCenter(BrowserDefaultMixin, OrderedBaseFolder):
  File "/opt/plone41/buildout-cache/eggs/Products.PloneHelpCenter-3.0b3-py2.6.egg/Products/PloneHelpCenter/content/HelpCenter.py", line 168, in HelpCenter
    implements(IHelpCenter)
  File "/opt/plone41/buildout-cache/eggs/zope.interface-3.6.7-py2.6-linux-i686.egg/zope/interface/declarations.py", line 586, in implements
    _implements("implements", interfaces, classImplements)
  File "/opt/plone41/buildout-cache/eggs/zope.interface-3.6.7-py2.6-linux-i686.egg/zope/interface/declarations.py", line 521, in _implements
    raise TypeError(name+" can be used only once in a class definition.")
TypeError: implements can be used only once in a class definition.
Traceback (most recent call last):
  File "/opt/plone41/buildout-cache/eggs/Zope2-2.13.10-py2.6.egg/Zope2/Startup/run.py", line 72, in <module>
    run()
  File "/opt/plone41/buildout-cache/eggs/Zope2-2.13.10-py2.6.egg/Zope2/Startup/run.py", line 21, in run
    starter.prepare()
  File "/opt/plone41/buildout-cache/eggs/Zope2-2.13.10-py2.6.egg/Zope2/Startup/__init__.py", line 86, in prepare
    self.startZope()
  File "/opt/plone41/buildout-cache/eggs/Zope2-2.13.10-py2.6.egg/Zope2/Startup/__init__.py", line 259, in startZope
    Zope2.startup()
  File "/opt/plone41/buildout-cache/eggs/Zope2-2.13.10-py2.6.egg/Zope2/__init__.py", line 47, in startup
    _startup()
  File "/opt/plone41/buildout-cache/eggs/Zope2-2.13.10-py2.6.egg/Zope2/App/startup.py", line 67, in startup
    OFS.Application.import_products()
  File "/opt/plone41/buildout-cache/eggs/Zope2-2.13.10-py2.6.egg/OFS/Application.py", line 583, in import_products
    import_product(product_dir, product_name, raise_exc=debug_mode)
  File "/opt/plone41/buildout-cache/eggs/Zope2-2.13.10-py2.6.egg/OFS/Application.py", line 606, in import_product
    product=__import__(pname, global_dict, global_dict, silly)
  File "/opt/plone41/buildout-cache/eggs/Products.PloneHelpCenter-3.0b3-py2.6.egg/Products/PloneHelpCenter/__init__.py", line 9, in <module>
    from Products.PloneHelpCenter import content
  File "/opt/plone41/buildout-cache/eggs/Products.PloneHelpCenter-3.0b3-py2.6.egg/Products/PloneHelpCenter/content/__init__.py", line 6, in <module>
    import HelpCenter
  File "/opt/plone41/buildout-cache/eggs/Products.PloneHelpCenter-3.0b3-py2.6.egg/Products/PloneHelpCenter/content/HelpCenter.py", line 160, in <module>
    class HelpCenter(BrowserDefaultMixin, OrderedBaseFolder):
  File "/opt/plone41/buildout-cache/eggs/Products.PloneHelpCenter-3.0b3-py2.6.egg/Products/PloneHelpCenter/content/HelpCenter.py", line 168, in HelpCenter
    implements(IHelpCenter)
  File "/opt/plone41/buildout-cache/eggs/zope.interface-3.6.7-py2.6-linux-i686.egg/zope/interface/declarations.py", line 586, in implements
    _implements("implements", interfaces, classImplements)
  File "/opt/plone41/buildout-cache/eggs/zope.interface-3.6.7-py2.6-linux-i686.egg/zope/interface/declarations.py", line 521, in _implements
    raise TypeError(name+" can be used only once in a class definition.")
TypeError: implements can be used only once in a class definition.
Steps to reproduce:
Download a 3.3.5, 3.3.6 or 4.1 unified installer and install.

Edit buildout.cfg and add:

Products.PloneHelpCenter = 3.0b3

Run buildout. Buildout will run fine.

Run /bin/instance fg and see the error.

No responses can be added.