Шаг обновления для удаления профиля

У нас есть один пакет, который мы определили, что нам не нужен его профиль (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. Это странный побочный эффект: вы удалили, но надстройка все еще находится в списке "установленных надстроек".

Другие вопросы по тегам