2011-09-27 4 views
0

Plone 3.3.5 사이트에서 P4Artists Calendar를 제거하여 Plone 4.0.7로 업그레이드하려고합니다. Plone4Artists Calendar 제거 - Plone 3.3.5에서 Plone 4.0.7로 마이그레이션

은 내가 특별히 모든 개체에서 모든 인터페이스를 제거하는 스크립트를 실행 :

'p4a.subtyper.interfaces.ISubtyped', 
'p4a.calendar.interfaces.ICalendarEnhanced', 
'p4a.calendar.interfaces.IPossibleCalendar', 
'p4a.calendar.interfaces.ICalendarConfig', 
'p4a.calendar.interfaces.IEventProvider', 
'p4a.calendar.interfaces.IEvent', 
'p4a.calendar.interfaces.IBasicCalendarSupport', 
'p4a.calendar.interfaces.ICalendarSupport' 

스크립트 내가 그들을 제거 객체를 얻기 위해 사용 된 zope.interfaces.noLongerProvides을 사용하고 있습니다. 먼저 카탈로그 검색을 수행하고 인터페이스가있는 객체를 찾은 다음 noLongerProvides (객체, 인터페이스)를 찾습니다.

그런 다음 'p4a.calendar.interfaces.IPossibleCalendar'를 제외한 모든 인터페이스를 제거 할 수 있습니다. 이 인터페이스는 사이트의 모든 폴더 및 컬렉션에 적용된 것으로 보이며이를 제거하려고하면 예외가 발생합니다. 누구든지이 인터페이스에 대해 더 많이 알고 있으며이를 제거하는 올바른 방법은 무엇입니까?

편집 :

은 여기 내 스크립트에 의해 생성 된 오류 메시지입니다 :

Exception at removeinterfaces for interface p4a.calendar.interfaces.IPossibleCalendar 
Exception type: exceptions.ValueError 
Exception value: Can only remove directly provided interfaces. 
Exception traceback (starting next line): 
File "remove-p4a.py", line 53, in removeinterfaces 
    noLongerProvides(obj, interface) 
File "d:\plone-3.3.5-teste-20110927\zope2\lib\python\zope\interface\declarations.py",line 969, in noLongerProvides 
    raise ValueError("Can only remove directly provided interfaces.") 
+1

게시 할 수 있습니까? – vangheem

답변