关于升级:升级到Plone 4.3后出现PickingError

PicklingError after upgrading to Plone 4.3

具有Plone 4.2.5的站点已升级到Plone 4.3.4。

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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

有什么主意吗?


在进行迁移之前,您应该始终阅读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:

1
2
3
eggs =
    ...
    plone.app.kss

不过,我建议您在升级后清理ZODB。否则,由于plone.app.kss无法维护,您将遇到问题。