[Zope3-dev] Voting on Schema design

Casey Duncan casey@zope.com
Mon, 15 Jul 2002 14:29:28 -0400


On Monday 15 July 2002 11:33 am, Shane Hathaway wrote:
> Martijn Faassen wrote:
> > Shane Hathaway wrote:
> > [snip theory]
> >=20
> > Yes, I think the theory makes sense, but it still doesn't explain
> > why some stuff, like Interfaces, is not prefixed with Zope.. Presumab=
ly
> > as it should be useful outside of Zope (by, say, Twisted). But then, =
what
> > about ComponentArchitecture and PageTemplates? And there we go into
> > the confusion again. :)
>=20
> My gut feeling is that putting a reusable package outside Zope.* is a=20
> request for the package to eventually be included in the Python standar=
d=20
> library.  Interfaces are really a language feature, so in this case it=20
> makes sense.

Here's the way I've been thinking about it:

Everything under Zope is part of the "Zope package" that is, it is distri=
buted=20
as part of Zope. Now whether or not a Zope.* package can be used=20
independantly of Zope is besides the point. Calling it "ZopeCorp" or "ZC"=
=20
makes no sense to me in that context, we aren't packaging a company or a=20
community ;^). ZopeLib maybe, but we've already got a "lib" directory abo=
ve=20
it, plus thats more to type "everywhere".

So then, things above Zope are global modules that someday may not be=20
distributed with Zope (when they land in Python) and possibly would be pu=
t=20
into site-packages when installing Zope3, no? This is also a place for=20
required packages that are not part of the Zope3 project at all, and are =
also=20
not distributed with Python.

So by that line of reasoning here is a contrived argument why each packag=
e is=20
in lib/python/

Persistence    Hopes to be part of Python one day
Schema         Ditto (perhaps wishfully?)
Transaction    Ditto
Interface      Ditto
zLOG           Ditto
ZODB           Arguable, it is a standalone package, won't be Python core=
 tho
PageTemplate   Dunno, seems fishy to me ;^), is it standalone? what about=
 TAL?
ZopeLegacy     A parallel to the Zope package. IMHO should be Zope/Legacy
SOAPpy         Dependancy not part of Zope project
zlib           Dependancy not part of Zope project
Zope           Well, Duh!

The only one that doesn't make any sense to me is PageTemplate. Can anyon=
e=20
justify its placement?=20

With ZopeLegacy you could argue that you don't want it inside Zope so tha=
t it=20
would be easier to separate the two later I suppose. As for ZODB, I'm not=
=20
sure. I vote that all "not sures" go under Zope though just to be consist=
ent.

-Casey