[Product-Developers] Package versions, Plone 3, Plone 4
Radim Novotny
novotny.radim at gmail.com
Thu Mar 18 15:17:14 UTC 2010
Hi all,
I'm wondering how to handle add-on package versions if package is
different for Plone 3 and Plone 4.
Situations:
1) dependencies - package requires some add-on which is obsolete in
Plone 4, eg. collective.js.jquery - this adds jQuery 1.3.2 which is in
Plone 4 by default. I don't want this package installed if my package is
installed on Plone 4
2) separate versions for Plone 3 and Plone 4 - for example: I want to
release the same package for Plone 3 only and for Plone 4 only. How
should I declare dependencies ? How should I tell users my.package 1.x
is for Plone 3 and 2.x for Plone 4 only ?
Example:
- there is working Plone 3.3.5 buildout extending Plone 3.3.5 versions.cfg
- there are several add-ons including my.package. Latest (and used)
version is 1.4
- instance admin decides to add new package and run bin/buildout -n
- my.package 2.0 has been released few days ago (but it is Plone 4 only
reelase). This package is picked, downloaded and breaks everything.
What are solutions for my.package author?
- declare dependency 'Plone > 4.0a1' - wrong - nobody wants to update
instance to Plone 4 automatically
- write extensive documentation where everything is explained in
**bold** including supported version numbers - wrong nobody reads
documentation
- leave everything as is and teach users they should pin all existing
versions and check compatibility matrix before update of any version -
hard, BFU don't use dumppickedversions and pins versions IMO.
Do we have something like "Install me only if there is Plone 3.999 or
lower" which can be declared in setup.py ?
Thoughts ?
Radim
More information about the Product-Developers
mailing list