5

当我更改我编写的附加组件的配置文件版本时,我总是会收到上面的消息。

此插件已升级。旧配置文件版本为 10。新配置文件版本为 11。没有为此附加组件定义升级过程。请查阅插件文档以获取升级信息,或联系插件作者。

那么我如何定义一个升级附加组件的过程呢?

4

1 回答 1

8

在您的 configure.zcml 中(或者最好在 configure.zcml 中包含的单独的 upgrades.zcml 中),您需要像这样声明您的升级步骤:

  <genericsetup:upgradeStep
  source="22"
  destination="23"
  title="Remove such js from registry"
  description=""
  profile="Products.MyProduct:default"
  handler=".upgrades.upgrade_22_to_23"
  />

你需要一个 upgrades.py 文件来实现升级步骤(只是一个例子):

from Products.CMFCore.utils import getToolByName

def upgrade_22_to_23(context):
    js_id = '++resource++blabla/blibli.js'
    jsregistry = getToolByName(context, 'portal_javascripts')
    jsregistry.unregisterResource(js_id)

注意:在 zcml 中,如果您希望该步骤从任何先前的配置文件版本应用到您的目标版本,则源可能设置为“*”。

于 2013-03-10T07:54:19.187 回答