[Zope3-dev] Moving more stuff to zope.products

Jim Fulton jim at zope.com
Wed Feb 4 21:35:23 EST 2004


Jeffrey P Shell wrote:
> On Feb 4, 2004, at 10:12 AM, Philipp von Weitershausen wrote:
> 
>> Hi there,
>>
>> in the currently ongoing process of reorganizing Zope3's package 
>> structure and gutting out zope.app, I think the main packages that 
>> have yet to be moved are:
>>
>> - zope.app.workflow
>> - zope.app.content
>> - browser skins
>>
>> While the first is probably easy to agree on, I realize that the 
>> latter could be a point of discussion.
>>
>> Anthony Baxter argued that just moving zope.app.content to 
>> zope.products.content will not flatten the product hierarchy at all. 
>> That is certainly true since the depth of the package remains the 
>> same, however the package hierarchy will be straightened out a lot. 
>> Remember how all interfaces are in zope.app.interfaces.content, all 
>> browsers views are in zope.app.browser.content...? (see discussion 
>> several months ago...)
>> From a philosophical point of view, content objects are custom to any 
>> application. I have application where I never need Folder, File or 
>> weird (forbidden?) stuff like Templated Page. Thus, one could argue 
>> that all optional stuff belongs in zope.products, not in the core.
> 
> 
> Zope 2 separated out core OFS items (analogous to zope.app.content, I 
> assume) from 'Products.OFSP' (OFS Product).  OFSP seems to be a bit of a 
> graveyard, consisting of 'Version' and 'Draft' objects (the latter never 
> being officially completed and exposed to the outside world).  It would 
> probably be wise to avoid a situation like that.

Yup.  As mentioned in a previous thread on this topic, there will be
a process for retiring subpackages of products.  If products don't
retain a maintainer, the will eventually go away.  It's likely that there
will be some pruning prior to the first beta.

> I need to find out more about the dependencies on usage of 
> zope.products.  I'm a bit stymied at the zope.products.securitypolicy 
> implementation as it stands now, because it seems like it's something a 
> lot of other elements (at least, products) could depend on

I don't think so.

 > (using the
> ZCML 'role' and 'grant' tags, which are added to the main 'zope:' tag 
> namespace). 

Products should never use these. Only the site file should use these.

You are correct that these shouldn't be in the zope namespace.


 > If there are very very very common products that are likely
> to be used by everybody (at least, everybody starting out), 
> 'products.zcml.in' needs to stay up to date with a good basic setup and 
> comments, such as 'lots of products may depend on these, so they should 
> be loaded first' and then the 'here's some optional products'.  When I 
> was playing with Zope 3 a couple of days ago (for the first time in 
> quite a while), my instincts on where to place product loads didn't 
> quite work out.

In general, products should not depend on other products.
If there's a product that many other products depend on, then
it should probably be in the core. The security policy is *not*
such a product.

> Is there any document about how zope.products is meant to be used?  The 
> Wiki didn't yield anything helpful - is it all in the archives of the 
> zope3-dev list?

Well, there's src/zope/products/README.txt. :)

Jim

-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org




More information about the Zope3-dev mailing list