tags:

views:

321

answers:

1

I have an old (nineties) Delphi 2 Tier application that now needs to talk to a calendaring system. The users are going to take information from the Delphi application and create appointments. These appointments will need to be sent to a multi calendaring Zimbra server. They will be creating appointments in calendars belonging to other members of staff. I see the protocol to do this is CalDAV. The Delphi application and Zimbra will need to be able to sync in both directions (not immediately but in the future). That is updates in Zimbra will have to appear on the Delphi side some time later (this time frame has yet to be determined).

I can use a third party application to take the Delphi appointment data, convert it to CalDAV and upload to the Zimbra server periodically. Say every half an hour or so. I am interested in your thoughts on how best to architect this functionality and components I could use to code this? Any ideas would be very helpful?

+1  A: 

Some client libraries (with C, Python and Java source) are listed on the CalDAV web site:

http://caldav.calconnect.org/implementations/librariestools.html

A request / response message pair at http://de.wikipedia.org/wiki/CalDAV shows the general message structure.

A client for Delphi can be built using a HTTP client component (Indy, Synapse, ...) and the CalDAV specification. However, as the Wikipedia entry notes, 'Some developers have criticized CalDAV's complexity'.

So it might be aesier to build the message exchange application with Java or C, and use a database or other messaging solutions to connect it with the Delphi side.

mjustin
I was thinking that I would in fact write a Java/Scala program to periodically update and poll the Zimbra server via CalDAV. Thanks for confirming the idea.
TomPC