升级到Plone 4.3后的PicklingError

时间:2015-04-22 04:25:57

标签: plone upgrade zodb kss

使用Plone 4.2.5的网站升级为Plone 4.3.4。

执行签出对象时,会显示以下错误:

2015-04-22T01:18:16 ERROR Zope.SiteErrorLog 1429676296.560.86437176197 http://localhost:8181/Plone/capa/@@content-checkout
Traceback (innermost last):
  Module ZPublisher.Publish, line 146, in publish
  Module Zope2.App.startup, line 301, in commit
  Module transaction._manager, line 89, in commit
  Module transaction._transaction, line 329, in commit
  Module transaction._transaction, line 443, in _commitResources
  Module ZODB.Connection, line 559, in commit
  Module ZODB.Connection, line 1123, in savepoint
  Module ZODB.Connection, line 623, in _commit
  Module ZODB.Connection, line 658, in _store_objects
  Module ZODB.serialize, line 422, in serialize
  Module ZODB.serialize, line 431, in _dump
PicklingError: Can't pickle <class 'plone.app.kss.interfaces.IPortalObject'>: import of module plone.app.kss.interfaces failed

目录中没有对象提供plone.app.kss.interfaces.IPortalObject

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

在迁移之前,您应该始终阅读Plone升级指南:

https://plone.org/documentation/manual/upgrade-guide/version/upgrading-plone-4.2-to-4.3/referencemanual-all-pages

Plone.app.kss不再随Plone 4.3.x一起提供。您必须将它重新添加到buildout.cfg:

eggs =
    ...
    plone.app.kss

虽然,我建议您在升级后清理ZODB。否则你会遇到问题,因为plone.app.kss没有维护。