On Mar 7, 2007, at 10:57 PM, Martin Aspeli wrote:
Hi guys,

hi,

I believe Jens merged, and we now have some interesting side- effects...

first of all i'd like to say i agree with martin that it's great this branch is merged so we can finally start using `getUtility()`. however, having started to do just this yesterday (in a project tomster and i are currently working on) i've noticed that a) some tools are still missing and b) it's kinda cumbersome to find the correct interface to import before using `getUtility()`, at least in some cases.

while a) should be relatively easy to fix (my only question in this regard would be if it's okay to just add missing tools to `componentregistry.xml` at this point?) i'd like make a suggestion for b): how about importing all relevant interfaces into `CMFPlone.interfaces` so it'd be possible to always import all interfaces used to look up tools via `getUtitlity()` from there, no matter where they're originally from?

for example, the tool i was missing in this particular case was `portal_groups`. as it turns out it wasn't registered as a utility yet, so i just added

  <utility
     interface="Products.PlonePAS.interfaces.group.IGroupTool"
     object="/portal_groups"/>

to the `componentregistry.xml` of my site product for now. what bothered me here was to dig through various interfaces to (hopefully) come up with the correct one to use. in this case this was slightly confusing, since plone still registers its own groups tool in its `initialize()`, which is based on the one in `Products.GroupUserFolder.GroupsTool`, but in `toolset.xml` the one from `Products.PlonePAS.tools.groups` is used, and that's also the one used in an instantiated plone site. not exactly knowing the details of the relationship between membership and groups tools from cmf, plone, groupuserfolder and plonepas this was rather confusing, like i said.

so what do you think about having a central place to import those tool interfaces from so developers can avoid having to go read a lot of code to find the right one? maybe a dedicated place like `CMFPlone.interfaces.tools` would be better than cluttering `CMFPlone.interfaces` itself, but imho this would be a great convenience...

cheers,


andi

--
zeidler it consulting - http://zitc.de/ - [EMAIL PROTECTED]
friedelstraße 31 - 12047 berlin - telefon +49 30 25563779
pgp key at http://zitc.de/pgp - http://wwwkeys.de.pgp.net/
please sign the "climate wake up call" @ http://www.avaaz.org/


Attachment: PGP.sig
Description: This is a digitally signed message part

_______________________________________________
Framework-Team mailing list
Framework-Team@lists.plone.org
http://lists.plone.org/mailman/listinfo/framework-team

Reply via email to