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 zope.sendmail.interfaces.IMailDelivery.

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
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to