Hi, just a couple of things about versions and dependencies.

The ONLY way to manage versions and dependencies is to create real python 
packages (eggs) and publish them on pypi (http://pypi.python.org/pypi/).

This allows to pin versions and dependencies per-package and/or per-project and 
to manage project w/ buildout (http://www.buildout.org/) that in turn allows to 
replicate project environments easely and without the pain of manual picking of 
packages from here and there every time you deploy an istance. 

For example, in the Plone world when a new version is released a buildout file 
w/ all the versions to be used is published (ie: 
http://dist.plone.org/release/4.2b2/versions.cfg) and when you want to deploy 
that particular version of plone you simply make your buildout extend that file 
(see 
http://plone.org/documentation/manual/developer-manual/managing-projects-with-buildout/referencemanual-all-pages).
 

Doing this you'll be sure that every instance you'll deploy will have the right 
versions. And, if you need to use a development version, or your own version, 
you can use buildout extensions like http://pypi.python.org/pypi/mr.developer 
to declare it, as Plone's core developers do into 
https://github.com/plone/buildout.coredev/ (see 
https://github.com/plone/buildout.coredev/blob/4.2/sources.cfg for example).

There are already some builouts for bootstrapping OE:

https://github.com/kalymero/OpenERP-Buildout
https://github.com/kdeldycke/openerp.buildout

but they can't use the entire power of buildout since the are no eggs for OE 
modules.

Moreover, by publishing eggs we'll have a track of the history and the progress 
of a package, and who did it, who's maintaining it. Not to mention that if you 
miss a package you can just "pip install" it, that's it.

I'm not working "constantly" on OpenERP anymore, but every time I come back to 
it for some spot work I always found myself lost in this crazy pattern of 
"re-implementing my own thing". I feel PITA when I have to deal w/ the big 
mis-use that OpenERP sa does of the python eco-system (and other systems, 
technologies as well). Every time they need a feature they implement their own 
solution (or copy&paste the entire code of a package in the core, as they 
formerly did with vatnumber check), no matter if there are already tools 
well-documented and supported by other developers and communities, and I'm 
scared about they'll do so for version pinning too (as Raphael already pointed 
out).

My $0.02


-- 
https://code.launchpad.net/~openerp-community/openerp/skitzotek_trunk_symlinks/+merge/93115
Your team OpenERP Community is subscribed to branch 
lp:~openerp-community/openerp/skitzotek_trunk_symlinks.

_______________________________________________
Mailing list: https://launchpad.net/~openerp-community
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-community
More help   : https://help.launchpad.net/ListHelp
  • [Openerp... David Bowers
    • Re:... Graeme Gellatly
      • ... Eric Caudal
      • ... Alan Lord (Gmail)
      • ... Stefan Rijnhart
      • ... P. Christeas
    • Re:... Simone Orsi - Agile BG - Domsense
      • ... Kevin Deldycke
    • Re:... Vo Minh Thu (OpenERP)
      • ... Simone Orsi - Agile BG - Domsense
        • ... Lionel Sausin, de la part de l'équipe informatique Numérigraphe
          • ... Simone Orsi
            • ... Lionel Sausin, de la part de l'équipe informatique Numérigraphe
              • ... Simone Orsi
              • ... Simone Orsi
                • ... Davide Corio
      • ... Davide Corio - agilebg.com

Reply via email to