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

Jim Fulton jim at zope.com
Thu Feb 5 14:00:14 EST 2004


Casey Duncan wrote:
> On Thu, 05 Feb 2004 11:43:27 +0100
> Philipp von Weitershausen <philipp at weitershausen.de> wrote:
> 
> 
>>>>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.
>>>
>>>It's a bit hard to imagine a Zope without folder.
>>
>>It's hard to imagine Zope without a *container*... :) But ok, I can
>>see why folders should maybe remaing a part of zope.app. The other
>>stuff should move to zope.products, though.
> 
> 
> I disagree. My notion of a folder may not be yours. zope.app should IMO
> define a base container (probably not even suitable for use by itself).
> A default folder for content space derived from it can be defined in a
> product that is enabled by default.

Right, the default will be Folder. You will be able to override this
with something else.  90% of Zope users will not care to do so, however,
and certainly won't want to have to.

> I'm not just speaking hypothetically here. The fact the OFS.Folder is
> part of the Zope2 core bothers the heck out of me.

Sorry to hear that. :)

 > Granted the contract
> of ObjectManager does too. Anyhow, I feel relatively assured we won't
> wind up with that sort of thing in Zope3 since they are a direct result
> of the mixin class model and lack in separation of concerns that pervade
> Zope2.

I don't understand what that has to do with it.  Most people aren't
going to totally refedine Zope at every level. They will want some standard
batteries to be included.

> 
>>Btw, I also feel kind of strongly about making Templated Page and
>>Python Page (and possibly Catalog!) separate from the other 'sane'
>>content objects, such as File, Image, etc. *and* disable them by
>>default. If people do not want to disable them by default, it should
>>at least be a matter of one line in products.zcml to disable them.
> 
> 
> I don't really see why any specific content objects need to come with
> the core. 

To make it usable.

> It seems a bit silly to ship products with Zope3 that are disabled by
> default. Things that are disabled probably should be separate from the
> main distro.

What ships with Zope 3 is an open issue that we aren't really thinking
about yet.  Some of the things in zope.products will be shipped in
common distributions, and some won't be.

> 
>>We could make two packages in zope.products:
>>
>>- zope.products.basiccontent or defaultcontent
>>- zope.products.codecontent
> 
> 
> Maybe, but I don't feel too strongly about it.  I guess it will make the
> products.zcml easier to manage since you can just nuke one line to
> disable codecontent for example.

yagni :)

> 
>>or
>>
>>- zope.products.content
>>- zope.products.content.code
>>
>>I prefer the first one, mainly because of the hierarchy depth and the 
>>hierarchy straight-forwardness (interfaces, browser, etc.)
> 
> 
> The nesting seems unecessary since they would be in different modules
> anyway (I hope ;^). Making them different top level products seems
> reasonable (and more discoverable too).

Yup

> -Casey
> 
> P.S. I'm really pleased this effort is happening. This is the kind of
> vigilance that is necessary to keep the codebase clean and concerns
> separated. It will only be possible to keep it that way if it starts out
> that way.

Yes

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