Kolab2 architecture/format flaws

Marc Groot Koerkamp marc at grootkoerkamp.net
Sun May 15 13:27:32 CEST 2005


Martin Konold wrote:
> Am Freitag, 13. Mai 2005 08:18 schrieb Stephan Buys:
>
>
> Hi,
>
>
>> My suggestion at the time (somewhere in 2003) was that we create some
>> special headers to give loading hints to the event entries:
>
>> This way a client can go and and ask for all entries for a specific
>> day. For workweek, or month views the IMAP search can just be expanded
>> to include all the iterations of the different dates.
>
> You are still trying to "abuse" the IMAP store like a relational
> database.
>
> IMHO the only long term fix is that the webclient starts to build up the
> required mappings in the php session or in an external file. IMHO going
> with the php session is the easiest and the most efficient. Later you can
> optimized and make the php session persistent on disk though the actual
> client code shall only know about the mappings in the session.
>

I don't think a php session is a solution. On each initial login you still
have to fetch the entire calendar folder and create the cache in the php
session before you can take advantage of it.

An external file where you create an index file with startdate / endate to
uid mapping is much better. Optionally you could update the external file
with a cronjob. The client loads the indexfile, gets knowledge about the
state of the index file by looking at the last stored uid and only fetches
the new items to complete the index and remove the uid's that do not
exists anymore.

Maybe it's even possible to store the index file as a message inside the
calendar folder and retrieve it by a simple fetch. You only need to create
a new content-type where you specify it concerns i.e. a text/xml-index
message or you set a special flag on the message so that the client can do
a search for that flag and retrieves the message containing the index.

Regards,

Marc Groot Koerkamp.




More information about the users mailing list