我们有一个软件包可以确定我们不需要其个人资料(collective.js.cycle2
),因此我需要编写升级步骤以删除现有的个人资料。
查看我通常需要更新配置文件的代码,我发现它最终会调用:portal_setup.runAllImportStepsFromProfile(profile, purge_old=False
)
运行portal_setup.runAllImportStepsFromProfile(profile, purge_old=True)
删除个人资料是一种好习惯吗? (我在plone.app.upgrade.utils.py
找不到任何东西来制作它。
答案 0 :(得分:4)
您需要在产品中添加卸载配置文件(通常最好通过拉取请求将其添加到原始产品中)。 卸载配置文件必须删除安装配置文件所做的所有持久更改,因此请查看它:https://github.com/collective/collective.js.cycle2/tree/master/src/collective/js/cycle2/profiles/default
唯一的"危险"你必须真正关心的是browserlayer.xml
。注册的CSS并不危险,但删除所有内容是一个好主意。
另见 How to make your Plone add-on products uninstall cleanly
之后:通常在卸载产品时会运行卸载配置文件,但是您可以保留它并安装"并从portal_setup
ZMI工具手动运行卸载配置文件。
执行此操作的奇怪副作用:您已卸载但附加组件仍在"已安装的附加组件中#34;列表。