[OGo-Developer] big resource hog in SoObject
Wolfgang Sourdeau
developer@opengroupware.org
Mon, 23 Jul 2007 08:35:34 -0400
On 2007-07-23 08:05:51 -0400 Helge Hess <helge.hess@opengroupware.org>
wrote:
> 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.
Ok. Then I could place this in SOGoObject. But it's a little pornish
don't you think?
> 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.
For LDAP, that is another issue which I partly agree with... If the
user expects to list all the entries of an LDAP directory, then it
should happen... But for regular use, I do plan to limit the search
results. And if you "connect" to an ldap addressbook from the web
interface, nothing will show by default (same behaviour as
Thunderbird). You *have* to do a search to get something.
Wolfgang