#10877: Separate Products.CMFPlone from the Plone egg and its optional dependencies ----------------------------+----------------------------------------------- Reporter: ldr | Owner: ldr Type: PLIP | Status: assigned Priority: minor | Milestone: 4.1 Component: Infrastructure | Keywords: ----------------------------+-----------------------------------------------
Old description: > '''Proposer:''' Laurence Rowe[[BR]] > '''Seconder:''' None as yet[[BR]] > [[BR]] > == Motivation == > The Plone package currently lists a number of dependencies which are not > installed by default. We should make it possible for advanced integrators > to avoid including that code at all. > > == Assumptions == > Optional dependencies covered by this proposal: > > * Products.CMFPlacefulWorkflow > * kupu > * plone.app.openid > * plone.app.iterate > * plone.portlet.collection > * plone.portlet.static > * plone.contentrules / plone.app.contentrules > * and any other optional packages added during 4.1. > > These dependencies potentially become optional with a little extra work: > > * plone.app.redirector > * plone.app.kss / kss.core / archetypes.kss > * plone.app.upgrade > > Products.ATContentTypes and Archetypes are out of scope for this proposal > as they are currently too closely entwined with Products.CMFPlone. > > == Proposal & Implementation == > Rename the existing Plone egg to Products.CMFPlone and create a new Plone > egg depending on Products.CMFPlone along with the optional dependencies. > > == Deliverables == > * Rename the existing Plone egg to Products.CMFPlone. In svn, > `Plone/trunk` is moved to `Products.CMFPlone/trunk`. > * Creation of new Plone egg. This should not contain any code, only > dependencies in its `setup.py`. > * Move the optional dependencies from Products.CMFPlone to Plone. > > == Risks == > * Existing packages that depend on `Plone` will need to depend on > `Products.CMFPlone` instead. An empty Products.CMFPlone 4.0 egg depending > on `Plone>=4.0,<4.0.99` may need to be released. > * Moving of `Plone/trunk` may cause difficulties for other plip > implementors wishing to create branches for their work. It's probably > best that the renaming is done early, moving dependencies and testing > that they are truly optional can be done later in the cycle. > > == Participants == > > * Laurence Rowe (svn: ldr, irc: elro) > > == Progress == > > * [http://plone.293351.n2.nabble.com/PLIP-idea-Create-a-PloneCore- > package-td5333479.html Discussion on plone-dev] > > * Approved by the [http://lists.plone.org/pipermail/framework- > team/2010-August/003504.html 17 August, 2010 Framework Team meeting] > where it was decided this: > > > Should be an immediate change. Other plips will be branching Plone, > it'll be a mess to merge. > > * [source:Plone/branches/plip10877-plone Plone], > [source:Plone/branches/plip10877-products-cmfplone Products.CMFPlone] > branches. [source:buildouts/plone-coredev/branches/4.1/plips/plip10877 > -separate-products-cmfplone.cfg PLIP buildout]. > > * [source:Products.CMFPlone/branches/4.0 Forward compatibility shim] for > 4.0 / 3.3. > > * [http://plone.org/documentation/manual/upgrade-guide/version > /upgrading-plone-4.0-to-4.1/updating-add-on-products-for-plone-4.1 > /changing-dependencies-from-plone-to-products.cmfplone Upgrade guide] New description: '''Proposer:''' Laurence Rowe[[BR]] '''Seconder:''' None as yet[[BR]] [[BR]] == Motivation == The Plone package currently lists a number of dependencies which are not installed by default. We should make it possible for advanced integrators to avoid including that code at all. == Assumptions == Optional dependencies covered by this proposal: * Products.CMFPlacefulWorkflow * kupu * plone.app.openid * plone.app.iterate * plone.portlet.collection * plone.portlet.static * plone.contentrules / plone.app.contentrules * and any other optional packages added during 4.1. These dependencies potentially become optional with a little extra work: * plone.app.redirector * plone.app.kss / kss.core / archetypes.kss * plone.app.upgrade Products.ATContentTypes and Archetypes are out of scope for this proposal as they are currently too closely entwined with Products.CMFPlone. == Proposal & Implementation == Rename the existing Plone egg to Products.CMFPlone and create a new Plone egg depending on Products.CMFPlone along with the optional dependencies. == Deliverables == * Rename the existing Plone egg to Products.CMFPlone. In svn, `Plone/trunk` is moved to `Products.CMFPlone/trunk`. * Creation of new Plone egg. This should not contain any code, only dependencies in its `setup.py`. * Move the optional dependencies from Products.CMFPlone to Plone. == Risks == * Existing packages that depend on `Plone` will need to depend on `Products.CMFPlone` instead. An empty Products.CMFPlone 4.0 egg depending on `Plone>=4.0,<4.0.99` may need to be released. * Moving of `Plone/trunk` may cause difficulties for other plip implementors wishing to create branches for their work. It's probably best that the renaming is done early, moving dependencies and testing that they are truly optional can be done later in the cycle. == Participants == * Laurence Rowe (svn: ldr, irc: elro) == Progress == * [http://plone.293351.n2.nabble.com/PLIP-idea-Create-a-PloneCore- package-td5333479.html Discussion on plone-dev] * Approved by the [http://lists.plone.org/pipermail/framework- team/2010-August/003504.html 17 August, 2010 Framework Team meeting] where it was decided this: > Should be an immediate change. Other plips will be branching Plone, it'll be a mess to merge. * [source:Plone/branches/plip10877-plone Plone], [source:Plone/branches/plip10877-products-cmfplone Products.CMFPlone] branches. [source:buildouts/plone-coredev/branches/4.1/plips/plip10877 -separate-products-cmfplone.cfg PLIP buildout]. * [source:Products.CMFPlone/branches/4.0 Forward compatibility shim] for 4.0 / 3.3. * [http://plone.org/documentation/manual/upgrade-guide/version/upgrading- plone-4.0-to-4.1/updating-add-on-products-for-plone-4.1/changing- dependencies-from-plone-to-products.cmfplone Upgrade guide] * Change dependencies from Products.CMFPlone -> Plone ([http://dev.plone.org/plone/log/?action=stop_on_copy&mode=stop_on_copy&rev=46496&stop_rev=46481&limit=100 revisions logs]) * Moved kupu, iterate, openid and Placeful Workflow to Plone egg ([http://dev.plone.org/plone/log/?action=stop_on_copy&mode=stop_on_copy&rev=46584&stop_rev=46562&limit=100 revision logs]) -- Comment(by ldr): I've now moved to the Plone egg the following add-ons: * Products.CMFPlacefulWorkflow * kupu * plone.app.openid / plone.openid * plone.app.iterate The other candidates for moving require changes to Plone site creation as they are installed by default. I'm probably not going to get around to changing them in time for 4.1: * plone.portlet.collection * plone.portlet.static * plone.contentrules / plone.app.contentrules * plonetheme.classic -- Ticket URL: <http://dev.plone.org/plone/ticket/10877#comment:12> Plone <http://plone.org> Plone Content Management System _______________________________________________ PLIP-Advisories mailing list plip-advisor...@lists.plone.org http://lists.plone.org/mailman/listinfo/plip-advisories