Re: [Framework-Team] Re: suggestion for central place to import tool interfaces from

2007-03-18 Thread Wichert Akkerman
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

2007-03-12 Thread Tom Lazar

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

2007-03-12 Thread Raphael Ritz

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