将 4.0.10 升级到 Plone 5(缺少 IRegistry?)

Upgrading 4.0.10 to Plone 5 (missing IRegistry?)

我正在尝试将 Plone 4.0.10 站点升级到 5.0。我经历了到 4.3.6 的升级并且有点痛苦地让它在那里工作。在我的 Data.fs 中,我有两个 Plone 站点:有问题的站点和另一个只有默认内容(新闻、事件、用户)的站点。当我将 Data.fs 和 blob 从 4.3.6 移动到 Plone 5 实例时,"empty" 站点升级正常。但是,如果我什至尝试转到生产站点的 ZMI 根目录或加载该站点,我会得到:

    2015-12-05 17:19:24 ERROR Zope.SiteErrorLog 1449364764.10.146181213601 http://localhost:8080/mysite
    Traceback (innermost last):
      Module ZPublisher.Publish, line 127, in publish
      Module ZPublisher.BaseRequest, line 444, in traverse
      Module ZPublisher.BeforeTraverse, line 97, in __call__
      Module Products.CMFCore.PortalObject, line 75, in __before_publishing_traverse__
      Module zope.event, line 31, in notify
      Module zope.component.event, line 24, in dispatch
      Module zope.component._api, line 136, in subscribers
      Module zope.component.registry, line 321, in subscribers
      Module zope.interface.adapter, line 585, in subscribers
      Module zope.component.event, line 32, in objectEventNotify
      Module zope.component._api, line 136, in subscribers
      Module zope.component.registry, line 321, in subscribers
      Module zope.interface.adapter, line 585, in subscribers
      Module plone.app.theming.plugins.hooks, line 33, in onRequest
      Module plone.app.theming.policy, line 91, in isThemeEnabled
    AttributeError: 'NoneType' object has no attribute 'enabled'

我不知道为什么涉及 plone.app.theming,因为旧站点没有 Diazo 主题,我只是加载 ZMI。另外,问题似乎是没有 IRegistry:

plone.app.theming.policy.getSettings中:

    def getSettings(self):
    """Settings for current theme."""
    registry = queryUtility(IRegistry)

而此时的registryNoneplone.app.theming.policy.isThemeEnabled中的settings也是如此。

对如何进行有什么建议吗?

plone.app.theming 必须安装在 Plone 4 中。在您的 Plone 4.3.6 站点中包含 p.a.t 并重新升级。 (How to upgrade sites to Plone 5, 24:15)