[SOGo] WebDAV ACL Principals

Helge Hess sogo@opengroupware.org
Tue, 8 Apr 2008 00:37:53 +0200


On 08.04.2008, at 00:15, Wolfgang Sourdeau wrote:
> I don't know if you are serious but I left myself a note in  
> SOGoAppointmentFolder a couple of days ago saying exactly that

Great! :-)

>> To evaluate the EOQualifier, you would first check whether all  
>> EOQualifier keys are in the content index table (methods to extract  
>> the keys should already exist). If so, you can directly translate  
>> that into GCS SQL. If not, you can do partial things in SQL or just  
>> grep through the whole content (as a first shot).
> I think looking up the fields in the OCS quick tables would suffice  
> even if it means adding more fields in the tables.

I don't think so. CalDAV allows querying of ANY field. We can't  
possibly add all of them. Well, if we do, we would need to dynamically  
enhance the index table. (which might be quite viable, in fact the Z1  
plugin does something like that, but its not too easy to implement,  
especially X-database).

>> Would be nice to have that in SOPE ;-)
> I don't know how you would do that in SOPE. My idea is to use the  
> quick tables but OGo/SOPE doesn't use that concept...

There are two steps:
a) converting the REPORT into an EOFetchSpecification
b) performing the EOFetchSpecification

In fact SOPE already does both of them in a generic way for DASL  
(PROPFIND, SEARCH HTTP methods). The entry method is - 
performWebDAVQuery:. I don't see why it would not work in a generic way?

Of course SOGo would then override the generic in-memory  
implementation with database ones. Thats also how ZideStore works (if  
it can 'detect' a certain query, it will evaluate it in the database).

Anyways, a generic implementation of b) is not the most important  
thing (because it will usually require custom implementations  
anyways). But a generic implementation of a) would be very useful. And  
everything is in place for that.

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