Re: [Framework-Team] Re: suggestion for central place to import tool interfaces from
Previously Martin Aspeli wrote: > The good news is that most CMF tools are in Products.CMFCore.interfaces; > the other ones are more specific, like some of the i18n tools. I think > we ought to think closely about the interfaces in PlonePAS, though. I don't see how PlonePAS interfaces would be used outside of PlonePAS specific PAS plugins, so that shouldn't be a problem. Wichert. -- Wichert Akkerman <[EMAIL PROTECTED]>It is simple to make things. http://www.wiggy.net/ It is hard to make things simple. ___ Framework-Team mailing list Framework-Team@lists.plone.org http://lists.plone.org/mailman/listinfo/framework-team
Re: [Framework-Team] Re: suggestion for central place to import tool interfaces from
for the record ;-) +1 with raphael and +1 with martin re: 'polluting' the CMFPlone interface namespace so how about just following through with andi's proposal and just use something like `CMFPlone.interfaces.helpers` etc. i definitely want to see one(!) place for all those utilities that previously have been called with `getToolByName`! (well, actually *two*... `CMFPlone.interfaces` *and* `CMFPlone.interfaces.helpers`) just my EUR 0.02 cheers, tom On Mar 12, 2007, at 10:00 AM, Raphael Ritz wrote: Martin Aspeli schrieb: [..] The good news is that most CMF tools are in Products.CMFCore.interfaces; the other ones are more specific, like some of the i18n tools. I think we ought to think closely about the interfaces in PlonePAS, though. And while we are at this: I think Andy has a point here, nevertheless. I also feel somewhat uncomfortable when seeing things like tool = getToolByName(context, 'some_tool') being replaced with tool = getToolByInterfaceName(context, Full.dotted.path.to.the.interface.definition) This is not only because it's more typing and it looks more ugly but mainly because I'm afraid we will have to explain to people over and over again what to import from where. For one, it's simply not true that most interfaces live in CMFCore (simply compare a CMFDefault site and an OOTB Plone site) so we will have to educate people "yes, while this interface is from CMFCore, this other one is from here and this one is from there" which we didn't need to do before. Second, people may find it confusing when looking at the membership tool let's say. They may realize that there are definitions in CMFCore, CMFDefault and CMFPlone (the implementations, not the interface definition) so looking up the membership tool they might try tool = getToolByInterfaceName(context, Products.CMFPlone.interfaces.IMembershipTool) while tool = getToolByInterfaceName(context, Products.CMFCore.interfaces.IMembershipTool) would be the right thing. With other words, it may look like you where looking for the tool as defined in CMFCore but you'll get the one from CMFPlone (or thatever else might be registered at the local site). For people that don't have the big picture (yet) - and we are talking about TTW coding here - this might turn out to be confusing. Frankley speaking, I never really understood why getToolByInterfaceName needs the full dotted path to the interface definition anyway. Couldn't this utility just do what it proposes to do, namely look up by *name* (which for me would be just 'IMembershipTool', without the path; maybe it does and this is a non-issue then forget about this)? Raphael Martin ___ Framework-Team mailing list Framework-Team@lists.plone.org http://lists.plone.org/mailman/listinfo/framework-team ___ Framework-Team mailing list Framework-Team@lists.plone.org http://lists.plone.org/mailman/listinfo/framework-team ___ Framework-Team mailing list Framework-Team@lists.plone.org http://lists.plone.org/mailman/listinfo/framework-team
Re: [Framework-Team] Re: suggestion for central place to import tool interfaces from
Martin Aspeli schrieb: [..] The good news is that most CMF tools are in Products.CMFCore.interfaces; the other ones are more specific, like some of the i18n tools. I think we ought to think closely about the interfaces in PlonePAS, though. And while we are at this: I think Andy has a point here, nevertheless. I also feel somewhat uncomfortable when seeing things like tool = getToolByName(context, 'some_tool') being replaced with tool = getToolByInterfaceName(context, Full.dotted.path.to.the.interface.definition) This is not only because it's more typing and it looks more ugly but mainly because I'm afraid we will have to explain to people over and over again what to import from where. For one, it's simply not true that most interfaces live in CMFCore (simply compare a CMFDefault site and an OOTB Plone site) so we will have to educate people "yes, while this interface is from CMFCore, this other one is from here and this one is from there" which we didn't need to do before. Second, people may find it confusing when looking at the membership tool let's say. They may realize that there are definitions in CMFCore, CMFDefault and CMFPlone (the implementations, not the interface definition) so looking up the membership tool they might try tool = getToolByInterfaceName(context, Products.CMFPlone.interfaces.IMembershipTool) while tool = getToolByInterfaceName(context, Products.CMFCore.interfaces.IMembershipTool) would be the right thing. With other words, it may look like you where looking for the tool as defined in CMFCore but you'll get the one from CMFPlone (or thatever else might be registered at the local site). For people that don't have the big picture (yet) - and we are talking about TTW coding here - this might turn out to be confusing. Frankley speaking, I never really understood why getToolByInterfaceName needs the full dotted path to the interface definition anyway. Couldn't this utility just do what it proposes to do, namely look up by *name* (which for me would be just 'IMembershipTool', without the path; maybe it does and this is a non-issue then forget about this)? Raphael Martin ___ Framework-Team mailing list Framework-Team@lists.plone.org http://lists.plone.org/mailman/listinfo/framework-team ___ Framework-Team mailing list Framework-Team@lists.plone.org http://lists.plone.org/mailman/listinfo/framework-team