摆脱Plone4Artists日历-从Plone 3.3.5迁移到Plone 4.0.7 [英] Getting rid of Plone4Artists Calendar - migration from Plone 3.3.5 to Plone 4.0.7

查看:79
本文介绍了摆脱Plone4Artists日历-从Plone 3.3.5迁移到Plone 4.0.7的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正试图从Plone 3.3.5站点中删除P4Artists日历,以将其升级到Plone 4.0.7.

I am trying to remove P4Artists Calendar from a Plone 3.3.5 site, to upgrade it to Plone 4.0.7.

我运行了一个脚本,从所有对象中删除所有接口,特别是:

I ran a script to remove all interfaces from all objects, specifically:

'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(object,interface).

The script I am using uses zope.interfaces.noLongerProvides to get the objects rid of them. First, I do a catalog search and find the objects with the interface, and then noLongerProvides(object, interface).

这样做之后,我可以删除所有的接口,除了'p4a.calendar.interfaces.IPossibleCalendar'.该界面似乎适用于站点上的所有文件夹和收藏夹",尝试删除它们时,我遇到了异常.有谁知道更多关于此界面的信息,而摆脱它的正确方法是什么?

After doing that, I am able to remove all of them interfaces, except for 'p4a.calendar.interfaces.IPossibleCalendar'. This interface seems to be applied to all of the Folders and Collections at the site, and when trying to remove them, I get an exception. Does anyone know more of this interface and what is the correct way of getting rid of it?

这是我的脚本生成的错误消息:

Here are the error messages generated by my script:

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.")

推荐答案

这些似乎是仅在通过zcml启动时应用的接口.因此,删除它们的唯一方法是从您的设置中删除产品.

These seem to be interfaces that are only applied on startup via zcml. So the only way to remove them is to remove the product from your setup.

来源: http://svn.plone.org/svn/collective/p4a/p4a.plonecalendar/trunk/p4a/plonecalendar/configure.zcml

这篇关于摆脱Plone4Artists日历-从Plone 3.3.5迁移到Plone 4.0.7的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆