Michael Howitz wrote:
while looking at the dependencies of packages in the zope.* namespace at
gocept we found out that zope.sendmail depends on zope.app.component.
Just to make sure: If we ever had a formal distinction of the zope.* and
zope.app.* namespaces, I think we've abandoned it a while ago already.
So, it doesn't matter whether a package is in zope.* or zope.app.*, we
need to take all interdependencies (also the ones in zope.app.*) into
account. So all in all I don't think it's a big problem in zope.sendmail
depended on zope.app.component, as long as zope.app.component wouldn't
depend on a gazillion other things...
zope.sendmail needs zope.app.component.vocabulary.UtilityVocabulary to
define a vocabulary for the utilities implementing
So we'd suggest to move zope.app.component.vocabulary.UtilityVocabulary
out of the zope.app.* namespace because it is a generic vocabulary.
Possible places for UtilityVocabulary could be zope.component (because
the concept of utilities is defined there) or zope.schema (because the
concept of vocabularies is defined there).
zope.schema seems to be the better place because zope.component does not
depend on zope.schema yet.
But zope.schema does in no way depend on zope.component.
zope.app.component then can import UtilityVocabulary from the new place
to avoid deprecation.
http://worldcookery.com -- Professional Zope documentation and training
Zope3-dev mailing list