[Zope-dev] package dependency refactoring progress report
faassen at startifact.com
Sat May 23 14:59:34 EDT 2009
Shane Hathaway wrote:
> Shane Hathaway wrote:
>> 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.
> I should take a moment to describe the different purposes of these
> packages as I see them now. Conceptually, they are really quite
Thanks for doing this analysis, and considering improved naming. I think
good naming is very important, and it will help get this functionality
out of the 'zope.app' ghetto.
> - zope.app.publisher: A library of ZCML directives for configuring
> views. Also provides generic view classes. A better name for this
> package might be "zope.basicviews". A lot of packages depend on this.
I'm not sure 'basic' needs to be in there. Do we have anything less basic?
What about simply calling it zope.view? (I don't like the plural in
package names either generally)
> - zope.app.publication: Provides IPublication implementations and a
> mechanism/registry for choosing a different publication class for each
> request. Most packages should not depend on this. A better name might
> be "zope.publicationregistry".
I'm fine with this. I was considering 'zope.publication', but we already
have 'zope.publisher' so that'd get very confusing again, something we
> - zope.app.http: Provides generic views that translate HTTP verbs like
> PUT, DELETE, and OPTIONS into map operations. The idea is clever, but
> not everyone needs a REST-style API. A better name might be
Even though I don't really like the plural, I think 'zope.http' would
promise a bit too much, so 'zope.httpverbs' sound better.
So if we get some consensus about this, we need volunteers that can help
move the code over to these new packages and leave backwards compatible
imports in the old places. Is there anything in these packages we can
safely leave behind do you think? (ZMI related, perhaps?)
More information about the Zope-Dev