Plone 尝试更改图像工作流时出错

Plone 尝试更改图像工作流时出错,plone,Plone,简言之,当我进入“站点设置->类型”并尝试将图像的工作流从“无工作流”更改为任何其他工作流时,会出现以下错误: Traceback (innermost last): Module ZPublisher.Publish, line 126, in publish Module ZPublisher.mapply, line 77, in mapply Module ZPublisher.Publish, line 46, in call_object Module plone.a

简言之,当我进入“站点设置->类型”并尝试将图像的工作流从“无工作流”更改为任何其他工作流时,会出现以下错误:

Traceback (innermost last):
  Module ZPublisher.Publish, line 126, in publish
  Module ZPublisher.mapply, line 77, in mapply
  Module ZPublisher.Publish, line 46, in call_object
  Module plone.app.controlpanel.types, line 165, in __call__
  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 plone.app.discussion.browser.controlpanel, line 181, in notify_configuration_changed
AttributeError: 'NoneType' object has no attribute 'forInterface'
我怀疑是我们设置这个Plone实例的方式导致了这个问题。我们有一个4.0.8安装(暂存),在那里我们进行了初始站点构建。我们为生产安装了另一个4.0.8。在登台时运行备份,并将登台备份文件和blobstorage复制到生产环境。生产运作良好;似乎是一个完美的舞台克隆

后来,我们想迁移到4.1.1,所以我们在4.1.1上创建了另一个安装,并从生产到新实例重复上述过程。经过一天的测试,它似乎起了作用。酷,我们现在有了一个4.1.1生产箱。一周后,用户希望图像在与所有其他内容相同的工作流(Intranet/Extranet)下运行,这就是我遇到错误的时候

我可以通过ZMI portal_工作流工具更改工作流,而不会出现任何明显的问题。

查看,当您更改contenttype的工作流时,p.a.discussion产品似乎会尝试更新其配置,但在您的实例中无法检索注册表

作为一种快速解决方案,您可以尝试通过在您的产品之一的zcml中添加以下代码来强制包含注册表:

<include package="plone.app.registry" />

然后:

1-转到zmi->你的站点,检查你的plone站点中是否存在一个名为“portal\u registry”的项目

2-转到zmi->您的站点->选项卡“组件”,检查是否存在此注册:

<utility interface="plone.registry.interfaces.IRegistry"
         object="portal_registry" />

也有同样的问题,可以通过导入配置文件“配置注册表”的步骤“管理配置注册表”和“Plone缓存”来解决