删除配置文件的升级步骤

Upgrade step to remove profile

我们有一个包,我们确定不需要它的配置文件 (collective.js.cycle2),所以我需要编写一个升级步骤来删除现有的配置文件。

看我平时更新profile的代码,发现最后调用的是:portal_setup.runAllImportStepsFromProfile(profile, purge_old=False)

运行 portal_setup.runAllImportStepsFromProfile(profile, purge_old=True) 删除配置文件是个好习惯吗? (我在 plone.app.upgrade.utils.py 没有找到任何东西)。

您需要向产品添加一个卸载配置文件(通过拉取请求将其添加到原始产品通常是个好主意)。 卸载配置文件必须删除安装配置文件所做的所有持久更改,因此查看它:https://github.com/collective/collective.js.cycle2/tree/master/src/collective/js/cycle2/profiles/default

您必须真正关心的唯一 "dangerous" 是 browserlayer.xml。注册的 CSS 并不危险,但删除所有是个好主意。

另见 How to make your Plone add-on products uninstall cleanly

在那之后:当您卸载产品时,卸载配置文件通常是 运行,但您可以保留它 "installed" 并手动 运行 来自 [=11= 的卸载配置文件] ZMI工具。 执行此操作的奇怪副作用:您已卸载但加载项仍在 "installed add-on" 列表中。