[Zope3-dev] Re: move 'App' out of 'Zope'

Jim Fulton jim@zope.com
Sun, 22 Dec 2002 13:04:40 -0500


Jeff Kowalczyk wrote:
> "Martijn Faassen" wrote
> 

...

> If you'll pardon a few 'why is the sky blue'-level questions, which are specifically not
> advocating their obvious theme:

You raise some excellent questions.


> - What are the differences between a reusable 'zc' package and an ordinary package
> installed in the user's python site-packages using dist-utils?

Zope packages can be given meaningful names without worrying about name conflicts
because they live in their own namespace, 'zope'. The alternative would be to embed
the namespace in the name, as in 'zecurity' or 'zodb'. (Of course, at this point,
the zodb name is well established.)

> - Which priorities are reflected in the consensus to the above question:

Hee hee. Good question.


> a) Zope setup ease

no.

> b) Zope development ease (debugging a convenient source code layout)

no.

> c) Ease of testing Zope with multiple python versions (2.2.x, 2.3 CVS)

no


> d) Zope is runnable with cvs checkout, no post-steps required

no

> e) Zope component discovery and registration ease

no

> f) Import statement compactness and consistency

Hm, arguable, but, imo no.

> g) Ease of reuse for python packages in both Zope and general python programs

no


> h) Broad audience for zc reusable components among general python users accustomed to
> distutils support

not really.

The only point that I can see is that people somehow think that the zope package should
only contain things that are dependent on the zope application framework.


> - Does the Zope3 component configuration make it easy to treat python packages outside the
> Zope file layout heirarchy as first-class Zope components?

Yes.

> - Assume the new Zope component architecture and configuration fosters growth in new
> python components or the refactoring of existing components that offer specific
> enhancements to Zope and are reusable to general python programs without modification
> (XML, PDF and SVG Zope tools, network protocol libraries (Jabber, etc.), workflow engines,
> data adapters, etc).
> Should those new packages find homes in python site-packages or in 'zc'?

I suggest that it depends on what project these modules are associated with, If they
are developed as part of the zope project, they should go in zope. If they are part of
another project, they should be part of that other project's namespace.  I suggest that
taking names from the top-level Python namespace is a bad idea and should be avoided.

Jim


-- 
Jim Fulton           mailto:jim@zope.com       Python Powered!
CTO                  (888) 344-4332            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org