{"action":"created","issue":{"url":"https://api.github.com/repos/plone/Products.CMFPlone/issues/1340","repository_url":"https://api.github.com/repos/plone/Products.CMFPlone","labels_url":"https://api.github.com/repos/plone/Products.CMFPlone/issues/1340/labels{/name}","comments_url":"https://api.github.com/repos/plone/Products.CMFPlone/issues/1340/comments","events_url":"https://api.github.com/repos/plone/Products.CMFPlone/issues/1340/events","html_url":"https://github.com/plone/Products.CMFPlone/issues/1340","id":128790664,"number":1340,"title":"PLIP: Get rid of portal_quickinstaller","user":{"login":"mauritsvanrees","id":210587,"avatar_url":"https://avatars.githubusercontent.com/u/210587?v=3","gravatar_id":"","url":"https://api.github.com/users/mauritsvanrees","html_url":"https://github.com/mauritsvanrees","followers_url":"https://api.github.com/users/mauritsvanrees/followers","following_url":"https://api.github.com/users/mauritsvanrees/following{/other_user}","gists_url":"https://api.github.com/users/mauritsvanrees/gists{/gist_id}","starred_url":"https://api.github.com/users/mauritsvanrees/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mauritsvanrees/subscriptions","organizations_url":"https://api.github.com/users/mauritsvanrees/orgs","repos_url":"https://api.github.com/users/mauritsvanrees/repos","events_url":"https://api.github.com/users/mauritsvanrees/events{/privacy}","received_events_url":"https://api.github.com/users/mauritsvanrees/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/plone/Products.CMFPlone/labels/03%20type:%20feature%20(plip)","name":"03 type: feature (plip)","color":"0000fa"},{"url":"https://api.github.com/repos/plone/Products.CMFPlone/labels/24%20status:%20ready","name":"24 status: ready","color":"fafa00"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/plone/Products.CMFPlone/milestones/4","html_url":"https://github.com/plone/Products.CMFPlone/milestones/Future","labels_url":"https://api.github.com/repos/plone/Products.CMFPlone/milestones/4/labels","id":1198783,"number":4,"title":"Future","description":null,"creator":{"login":"jaroel","id":70700,"avatar_url":"https://avatars.githubusercontent.com/u/70700?v=3","gravatar_id":"","url":"https://api.github.com/users/jaroel","html_url":"https://github.com/jaroel","followers_url":"https://api.github.com/users/jaroel/followers","following_url":"https://api.github.com/users/jaroel/following{/other_user}","gists_url":"https://api.github.com/users/jaroel/gists{/gist_id}","starred_url":"https://api.github.com/users/jaroel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jaroel/subscriptions","organizations_url":"https://api.github.com/users/jaroel/orgs","repos_url":"https://api.github.com/users/jaroel/repos","events_url":"https://api.github.com/users/jaroel/events{/privacy}","received_events_url":"https://api.github.com/users/jaroel/received_events","type":"User","site_admin":false},"open_issues":35,"closed_issues":1,"state":"open","created_at":"2015-07-08T13:44:46Z","updated_at":"2016-09-16T23:23:02Z","due_on":null,"closed_at":null},"comments":27,"created_at":"2016-01-26T11:00:57Z","updated_at":"2016-09-20T20:33:05Z","closed_at":null,"body":"### Proposer : Maurits van Rees\r\n\r\n### Seconder : @hvelarde\r\n\r\n## Abstract\r\nNo longer support installing via Extensions/install.py.\r\n\r\n## Motivation\r\nThere 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.\r\n\r\n## Assumptions\r\nSome 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.\r\n\r\n\r\n## Proposal & Implementation\r\n- Update prefs_install_products_form browser view to only handle GenericSetup profiles.\r\n- Register this view also as `@@installer` for easier remembering.\r\n- Possibly create a utility instead that handles the basic operations.\r\n- When installing a product, use its `default` profile, instead of using the first profile found.\r\n- Warn before install when a product has no uninstall profile.\r\n- Change any core code that uses the portal_quickinstaller (mostly plone.app.upgrade and tests).\r\n- 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.)\r\n- Document what third party add-ons should do.\r\n\r\n## Deliverables\r\n- CMFPlone branch\r\n- plone.app.upgrade branch\r\n- CMFQuickInstaller branch\r\n- Branches for core packages that have no default or no uninstall profile yet.\r\n- Documentation\r\n\r\n## Risks\r\n- Third party add-ons that have no profile, are no longer installable.\r\n- 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.\r\n\r\n## Participants\r\nMaurits van Rees\r\n\r\nNote that CMFQuickInstaller is Plone specific, in spite of the CMF in the name. So compatibility with CMF is not an issue.\r\n\r\nSee http://sourceforge.net/p/plone/mailman/message/34390699/ for small initial discussion in August 2015."},"comment":{"url":"https://api.github.com/repos/plone/Products.CMFPlone/issues/comments/248425285","html_url":"https://github.com/plone/Products.CMFPlone/issues/1340#issuecomment-248425285","issue_url":"https://api.github.com/repos/plone/Products.CMFPlone/issues/1340","id":248425285,"user":{"login":"jensens","id":157140,"avatar_url":"https://avatars.githubusercontent.com/u/157140?v=3","gravatar_id":"","url":"https://api.github.com/users/jensens","html_url":"https://github.com/jensens","followers_url":"https://api.github.com/users/jensens/followers","following_url":"https://api.github.com/users/jensens/following{/other_user}","gists_url":"https://api.github.com/users/jensens/gists{/gist_id}","starred_url":"https://api.github.com/users/jensens/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jensens/subscriptions","organizations_url":"https://api.github.com/users/jensens/orgs","repos_url":"https://api.github.com/users/jensens/repos","events_url":"https://api.github.com/users/jensens/events{/privacy}","received_events_url":"https://api.github.com/users/jensens/received_events","type":"User","site_admin":false},"created_at":"2016-09-20T20:33:05Z","updated_at":"2016-09-20T20:33:05Z","body":"Note to self:\r\n\r\nplip config at https://github.com/plone/buildout.coredev/blob/5.0/plips/plip1340-get-rid-of-qi.cfg\r\n\r\nSo we have those merges:\r\n- [x] Add uninstall profile plone/Products.CMFFormController#4\r\n- [x] Add uninstall profile plone/Products.Archetypes#54\r\n- [x] Added uninstall profile plone/plone.session#7\r\n- [ ] Added uninstall profile plone/Products.ATContentTypes#32\r\n- [ ] Use get_installer and make profile upgrade versions persistent plone/plone.app.testing#29\r\n- [ ] Get rid of qi plone/Products.CMFQuickInstallerTool#15\r\n- [ ] Get rid of qi plone/Products.CMFPlone#1772\r\n\r\nAlso all GenericSetup changes were merged already.\r\n\r\n \r\n"}}
{"actor":{"display_login":"jensens"}}