当我更改我写的附加组件的配置文件版本时,我总是收到上面的消息.
此附加组件已升级.旧配置文件版本为10.新配置文件版本为11.没有为此附加组件定义升级过程.有关升级信息,请参阅附加文档,或与附加组件作者联系.
那么我如何定义一个升级add-one的过程呢?
在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"
/>
Run Code Online (Sandbox Code Playgroud)
并且您需要一个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)
Run Code Online (Sandbox Code Playgroud)
注意:在zcml中,如果您希望将步骤从任何以前的配置文件版本应用到您定位的版本,则源可能会设置为"*".