[fpc-pascal] RFD: CardDAV support library for FreePascal, call for ideas

Lukasz Sokol el.es.cr at gmail.com
Wed Sep 25 13:03:34 CEST 2013


Hello,

since I have not found anything on CardDAV related/written in/for FreePascal/Lazarus,
(haven't googled with Delphi keyword thou)

I'd like to send out some smoke signals, asking which way would the
support for this kind of interaction (dare not call it a protocol)
would be best fitting into FreePascal/Lazarus world.

CardDAV itself is an extension of WebDAV and itself has its own RFC (RFC6532).

I myself am trying to write a client connecting via CardDAV to a
compatible server (built into my CRM, eGroupware) to request search and read 
addressbook entries.

(it was the developers of the CRM in question indicated to me that XMLRPC is dead and support
for it will be removed when they get a chance - that's why I'm doing this.)

So far I got as far as copy/pasting example XML from the RFC and
got a valid response from server, using THTTPSend from Synapse.
http://wiki.freepascal.org/XML_Tutorial (and particularly the second XML2Tree procedure from
http://wiki.freepascal.org/XML_Tutorial#Populating_a_TreeView_with_XML, with some mod of mine
to not pass a TTreeView but a TTreeNodes object into it instead) came in handy to understand 
the structure of it.

There are certain advantages of CardDAV over XMLRPC, which this post is too short to contain ;) 

I intend to keep it very simple at first, as it's enough for my purpose, to the point that the XML
elements+attributes would be coded just as string concatenating operations and validated using 
TXMLDocument from dom.pas.
Seems like the more complicated elements of DOM level 3 will need DOM.pas modifications too.

But I'd like to know, if there is interest in making it 'more sentient', e.g. as
a TDataSource/TDataSet descendant directly talking to (reading, at first) DOM.pas's 
TXMLDocument/TDOMDocument, then to a THTMLSend or any such class of your liking?

Please let me know your thoughts :)

Kind Regards
Lukasz




More information about the fpc-pascal mailing list