Description
Proposer : Maurits van Rees
Seconder : @hvelarde
Abstract
No longer support installing via Extensions/install.py.
Motivation
There are two ways of installing products: GenericSetup and CMFQuickInstaller. Checking if a package is currently installed, means having to check portal_setup and portal_quickinstaller, or having code that makes sure those two are in sync. The syncing is mostly in place, with some recent changes, but supporting both remains tricky. Cleanup would make this code much easier to understand.
Assumptions
Some core packages need to actually get a GenericSetup profile instead of their current install.py (for example Products.Marshall). Some need to get an uninstall profile.
Proposal & Implementation
- Update prefs_install_products_form browser view to only handle GenericSetup profiles.
- Register this view also as
@@installer
for easier remembering. - Possibly create a utility instead that handles the basic operations.
- When installing a product, use its
default
profile, instead of using the first profile found. - Warn before install when a product has no uninstall profile.
- Change any core code that uses the portal_quickinstaller (mostly plone.app.upgrade and tests).
- CMFQuickInstaller code should remain in Plone 5.x, but possibly stripped down and with deprecation warnings. Remove it in Plone 6. (plone.app.upgrade can get bare bones module patches to avoid possible breakage.)
- Document what third party add-ons should do.
Deliverables
- CMFPlone branch
- plone.app.upgrade branch
- CMFQuickInstaller branch
- Branches for core packages that have no default or no uninstall profile yet.
- Documentation
Risks
- Third party add-ons that have no profile, are no longer installable.
- We lose the automatic partial cleanup that CMFQuickInstaller does on uninstall (remove added skins, css, etc). The 'partial' part of this may be a benefit: a proper uninstall profile is now required instead of add-ons relying on the default cleanup being good enough.
Participants
Maurits van Rees
Note that CMFQuickInstaller is Plone specific, in spite of the CMF in the name. So compatibility with CMF is not an issue.
See http://sourceforge.net/p/plone/mailman/message/34390699/ for small initial discussion in August 2015.
Activity