Re: Re: zope.sendmail having dependency on zope.app.comonent
Baiju M <[email protected]>
| Newsgroups | gmane.comp.web.zope.zope3 |
|---|---|
| Message-ID | <[email protected]> |
Wichert Akkerman wrote: > Previously Philipp von Weitershausen wrote: > >> On 30 Aug 2007, at 14:19 , Michael Howitz wrote: >> >> >>> Am 22.08.2007 um 15:53 schrieb Philipp von Weitershausen: >>> >>> >>>> 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... >>>> >>> So, you suggest to leave this dependency as it is as long no-one >>> complains? >>> >> In general, yes. That said, zope.app.component isn't the lightest >> dependency. It draws in almost all of zope.app.* >> >> >>>>> 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. >>>> >>> Yes, you are right. So we would introduce a dependency from >>> zope.schema to zope.comonent. >>> The only way to get lost of the zope.app dependency seems to be a >>> new package "zope.app.sendmail" (including deprecation!). But there >>> is already a zope.app.mail which is deprecated and will be removed >>> in 3.5. >>> >> I don't understand why that is "the only way" and why we have to >> create more packages in that dreadful zope.app.* namespace. >> >> One way to break this dependency is to move the UtilityVocabulary out >> to a separate package, e.g. zope.utilityvocabulary. >> >> Another way is to simply stop using UtilityVocabulary; this would >> also be an opportunity to replace it with a source. zc.sourcefactory >> is supposed to make this quite easy (and from what I've seen, it >> does), but unfortunately its dependencies aren't exactly light-weight >> either. >> > > Is there documentation on sources anywhere? The last time I checked > there was nothing that I could understand either in zope.* or > on the wiki. > There are some docs here: http://pypi.python.org/pypi/zc.sourcefactory Regards, Baiju M