Plone2.1からPlone2.1.1への移行

10/13にPlone2.1.1がリリースされていたので、インストールして見ました。再起動の手順は、次のとおりです。

  1. Data.fsをバックアップ
  2. Ploneを停止
  3. Windowsインストーラ版をインストール
  4. 再起動

ところが、Products.ExtendedPathIndex.ExtendedPathIndexでエラーが発生し、Ploneサイトのコンテンツがうまく表示されません。エラーの内容は次のようなものです。

Traceback (innermost last):

* Module ZPublisher.Publish, line 175, in publish_module_standard
* Module Products.PlacelessTranslationService.PatchStringIO, line 51, in new_publish
* Module ZPublisher.Publish, line 132, in publish
* Module Zope.App.startup, line 204, in zpublisher_exception_hook
* Module ZPublisher.Publish, line 101, in publish
* Module ZPublisher.mapply, line 88, in mapply
* Module ZPublisher.Publish, line 39, in call_object
* Module Shared.DC.Scripts.Bindings, line 306, in __call__
* Module Shared.DC.Scripts.Bindings, line 343, in _bindAndExec
* Module Products.CMFCore.FSPageTemplate, line 188, in _exec
* Module Products.CMFCore.FSPageTemplate, line 127, in pt_render
* Module Products.PageTemplates.PageTemplate, line 96, in pt_render

* Module TAL.TALInterpreter, line 190, in __call__
* Module TAL.TALInterpreter, line 234, in interpret
* Module TAL.TALInterpreter, line 671, in do_useMacro
* Module TAL.TALInterpreter, line 234, in interpret
* Module TAL.TALInterpreter, line 409, in do_optTag_tal
* Module TAL.TALInterpreter, line 394, in do_optTag
* Module TAL.TALInterpreter, line 389, in no_tag
* Module TAL.TALInterpreter, line 234, in interpret
* Module TAL.TALInterpreter, line 671, in do_useMacro
* Module TAL.TALInterpreter, line 234, in interpret
* Module TAL.TALInterpreter, line 464, in do_setGlobal_tal
* Module Products.PageTemplates.TALES, line 221, in evaluate
URL: file:CMFPlone/skins/plone_templates/global_defines.pt
Line 3, Column 0
Expression:
Names:

{'container': ,
'context': ,
'default': ,
'here': ,
'loop': ,
'modules': ,
'nothing': None,
'options': {'args': ()},
'repeat': ,
'request': ,
'root': ,
'template': ,
'traverse_subpath': [],
'user': admin}

* Module Products.PageTemplates.ZRPythonExpr, line 47, in __call__
__traceback_info__: putils.createTopLevelTabs(actions)
* Module Python expression "putils.createTopLevelTabs(actions)", line 1, in
* Module Products.CMFPlone.PloneTool, line 739, in createTopLevelTabs
* Module Products.CMFPlone.CatalogTool, line 440, in searchResults
* Module Products.ZCatalog.ZCatalog, line 649, in searchResults
* Module Products.ZCatalog.Catalog, line 753, in searchResults
* Module Products.ZCatalog.Catalog, line 496, in search
* Module Products.ExtendedPathIndex.ExtendedPathIndex, line 374, in _apply_index
* Module Products.ExtendedPathIndex.ExtendedPathIndex, line 260, in search

AttributeError: _index_parents (Also, an error occurred while attempting to render the standard error message.)

plone-usersのMLを見ると、既知の問題のようです。

結局、次の手順でデータを移行することができました。

  1. ATCTのバージョンを更新します。
    1. ZMIでportal_atctツールの[Version Migration]タブを開く。次のように表示されているハズです。
      • Instance version: 1.0.0-final
      • Filesystem version: 1.0.1-final
    2. [Update]ボタンを実行。成功すると表示が次のように変わります。
      • Instance version: 1.0.1-final
      • Filesystem version: 1.0.1-final
  2. カタログを作り直します。
    1. ZMIでportal_catalogツールの[Advanced]タブを開き、[Clear Catalog]を実行します。
    2. ZMIでportal_atctツールの[Recatalog]タブを開き、[Recatalog CMF types]と[Recatalog ATCT types]を実行します。(ExtendedPathIndexのせいなのか、どうも既存のIndexを使おうとすると失敗するようです。ですから、単純にRecatalogしようとすると既存のIndexにアクセスしに行って失敗します。一旦、Catalogデータを削除しておくと、回避できるようです。)