[Zope-CMF] Re: Tools as local utilities

Martin Aspeli optilude at gmx.net
Thu Feb 8 18:50:16 EST 2007


Tres Seaver wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Martin Aspeli wrote:
>> Jens Vagelpohl wrote:
>>
>>> All those who think this is somehow impure and dirty, keep in mind  
>>> that this arrangement won't be forever, only for the 2.1 branch.  
>>> Afterwards there's more time to plan on packaging things differently.
>> The only thing that worries me is that if we artificially inject it into 
>> Products.* and then want to move it, we'll have module aliases to 
>> contend with.
> 
> Shouldn't need them, unless we are somehow createing persistent objects
> from that package / product.  I thought all that stuff happened at
> runtime, with no persistence?

I suppose. Being the local site manager, though, I'm not sure; if it's a 
local utility, it has to persist. Also, if any third party components 
import it they'll break.

>> I guess *something* has to import it, so that may be unavoidable.
>>
>> It does feel fairly awkward to write something that is essentially a 
>> Zope 3 module in a "non-package" way.
> 
> I'm not convinced that anything which is this tightly coupled to Zope
> needs to be a package, rather than a product.  I don't think the
> "package zealots" get the fact that purity is not a win if we have to
> distort the rest of the application to satisfy it.

I agree, it's mainly philosophical, but it quickly becomes practical 
when you have a dozen or more of these (which is good if they deserve 
separation because of re-use potential) and your namespace grows and 
grows. Plone 3 has about 2 dozen eggs, which has allowed us to manage 
dependencies better, have smaller pieces to maintain each and separate 
code more cleanly. Having two dozen products would've been pretty 
horrendous, and most likely Products.CMFPlone would've inflated another 
hundred files.

I guess what I'm saying is, we see clear benefits of using plain 
packages and eggs. You have to draw a line in the sand somewhere. We 
drew it at 3.0. I understand that CMF didn't draw it at 2.1, so I'm not 
saying we should change CMF at this point in the game, but I truly hope 
2.2 can deal with eggs more explicitly.

Martin



More information about the Zope-CMF mailing list