[Zope-dev] zope.publisher dependencies
Shane Hathaway
shane at hathawaymix.org
Tue Feb 24 12:44:39 EST 2009
Jim Fulton wrote:
> On Feb 24, 2009, at 3:08 AM, Shane Hathaway wrote:
>
>> I've been working on the dependencies to and from zope.publisher.
>> Refining the dependencies should make it easier to integrate
>> zope.pipeline when it's ready.
>
> Can you elaborate on this a bit?
I've been discussing zope.pipeline on my blog. I am attempting to
rebuild the publisher to make it easier to understand and customize. I
think it's working out pretty well. zope.pipeline is intended to
replace most of the implementation code in zope.publisher and
zope.app.publication.
To accomplish that, it looks like I ought to separate the
implementations in zope.publisher from the specifications. Separating
the zope.publisher.interfaces package would mostly accomplish that.
After thinking this over last night, I realize that the idea to move
BrowserView, BrowserPage, and TestRequest is driven by the desire to
clarify the dependency graph. That's more complex than what I'm trying
to do and I don't think I need to do that for zope.pipeline, so I'm
going to withdraw from that part of the discussion for now.
>> I've noticed that nearly all packages that depend on zope.publisher
>> depend only on a few pieces of it:
>>
>> - zope.publisher.interfaces
>>
>> - zope.publisher.browser.Browser{View|Page}
>>
>> - zope.publisher.browser.TestRequest
>
>
> I'd like to turn this around a little bit. Only browser-based code
> should depend on zope.publisher. This seems like a very reasonable
> dependency. It's like wxwindows UI code depending on wxwindows.
> Maybe the browser code should be factored out of the packages that
> depend on zoep.publisher so that only *that* code has the dependency
> and non-browser code doesn't.
I think things are already pretty well factored in that sense. Take
zope.formlib, for example. It wouldn't make sense to separate
zope.formlib into an abstract package and a browser package, because
zope.formlib only makes sense for browsers.
Shane
More information about the Zope-Dev
mailing list