#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

Reply via email to