[Kroupware] Kolab iCal <-> IMAP converter

Jason A. Pattie pattieja at pcxperience.com
Wed May 28 13:23:04 CEST 2003


Diego Rivera wrote:
> --------BIG NOTE!-------
> 
>>| IMAP is the ultimate |
>>| authority for the    |
>>| ical events!!        |
>>------------------------
>>Any time a change happens in the IMAP server, the ical file needs to be
>>re-exported to the Web Server so that clients pulling the ical file
>>don't force an ical generation on every request.  This includes
>>uploading an ical file to the Web Server interface.  Can the IMAP server
>>notify us of changes or run external programs on changes.  We really
>>don't want to have to add this feature to Cyrus IMAP.
>>
>>imap2ical
>>---------
>>0. Authentication?
>>1. Get list of e-mails in Calendar folder
>>2. Create array of ical events from e-mails
>>3. Create master ical file from list

> To mitigate the impact of ical generation on every request, a simple
> caching approach might help:

Our thoughts were that the ical file would be generated somehow each
time a change occurred on the IMAP server for that user's calendar data
and pushed to the Web Server.  The Web Server would only do the job of
serving up the file (i.e., static content) and not do any processing at all.

But on further analyses, it seems appropriate to do the processing on
the Web Server, but the issue is that do we just have an ical user that
has access to everyone's folders? or can we gather the user's
authentication information for the IMAP server in order to be able to
individually read their IMAP folder(s) on the server?

> 
> Opinions?
> 
> Should I go and get my dunce cap again?  :)

Not at all!  That was an excellent explanation of the issues involved
with many of the approaches that can be taken to solve this problem.

> 
>>ical2imap
>>---------
>>0. Authentication
>>1. Split ical file into events
>>2. Get ical events from mail server
>>3. Process incoming events against the Deleted Events Log
>>4. Update events in mail server
>>5. Return modified ical file
> 
> 
> I'm dying to see who's going to step up to the plate on this one, since
> I don't have much of a clue on how to do this very cleanly while keeping
> with the current architecture/design goals and philosophy!!!! :)

Well, since the Calendar data is broken up into individual e-mails in
the user's Calendar folder and stored as VCALENDAR events individually,
we would need to break down the incoming ical formatted file into its
individual events and "create" e-mails with any new events and modified
events (delete the original e-mail and create a new one with the
modified information, at least that's how it appears to work currently
with the KMail client).  I assume the Web Server application can handle
talking to the IMAP server to accomplish this.  I just don't currently
have an idea of what libraries are available for the different languages
to do this.  I guess can search on CPAN, but I don't really know (yet)
what I'm looking for.

-- 
Jason A. Pattie
pattieja at xperienceinc.com


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the Kroupware mailing list