Zope 2.7.5/Plone 2.5.3→Zope 2.10.5/Plone 3.0.4
Zope2.7.5/Plone2.5.3からZope2.10.5/Plone3.0.4へバージョンアップした際、PloneSiteが追加できないという現象を経験しました。
Zopeをバージョンアップ
Zope2.10.5をダウンロードして、既存のZope環境に上書きするようにインストール。
$ ./configure --prefix=/usr/local $ make # make install
Plone3.0.4をインストール
2007年11月6日のエントリの通りにPloneプロダクトをインストールしてZopeを再起動。
PloneSiteを作成しようとすると
再起動してZMIからPloneSiteを追加しようすると、こんなエラーが画面に表示されました。
('No traversable adapter found', {'extension_profiles': ({'product': 'kupu', 'description': 'Extension profile for Kupu', 'for': , 'title': 'Kupu', 'version': 'kupu 1.4.6', 'path': 'plone/profiles/default', 'type': 2, 'id': 'kupu:default'},), 'args': (), 'base_profiles': (), 'default_profile': 'Products.CMFPlone:plone'})
event.logにはこんな内容が出ています。
------ 2007-12-13T14:49:59 ERROR Zope.SiteErrorLog http://hogehoge:8080/manage_add Product/CMFPlone/addPloneSiteForm Traceback (innermost last): Module ZPublisher.Publish, line 119, in publish Module ZPublisher.mapply, line 88, in mapply Module ZPublisher.Publish, line 42, in call_object Module Products.CMFPlone.factory, line 63, in addPloneSiteForm Module Shared.DC.Scripts.Bindings, line 313, in __call__ Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec Module Products.PageTemplates.PageTemplateFile, line 129, in _exec Module Products.PageTemplates.PageTemplate, line 89, in pt_render Module zope.pagetemplate.pagetemplate, line 117, in pt_render Module zope.tal.talinterpreter, line 271, in __call__ Module zope.tal.talinterpreter, line 346, in interpret Module zope.tal.talinterpreter, line 854, in do_condition Module Products.PageTemplates.Expressions, line 211, in evaluateBoolean Module zope.tales.tales, line 696, in evaluate - URL: addSite - Line 62, Column 4 - Expression: <PathExpr standard:'options/extension_profiles'> - Names: {'container': <App.ProductContext.__FactoryDispatcher__ object at 0xbd50298c>, 'context': <App.ProductContext.__FactoryDispatcher__ object at 0xbd50298c>, 'default': <object object at 0xbf4f15c0>, 'here': <App.ProductContext.__FactoryDispatcher__ object at 0xbd50298c>, 'loop': {}, 'nothing': None, 'options': {'args': (), 'base_profiles': (), 'default_profile': 'Products.CMFPlone:plone', 'extension_profiles': ({'description': 'Extension profile for Kupu', 'for': <InterfaceClass Products.CMFPlone.interfaces.siteroot.IPloneSiteRoot>, 'id': 'kupu:default', 'path': 'plone/profiles/default', 'product': 'kupu', 'title': 'Kupu', 'type': 2, 'version': 'kupu 1.4.6'},)}, 'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0xbca649ac>, 'request': <HTTPRequest, URL=http://hogehoge:8080/manage_addProduct/ CMFPlone/addPloneSiteForm>, 'root': <Application at >, 'template': <PageTemplateFile at /addSite>, 'user': <User 'admin'>} Module zope.tales.expressions, line 217, in __call__ Module Products.PageTemplates.Expressions, line 153, in _eval Module zope.tales.expressions, line 124, in _eval Module Products.PageTemplates.Expressions, line 83, in boboAwareZopeTraverse Module zope.traversing.adapters, line 161, in traversePathElement - __traceback_info__: ({'extension_profiles': ({'product': 'kupu', 'description': 'Extension profile for Kupu', 'for': <InterfaceClass Products.CMFPlone.interfaces.siteroot.IPloneSiteRoot>, 'title': 'Kupu', 'version': 'kupu 1.4.6', 'path': 'plone/profiles/default', 'type': 2, 'id': 'kupu:default'},), 'args': (), 'base_profiles': (), 'default_profile': 'Products.CMFPlone:plone'}, 'extension_profiles') TraversalError: ('No traversable adapter found', {'extension_profiles': ({'product': 'kupu', 'description': 'Extension profile for Kupu', 'for': <InterfaceClass Products.CMFPlone.interfaces.siteroot.IPloneSiteRoot>, 'title': 'Kupu', 'version': 'kupu 1.4.6', 'path': 'plone/profiles/default', 'type': 2, 'id': 'kupu:default'},), 'args': (), 'base_profiles': (), 'default_profile': 'Products.CMFPlone:plone'})
さらにevent.logをよく見ると/usr/local/lib/python/zope/configuration/*.pyでエラーが多発している模様。ls で/usr/local/lib/python/zopeをみると、ここだけ日付が古い。怪しいなとおもって、この/usr/local/lib/python/zopeをがっつり削除、さらにZopeをインストールしなおしてインスタンスを再作成。
これでちゃんとPloneSiteが作れました。