[fpc-pascal] RFD: CardDAV support library for FreePascal, call for ideas
Michael Van Canneyt
michael at freepascal.org
Wed Sep 25 21:31:28 CEST 2013
On Wed, 25 Sep 2013, Lukasz Sokol wrote:
> 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?
I do not think that a TDataset descendent is needed.
A simple collection based class will do just fine, and a class to handle transport.
I have one for WebDAV, and CardDav really is not so much different.
I also do not see why you would need alterations to DOM.pas, both WebDav and CardDav use plain and simple XML.
BTW. The RFC is 6352 instead of 6532.
Michael.
More information about the fpc-pascal
mailing list