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.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to