[OGo-Developer] big resource hog in SoObject

Helge Hess developer@opengroupware.org
Mon, 23 Jul 2007 14:05:51 +0200


On 23.07.2007, at 13:54, Wolfgang Sourdeau wrote:
> Yes but if you override it, you lose the features that it has. Such  
> as web method resolution...

Web methods are resolved by the SoClass? Just call

   if ((o = [[self soClass] lookupName...]) != nil)
     return [o bindToObject:self inContext:_ctx];

Thats *really* easy.

In fact its _very_ common that one wants to change the lookup method  
to speed up the lookup process. Eg in ZideStore object ids are always  
numeric and method names are never, allowing you to avoid either  
lookup, the same goes for the SOGo mailer.

But again: I think the real flaw is that toOneRelationshipKeys is  
used incorrectly in the SOGo LDAP controller. It should simply not  
return all IDs of the LDAP folder. Adam's post is quite valid in that  
context too.

Thanks,
   Helge
-- 
Helge Hess
http://www.helgehess.eu/