[Zope-dev] package dependency refactoring progress report
Shane Hathaway
shane at hathawaymix.org
Sat May 23 03:24:42 EDT 2009
Martijn Faassen wrote:
> So, the only dependency cycles left in zope.app.publisher are these:
>
> zope.app.publisher <--> zope.app.publication <--> zope.app.http
I fixed those tonight. On the trunk, there are no longer any
dependencies between zope.app.publisher, zope.app.publication, and
zope.app.http, except testing dependencies.
Here is a summary of what I did:
- Moved the publication traversal code to zope.traversing and simplified
it from 3 classes to 1. This did not increase the dependencies of
zope.traversing at all, since publication traversal is only slightly
different from the traversal logic already in zope.traversing. It also
opens the doors for someday moving the gnarly traversal code in
zope.publisher to something saner in zope.traversing.
- Moved an XML-RPC view registration from zope.app.publisher to
zope.app.publication.
- Moved IHTTPException, IMethodNotAllowed, and the MethodNotAllowed
exception class to zope.publisher.interfaces.http. This move decoupled
zope.app.http from zope.app.publication.
- Moved getDefaultViewName() and queryDefaultViewName() to
zope.publisher.defaultview. If you look at the commit messages, you'll
see that I first attempted a different move that included the
<browser:defaultView> handler, but that move turned out wrong for other
packages and I reverted it.
- I used zope.deferred to deprecate things I moved from
zope.app.publication, zope.app.publisher, and zope.app.http. Are there
any objections to using zope.deferred in those packages?
In all, I changed 6 packages. Should I release them now, or should I
look for other dependencies we might clean up at the same time? The
changed packages are:
zope.traversing (3.7.0)
zope.publisher (3.8.0)
zope.app.publisher (3.8.0)
zope.app.publication (3.7.0)
zope.app.http (3.6.0)
zope.app.zcmlfiles (3.5.5; bugfix only)
Shane
More information about the Zope-Dev
mailing list