2017-03-23 12 views
0

私がテストしているPloneサイトを削除しようとしています。ただし、削除するとエラーが発生します。コンソールからPlone - ComponentLookUpErrorは私がPloneサイトを削除できないようにしていますか?

Traceback (innermost last): 
    Module ZPublisher.Publish, line 138, in publish 
    Module ZPublisher.mapply, line 77, in mapply 
    Module ZPublisher.Publish, line 48, in call_object 
    Module OFS.ObjectManager, line 540, in manage_delObjects 
    Module OFS.ObjectManager, line 391, in _delObject 
    Module zope.event, line 31, in notify 
    Module zope.component.event, line 24, in dispatch 
    Module zope.component._api, line 136, in subscribers 
    Module zope.component.registry, line 321, in subscribers 
    Module zope.interface.adapter, line 585, in subscribers 
    Module zope.component.event, line 32, in objectEventNotify 
    Module zope.component._api, line 136, in subscribers 
    Module zope.component.registry, line 321, in subscribers 
    Module zope.interface.adapter, line 585, in subscribers 
    Module OFS.subscribers, line 101, in dispatchObjectWillBeMovedEvent 
    Module zope.container.contained, line 153, in dispatchToSublocations 
    Module zope.component._api, line 136, in subscribers 
    Module zope.component.registry, line 321, in subscribers 
    Module zope.interface.adapter, line 585, in subscribers 
    Module OFS.subscribers, line 101, in dispatchObjectWillBeMovedEvent 
    Module zope.container.contained, line 153, in dispatchToSublocations 
    Module zope.component._api, line 136, in subscribers 
    Module zope.component.registry, line 321, in subscribers 
    Module zope.interface.adapter, line 585, in subscribers 
    Module OFS.subscribers, line 101, in dispatchObjectWillBeMovedEvent 
    Module zope.container.contained, line 153, in dispatchToSublocations 
    Module zope.component._api, line 136, in subscribers 
    Module zope.component.registry, line 321, in subscribers 
    Module zope.interface.adapter, line 585, in subscribers 
    Module OFS.subscribers, line 101, in dispatchObjectWillBeMovedEvent 
    Module zope.container.contained, line 153, in dispatchToSublocations 
    Module zope.component._api, line 136, in subscribers 
    Module zope.component.registry, line 321, in subscribers 
    Module zope.interface.adapter, line 585, in subscribers 
    Module OFS.subscribers, line 101, in dispatchObjectWillBeMovedEvent 
    Module zope.container.contained, line 153, in dispatchToSublocations 
    Module zope.component._api, line 136, in subscribers 
    Module zope.component.registry, line 321, in subscribers 
    Module zope.interface.adapter, line 585, in subscribers 
    Module Products.CMFCore.CMFCatalogAware, line 271, in handleContentishEvent 
    Module Products.CMFCore.CMFCatalogAware, line 76, in unindexObject 
    Module Products.CMFCore.CatalogTool, line 280, in unindexObject 
    Module Products.CMFPlone.CatalogTool, line 354, in uncatalog_object 
    Module Products.ZCatalog.ZCatalog, line 508, in uncatalog_object 
    Module Products.ZCatalog.Catalog, line 383, in uncatalogObject 
    Module Products.PluginIndexes.common.UnIndex, line 286, in unindex_object 
    Module Products.PluginIndexes.UUIDIndex.UUIDIndex, line 98, in removeForwardIndexEntry 
    Module z3c.relationfield.relation, line 79, in __cmp__ 
    Module z3c.relationfield.relation, line 82, in _sort_key 
    Module z3c.relationfield.relation, line 31, in from_path 
    Module plone.app.relationfield.monkey, line 14, in get_from_object 
    Module z3c.relationfield.relation, line 110, in _object 
    Module zope.component._api, line 169, in getUtility 
ComponentLookupError: (<InterfaceClass zope.intid.interfaces.IIntIds>, '') 

ページだけ表示されます。

(<InterfaceClass zope.intid.interfaces.IIntIds>, '') 

私はイベントサブスクライバにIIntIdsを使用して行い、これが問題になる可能性がある場合、私は多分疑問に思って。

場合、特定のコンテンツタイプの遷移のオブジェクトは、他のコンテンツ・タイプの別のオブジェクトが作成され、IはIIntIdsユーティリティを使用して作成されたオブジェクトからの関連値を「GET」。 RelationValueは、遷移中のオブジェクトのrelatedItemに追加されます。 作成されたオブジェクトにもrelatedItemsがあり、オブジェクトのリレーション値を取得して、作成したオブジェクトのrelatedItemsに追加します。 configure.zcmlで

events.pyで
<subscriber 
    for="my.product.myobject.MyObject   
     Products.DCWorkflow.interfaces.IAfterTransitionEvent" 
    handler=".events.myObjectTransitioned" />  

:私は尋ねたと回答のいずれかの言及がないplone.app.relationfieldた同様の質問に出くわした

def myObjectTransitioned(obj,event): 

    .... 
    action = event.status['complete'] 
    if action == 'activate': 
     ..... 
     try: 
      new_obj = api.content.create(container=OtherObjs,portal_type='my.object.anotherobject', 
       title=a_concat_title, id=a_concat_title) 
      int_ids = getUtility(IIntIds) 

      obj.relatedItems.append(RelationValue(int_ids.getId(new_obj))) 
      new_obj.relatedItems.append(RelationValue(int_ids.getId(obj))) 

      obj.reindexObject() 
      new_obj.reindexObject() 
     except: 
      print "failed creation"    

またはplone.app.intIdがインストールされている。私はplone.app.relationfield(RelationValue)とplone.app.intId(plone.app.intid:インストールユーティリティ)を持っています。 new_objが便利to_objectを呼び出すことにより、OBJ(移行対象)、およびその逆からの情報を得ることができるように

私は基本的にこれをやっています。しかし、私はこれがこのエラーを引き起こしていると推測しています。objから情報を取得するnew_objのバックリファレンスを使用する必要がありますか?基本的にあなたのサイトを削除できません何

+0

私は十分な詳細を提供していない場合、またはこれが重複した質問である場合はお詫びしますが、残念ながら紛失しています。 –

+1

私たちのフォーラムhttps://community.plone.org(より多くのアイボール)では、あなたの質問にフォーラムにリンクを投稿しますが、投稿の質問はもっと良いかもしれません。 –

+1

残念ながら、あなたに役立つ情報が不十分です。私はあなたがサイトを削除しようとすると呼び出されているいくつかのイベント加入者があるかもしれないと思う。問題のあるイベントを特定し、そのZCML登録をスキップしてください。インスタンスを再起動して再試行してください。 – hvelarde

答えて

2

は(それがあなたの言及面倒なコードを実行する)毎回トリガーされるイベントです。この動作を回避するには、私がやって提案することができ、次の一般的

$ cd {buildout-dir} 
$ bin/zopepy 
> from transaction import commit 
> app._delObject('Plone', suppress_events=True) 
> commit() 

例えばまた更新からportal_catalogを防止し、反対側を引き起こすこのように、Ploneサイト内のオブジェクトのためにこれを行うことは推奨されません効果。しかし、全体としてサイトを削除しても問題はありません。

+0

ありがとうございます。時間を割いていただきありがとうございます。 リレーションバリューの破棄に関して別の問題があることが判明しました。 しかし、それを共有していただきありがとうございます。私のためにdata.fsを削除するより便利な方法です。 –

関連する問題