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

Daniel Gaspary dgaspary at gmail.com
Wed Sep 25 21:57:16 CEST 2013


Thank you for applying the patch, Michael.

As soon as I have some time I will send another one related to the same case.

On Wed, Sep 25, 2013 at 4:31 PM, Michael Van Canneyt
<michael at freepascal.org> wrote:
>
>
> 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 at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal



More information about the fpc-pascal mailing list