[Zope3-dev] RFC: move 'App' out of 'Zope'
Martijn Faassen
faassen@vet.uu.nl
Sat, 21 Dec 2002 14:14:11 +0100
Hi there,
I'd like to call people's attention to the idea I just had concerning
directory hierarchy reorganization, before it's monday and it's too
late. :)
Currently, we have the following:
python
Zope
App
reusable packages
where 'Zope' is the namespace package for everything developed by the zope
community, and 'App' is the namespace package that contains the actual
Zope 3 application server code. 'App' depends on things in 'Zope', but
not the other way around.
In the current renaming proposal, this would look essentially unchanged:
python
zope
app
reusable packages
Though we've already granted that 'zodb' should have its own toplevel
package:
python
zope
app
reusable packages
zodb
Now my proposal would be to move 'app' out of 'zope', as it's out of place
among all these reusable packages. While we're at it, let's also rename 'app'
*to* 'zope', as really when we speak about "Zope 3" we are talking about
the application server in the 'app' package. Since we then have to rename
the 'zope' namespace to something else, let's pick 'zc' (provisionally,
there are some objections as it could be considered to stand for
"Zope Corporation" and not "Zope Community"). (what about shortening
it to 'z'? Then we have the 'z' everywhere! :)
It'd look like this:
python
zc (was zope)
reusable packages
zope (was app)
zodb
How would this affect imports? Imports in the 'zc' package are essentially
unchanged (except that they now import from 'zc' not 'Zope', but we're
renaming anyway). Imports in the 'zope' package (was App) will become
a bit less complex, though:
>From current to new proposal to amended new proposal:
from Zope.App.ZopePublication.Browser.PublicationTraverse import PublicationTraverser
from zope.app.publicatation.browser.traversal import PublicationTraverser
from zope.publication.browser.traversal import PublicationTraverser
**
from Zope.App.OFS.Content.DTMLPage.Views.Browser.DTMLPageEval import DTMLPageEval
from zope.app.browser.content.dtml import DTMLPageEval
from zope.browser.content.dtml import DTMLPageEval
**
from Zope.Proxy.ContextWrapper import ContextWrapper
from zope.proxy.context import ContextWrapper
from zc.proxy.context import ContextWrapper
Thoughts?
Regards,
Martijn