2

Plone 3.3.5 インストールを 4.0.7 に移行しようとしています。

移行する前に、Plone4Artists Calendar を削除することが決定されました。

ここで提案されている手順に従いましたhttp://plone.org/documentation/kb/cleaning-p4a、次のインターフェースに適用します。

from p4a.calendar.interfaces import ICalendarEnhanced
from p4a.calendar.interfaces import IPossibleCalendar
from p4a.calendar.interfaces import ICalendarConfig
from p4a.calendar.interfaces import IEventProvider
from p4a.calendar.interfaces import IEvent
from p4a.calendar.interfaces import IBasicCalendarSupport
from p4a.calendar.interfaces import ICalendarSupport

どうやら、それは機能します (IPossibleCalendar インターフェイスを除き、「直接提供されたインターフェイスのみを削除できます。」というメッセージが表示されます)。それを取り除くために、製品をアンインストールしました(ここからの適切なアドバイスに従います)

ここで、Data.fs を 3.3.5 から 4.0.7 インストールに移動し、/Plone/@@plone-upgrade で移行をアクティブ化しようとすると、次のトレースバックが表示されます。

Traceback (most recent call last):
  File "d:\plone-4.0.7-teste-20110927\buildout-cache\eggs\plone-4.0.7-py2.6.egg\Products\CMFPlone\MigrationTool.py", line 175, in upgrade
    step['step'].doStep(setup)
  File "d:\plone-4.0.7-teste-20110927\buildout-cache\eggs\products.genericsetup-1.6.3-py2.6.egg\Products\GenericSetup\upgrade.py", line 142, in doStep
    self.handler(tool)
  File "d:\plone-4.0.7-teste-20110927\buildout-cache\eggs\plone.app.upgrade-1.0.7-py2.6.egg\plone\app\upgrade\v40\alphas.py", line 443, in migrateFolders
    transaction.savepoint(optimistic=True)
  File "d:\plone-4.0.7-teste-20110927\buildout-cache\eggs\transaction-1.0.1-py2.6.egg\transaction\_manager.py", line 99, in savepoint
    return self.get().savepoint(optimistic)
  File "d:\plone-4.0.7-teste-20110927\buildout-cache\eggs\transaction-1.0.1-py2.6.egg\transaction\_transaction.py", line 253, in savepoint
    self._saveAndRaiseCommitishError() # reraises!
  File "d:\plone-4.0.7-teste-20110927\buildout-cache\eggs\transaction-1.0.1-py2.6.egg\transaction\_transaction.py", line 250, in savepoint
    savepoint = Savepoint(self, optimistic, *self._resources)
  File "d:\plone-4.0.7-teste-20110927\buildout-cache\eggs\transaction-1.0.1-py2.6.egg\transaction\_transaction.py", line 647, in __init__
    savepoint = savepoint()
  File "d:\plone-4.0.7-teste-20110927\buildout-cache\eggs\zodb3-3.9.5-py2.6-win32.egg\ZODB\Connection.py", line 1128, in savepoint
    self._commit(None)
  File "d:\plone-4.0.7-teste-20110927\buildout-cache\eggs\zodb3-3.9.5-py2.6-win32.egg\ZODB\Connection.py", line 606, in _commit
    self._store_objects(ObjectWriter(obj), transaction)
  File "d:\plone-4.0.7-teste-20110927\buildout-cache\eggs\zodb3-3.9.5-py2.6-win32.egg\ZODB\Connection.py", line 640, in _store_objects
    p = writer.serialize(obj)  # This calls __getstate__ of obj
  File "d:\plone-4.0.7-teste-20110927\buildout-cache\eggs\zodb3-3.9.5-py2.6-win32.egg\ZODB\serialize.py", line 422, in serialize
    return self._dump(meta, obj.__getstate__())
  File "d:\plone-4.0.7-teste-20110927\buildout-cache\eggs\zodb3-3.9.5-py2.6-win32.egg\ZODB\serialize.py", line 431, in _dump
    self._p.dump(state)
PicklingError: Can't pickle <class 'p4a.calendar.interfaces.ICalendarSupport'>: import of module p4a.calendar.interfaces failed

これはテスト実行であることに注意してください: これは偽のクリーンな Data.fs であり、関連する唯一の製品は P4A.Calendar です。 3.3.5 ビルドアウト。

私もhereのアドバイスに従おうとしましたが、Plone オブジェクトの SiteManager には「p4a」文字列を持つアダプターまたはサブスクライバーがありません。グローバル SiteManager からのdict属性も、「p4a」文字列の出現を報告しません。

誰かがこれについて私に光を当てることができますか? Data.fs のどこで「p4a.calendar.interfaces.ICalendarSupport」を探す必要がありますか?

4

0 に答える 0