Шаг обновления для удаления профиля
У нас есть один пакет, который мы определили, что нам не нужен его профиль (collective.js.cycle2
) поэтому мне нужно написать шаг обновления, чтобы удалить существующий профиль.
Глядя на код, который мне обычно приходится обновлять, я обнаружил, что в конце он вызывает: portal_setup.runAllImportStepsFromProfile(profile, purge_old=False
)
Это хорошая практика для бега portal_setup.runAllImportStepsFromProfile(profile, purge_old=True)
удалить профиль? (Я ничего не нашел в plone.app.upgrade.utils.py
сделать это).
1 ответ
Вам необходимо добавить в продукт профиль удаления (и, как правило, рекомендуется добавить его в исходный продукт с помощью запроса на извлечение). Профиль удаления должен удалить все постоянные изменения, сделанные установочными, поэтому посмотрите на него: https://github.com/collective/collective.js.cycle2/tree/master/src/collective/js/cycle2/profiles/default
Единственная "опасная" вещь, о которой вы должны заботиться, это browserlayer.xml
, Зарегистрированный CSS не опасен, но удаление всего - хорошая идея.
См. Также Как сделать так, чтобы ваши надстройки Plone удалялись корректно
После этого: обычно при удалении продукта запускается профиль удаления, но вы можете оставить его "установленным" и вручную запустить профиль удаления из portal_setup
Инструмент ZMI. Это странный побочный эффект: вы удалили, но надстройка все еще находится в списке "установленных надстроек".