Re: [Zope-dev] Re: [Zope 2.12] Eggification of Zope 2 - pros and cons?

2008-03-27 Thread Chris McDonough

Chris McDonough wrote:
FTR, there are things in Zope 2 (like Missing and Record IIRC) that 
depend on ExtensionClass (or Acquisition) headers, and there is no way 
to tell setuptools to depend on an external package to provide 
compile-time headers.  We could fake it by including externals in Zope2 
svn for these headers, but then there's version dependency "hidden" in 
these externals that will be violated if the EC and Acqusition eggs 
change in any given setup.  There's certainly no hue and cry from the 
masses I've heard that EC and Acquisition be usable outside Zope 2.
For this reason, I'm not entirely sure it makes sense to break 
Acquisition and EC out of a larger Zope 2 package.  Likewise for 
DateTime (given that there's already a Python datetime).  I suspect it 
would be decomposition for the sake of decomposition, which is not very 
compelling.


There are is a similar problem between things in Zope2 and ZODB, but 
ZODB does have a life outside Zope2, so I think it does make sense for a 
Zope2 depend on an external egg for ZODB packages.


Likewise for Medusa.  This is already packaged as an egg, we just need to delete 
it from ZServer.


- C

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Re: [Zope 2.12] Eggification of Zope 2 - pros and cons?

2008-03-25 Thread Chris McDonough


On Mar 25, 2008, at 4:09 AM, Philipp von Weitershausen wrote:

Philipp von Weitershausen wrote:

Andreas Jung wrote:

during the latest 'zope.publisher' thread on zope-dev I came up with
the proposal to eggify the Zope core for the Zope 2.12 release. I  
would like to start a discussion about the pros and cons, risks  
and advantages of any eggification effort.


Chris favors a 'big' Zope egg with some dependencies (like ZODB)  
stripped out.
I have pretty much done this already. [1] defines an egg called  
'Zope2'. All the Zope 3 eggs are dependencies, as are a few "non- 
core" packages such as ExtensionClass, Acquisition, etc. (which are  
already eggified and available on PyPI).


I should add here that the 'Zope2' egg is far from finished. The  
things I split off (Acquisition, DateTime, ExtensionClass, etc.) are  
working fine by themselves, but the 'Zope2' egg needs some more  
attention to get its tests passing and to get it working in a  
production environment.


FTR, there are things in Zope 2 (like Missing and Record IIRC) that  
depend on ExtensionClass (or Acquisition) headers, and there is no way  
to tell setuptools to depend on an external package to provide compile- 
time headers.  We could fake it by including externals in Zope2 svn  
for these headers, but then there's version dependency "hidden" in  
these externals that will be violated if the EC and Acqusition eggs  
change in any given setup.  There's certainly no hue and cry from the  
masses I've heard that EC and Acquisition be usable outside Zope 2. 
For this reason, I'm not entirely sure it makes sense to break  
Acquisition and EC out of a larger Zope 2 package.  Likewise for  
DateTime (given that there's already a Python datetime).  I suspect it  
would be decomposition for the sake of decomposition, which is not  
very compelling.


There are is a similar problem between things in Zope2 and ZODB, but  
ZODB does have a life outside Zope2, so I think it does make sense for  
a Zope2 depend on an external egg for ZODB packages.


- C

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: [Zope 2.12] Eggification of Zope 2 - pros and cons?

2008-03-25 Thread Martin Aspeli

Philipp von Weitershausen wrote:

Wichert Akkerman wrote:

Previously Martin Aspeli wrote:
I'm not sure this is all that useful. For Plone 4, we're just going to 
have a number of plone.*, plone.app.* and Products.* (and a few others, 
like kss.*) eggs that we can put in a KGS or version pin in a single 
"Plone" egg.

For Plone 4 we may also collapse all the plone.app.* packages in a
single package. 


+sys.maxint


This is slightly off-topic here, but I think the arguments are roughly:

 - Single package makes it easier for the release manager: only one 
thing to release and test


 - Single package is a bit safer, lest people get their versions messed 
up somehow and create an incompatible environment


 - Multiple packages makes it a easier for people who know what they're 
doing to "backport" a single package into an earlier Plone version or 
run an experimental (develop egg/trunk) package for a time, without 
having to do this with the entire plone.app namespace.


I suspect similar arguments would apply to Zope, except that the Zope 2 
distribution is more stable than Plone's and backporting is likely to be 
less of an issue. Still, I've upgraded Five and ZopeTestCase more than 
once in the past. :)


Martin

--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: [Zope 2.12] Eggification of Zope 2 - pros and cons?

2008-03-25 Thread Philipp von Weitershausen

Philipp von Weitershausen wrote:

Andreas Jung wrote:

during the latest 'zope.publisher' thread on zope-dev I came up with
the proposal to eggify the Zope core for the Zope 2.12 release. I 
would like to start a discussion about the pros and cons, risks and 
advantages of any eggification effort.


Chris favors a 'big' Zope egg with some dependencies (like ZODB) 
stripped out.


I have pretty much done this already. [1] defines an egg called 'Zope2'. 
All the Zope 3 eggs are dependencies, as are a few "non-core" packages 
such as ExtensionClass, Acquisition, etc. (which are already eggified 
and available on PyPI).


I should add here that the 'Zope2' egg is far from finished. The things 
I split off (Acquisition, DateTime, ExtensionClass, etc.) are working 
fine by themselves, but the 'Zope2' egg needs some more attention to get 
its tests passing and to get it working in a production environment.


I think *one* good goal of this sprint could be to switch repoze.zope2 
over from using the 'zopelibs' egg to using the 'Zope2' egg. The 'Zope2' 
egg should still work by itself in an instance-like fashion, obviously.

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: [Zope 2.12] Eggification of Zope 2 - pros and cons?

2008-03-25 Thread Philipp von Weitershausen

Wichert Akkerman wrote:

Previously Martin Aspeli wrote:
I'm not sure this is all that useful. For Plone 4, we're just going to 
have a number of plone.*, plone.app.* and Products.* (and a few others, 
like kss.*) eggs that we can put in a KGS or version pin in a single 
"Plone" egg.


For Plone 4 we may also collapse all the plone.app.* packages in a
single package. 


+sys.maxint
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: [Zope 2.12] Eggification of Zope 2 - pros and cons?

2008-03-24 Thread Martin Aspeli

Wichert Akkerman wrote:

Previously Martin Aspeli wrote:
I'm not sure this is all that useful. For Plone 4, we're just going to 
have a number of plone.*, plone.app.* and Products.* (and a few others, 
like kss.*) eggs that we can put in a KGS or version pin in a single 
"Plone" egg.


For Plone 4 we may also collapse all the plone.app.* packages in a
single package. 


+0.5

Martin

--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Re: [Zope 2.12] Eggification of Zope 2 - pros and cons?

2008-03-24 Thread Wichert Akkerman
Previously Martin Aspeli wrote:
> I'm not sure this is all that useful. For Plone 4, we're just going to 
> have a number of plone.*, plone.app.* and Products.* (and a few others, 
> like kss.*) eggs that we can put in a KGS or version pin in a single 
> "Plone" egg.

For Plone 4 we may also collapse all the plone.app.* packages in a
single package. 

Wichert.

-- 
Wichert Akkerman <[EMAIL PROTECTED]>It is simple to make things.
http://www.wiggy.net/   It is hard to make things simple.
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: [Zope 2.12] Eggification of Zope 2 - pros and cons?

2008-03-24 Thread Martin Aspeli

Philipp von Weitershausen wrote:

Andreas Jung wrote:

during the latest 'zope.publisher' thread on zope-dev I came up with
the proposal to eggify the Zope core for the Zope 2.12 release. I would 
like to start a discussion about the pros and cons, risks and advantages 
of any eggification effort.


Chris favors a 'big' Zope egg with some dependencies (like ZODB) 
stripped out.


I have pretty much done this already. [1] defines an egg called 'Zope2'. 
All the Zope 3 eggs are dependencies, as are a few "non-core" packages 
such as ExtensionClass, Acquisition, etc. (which are already eggified 
and available on PyPI).


That sounds like a good balance to me. We need to make sure that there's 
a single Zope egg that we can version-pin that'll always have a stable, 
working set up Zope 3 packages. Zope 3 is a whole farm-full of eggs, and 
version management can be tricky. Zope 3 has a KGS, of course, so maybe 
we can just use that.


I also started a branch of the Plone egg back then to see if it can be 
modified to install Zope 2 completely as a dependency. See [2].


I'm pretty sure Plone 4 will want to do this. We (read: Hanno) is almost 
done eggifying all of Plone anyway.


Note that the current "Plone" egg is not maintained and never quite 
worked out. Right now we use plone.recipe.plone to install Plone in a 
buildout, which version pegs all the plone.* eggs and friends (which are 
in PyPI), and then downloads a tarball of products that are added to the 
'products' line in the generated zope.conf. We want to get rid of the 
latter, of course.



I would prefer a more broader approach. One of the reasons are
company-internals modifications to the Zope core. Right now we 
maintain a more or less heavy modified version of Zope 2.8 in our

repos (making Zope upgrades pretty hard). A better modularization
would help  us here. Another example:
the Plone people maintained a Zope 2.10 branch with experimental ZODB
blob support. With an eggified version of ZODB you could easily
switch the eggs (easily spoken).


I feel indifferent to this in general, so feel free to split away more 
stuff from my 'Zope2' egg.


Having Zope with a separate ZODB and a few other "big" pieces makes 
sense indeed. Having tons of small packages that no-one will ever re-use 
outside a large Zope just creates overhead and the potential for people 
to buildout themselves into version conflicts.


So before promoting the eggification as an ultimate goal, let's discuss 
what we really need and want. A complete eggification just for the sake 
of eggs is possibly not the goal :-)



[1] http://svn.zope.org/Zope2.buildout


Yay for this. :)


[2] http://svn.plone.org/svn/plone/dist/Plone/branches/philikon-buildoutify


I'm not sure this is all that useful. For Plone 4, we're just going to 
have a number of plone.*, plone.app.* and Products.* (and a few others, 
like kss.*) eggs that we can put in a KGS or version pin in a single 
"Plone" egg.


Cheers,
Martin

--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: [Zope 2.12] Eggification of Zope 2 - pros and cons?

2008-03-24 Thread Philipp von Weitershausen

Andreas Jung wrote:

during the latest 'zope.publisher' thread on zope-dev I came up with
the proposal to eggify the Zope core for the Zope 2.12 release. I would 
like to start a discussion about the pros and cons, risks and advantages 
of any eggification effort.


Chris favors a 'big' Zope egg with some dependencies (like ZODB) 
stripped out.


I have pretty much done this already. [1] defines an egg called 'Zope2'. 
All the Zope 3 eggs are dependencies, as are a few "non-core" packages 
such as ExtensionClass, Acquisition, etc. (which are already eggified 
and available on PyPI).


I also started a branch of the Plone egg back then to see if it can be 
modified to install Zope 2 completely as a dependency. See [2].



I would prefer a more broader approach. One of the reasons are
company-internals modifications to the Zope core. Right now we 
maintain a more or less heavy modified version of Zope 2.8 in our

repos (making Zope upgrades pretty hard). A better modularization
would help  us here. Another example:
the Plone people maintained a Zope 2.10 branch with experimental ZODB
blob support. With an eggified version of ZODB you could easily
switch the eggs (easily spoken).


I feel indifferent to this in general, so feel free to split away more 
stuff from my 'Zope2' egg.


So before promoting the eggification as an ultimate goal, let's discuss 
what we really need and want. A complete eggification just for the sake 
of eggs is possibly not the goal :-)



[1] http://svn.zope.org/Zope2.buildout

[2] http://svn.plone.org/svn/plone/dist/Plone/branches/philikon-buildoutify
___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope )