Results 1 to 7 of 7
Like Tree5Likes
  • 5 Post By Czo
  1. Czo
    Czo is offline
    Czo's Avatar
    Posts
    3 Posts
    Global Posts
    2 Global Posts
       #1  
    Hi,

    I'm developing a CardDAV/CalDAV connector (first CardDAV because it's more important for me).

    This is the first very-very-very alpha release, for testing.

    What works currently:
    - discover carddav server by domain's PTR and SRV DNS records. Users without proper dns settings also can specify the correct server path for CardDAV root.
    - authenticate over https or http
    - user principal, and carddav home directory (or server, because Apple's iCloud uses more than one server)
    - download list of vcards
    - identify contacts that need to be delete from local contacts, and identify witch need to be download from the server
    - download vcards from the server
    - parse downloaded vcards, and dump vcard data to /var/log/messages

    How it works:
    user can specify the username in username@domain.tld format, if you using icloud you need to write your@icloudaddress.com@icloud.com. If your server don't have correct SRV/PTR records, u can specify server with username@https://your.cardavserver.tld/

    Currently i have problems with error reporting back to user (the example code on hp's developer site not working on touchapad (but it works on webos 2.1 in emulator))

    So anyone can help me, with testing the proper login, and sync with more and more carddav servers. In development i'm testing with DAViCal and Apple's iCloud.

    If you install the package, it's create a dummy application (how can i hide this applicatin, the sdk documentation says somethings, but it's not work on touchpad), then watch syslog on device(novaterm, and tail -f /var/log/message). After you watching the logs, please add the account (on touchpad, you immediately return to final step, before i can checks anything, on WebOS 2.1 i can notify user about wrong username/password/server address etc.)

    In syslog you can see somethings like this:

    checkCredentials args ={"username":"czo@czo.hu","password":"********","templateId":"hu.czo.carddavsync.contact","config":{ }}
    Discovered username: czo
    Discovered servername: czo.hu
    Try to resolve _carddavs._tcp.czo.hu
    Resolve via SRV record: _carddavs._tcp.czo.hu
    SRV Reply: {"priority":0,"weight":1,"port":443,"name":"XXXXXXXzo.hu"}
    SRV Valid Reply: {"priority":0,"weight":1,"port":443,"name":"XXXXXXXzo.hu"}
    SRV Saved Reply: {"priority":0,"weight":1,"port":443,"name":"XXXXXXXzo.hu"}
    Found SRV - domain: XXXXXXXzo.hu
    Resolve via TXT record: _carddavs._tcp.czo.hu
    TXT Reply: "path=/"
    We found a valid HTTPS DAV server: https://XXXXXXXzo.hu/
    Auth OK
    Found principal path: /caldavXXXXXXX/czo/
    Found home-set: /caldavXXXXXXX/czo/
    Found addressbook resource: ["https://XXXXXXXzo.hu/caldavXXXXXXX/czo/address/"]


    After you see the last line, finalize account setup, and go to Contacts app. In settings of contacts app, press the sync button. You see more and more 'Creating {"resource" …' lines, and finally you see all of your contacts on the dav server

    If anyone can test this code, anything other than iCloud or davical, please send me back the logs, if you can't see your contacts in syslog (because auto error, or any other problem). Please strip password, because i dont't need it!

    thanks.

    download: http://homokozo.czo.hu/hu.czo.carddavsync_0.0.1_all.ipk

    regards
    Czo
    Last edited by Czo; 12/21/2012 at 12:58 PM.
  2. #2  
    Downloading now! This will be exciting!

    I have an ownCloud setup at my apartment. I think it has CardDAV.

    Are you intending to release this as open source? (If so, I'll probably dig into the code a bit to help out.)
    Did you know:

    webOS ran on a Treo 800 during initial development.
  3. emmu's Avatar
    Posts
    6 Posts
    #3  
    Quote Originally Posted by Czo View Post
    Hi,

    I'm developing a CardDAV/CalDAV connector (first CardDAV because it's more important for me).
    [...]
    If you install the package, it's create a dummy application (how can i hide this applicatin, the sdk documentation says somethings, but it's not work on touchpad), then watch syslog on device(novaterm, and tail -f /var/log/message). After you watching the logs, please add the account (on touchpad, you immediately return to final step, before i can checks anything, on WebOS 2.1 i can notify user about wrong username/password/server address etc.)
    Hi, I tried to test it on WebOS 2.2.4 (Pre3 emulator) but got almost nowhere:

    > /opt/PalmSDK/Current/bin/palm-emulator --start "SDK-2222 (480x800)"
    > /opt/PalmSDK/Current/bin/palm-install hu.czo.carddavsync_0.0.1_all.ipk
    > /opt/PalmSDK/Current/bin/palm-log -f hu.czo.carddavsync
    following logs for application hu.czo.carddavsync on device "emulator" {802311ce243c52a49743b71e759e1ee2faab4d22} tcp 57629
    [20130120-00:52:55.154076] info: Tellurium : Subscribe Service..., /usr/palm/frameworks/enyo/1.0/framework/build/enyo-build.jsjsjs:$12$,$085$
    [20130120-00:52:55.173300] info: Tellurium loading..., /usr/palm/frameworks/enyo/1.0/framework/build/enyo-build.jsjsjs:$12$,$746$
    [20130120-00:52:55.193636] info: Tellurium service not available., /usr/palm/frameworks/enyo/1.0/framework/build/enyo-build.jsjsjs:$12$,$112$
    [20130120-00:53:47.589230] info: enyo_tellurium [cleanup], /usr/palm/frameworks/enyo/1.0/framework/build/enyo-build.jsjsjs:$12$,$079$

    Any thoughts?
  4. #4  
    Quote Originally Posted by emmu View Post
    Hi, I tried to test it on WebOS 2.2.4 (Pre3 emulator) but got almost nowhere:

    > /opt/PalmSDK/Current/bin/palm-emulator --start "SDK-2222 (480x800)"
    > /opt/PalmSDK/Current/bin/palm-install hu.czo.carddavsync_0.0.1_all.ipk
    > /opt/PalmSDK/Current/bin/palm-log -f hu.czo.carddavsync
    following logs for application hu.czo.carddavsync on device "emulator" {802311ce243c52a49743b71e759e1ee2faab4d22} tcp 57629
    [20130120-00:52:55.154076] info: Tellurium : Subscribe Service..., /usr/palm/frameworks/enyo/1.0/framework/build/enyo-build.jsjsjs:$12$,$085$
    [20130120-00:52:55.173300] info: Tellurium loading..., /usr/palm/frameworks/enyo/1.0/framework/build/enyo-build.jsjsjs:$12$,$746$
    [20130120-00:52:55.193636] info: Tellurium service not available., /usr/palm/frameworks/enyo/1.0/framework/build/enyo-build.jsjsjs:$12$,$112$
    [20130120-00:53:47.589230] info: enyo_tellurium [cleanup], /usr/palm/frameworks/enyo/1.0/framework/build/enyo-build.jsjsjs:$12$,$079$

    Any thoughts?
    I had to modify the synergy service to work with my server. There was very little log output, IIRC.

    The Tellurium messages are benign. They are some testing framework, I have been told, and do not affect applications/services.
    Did you know:

    webOS ran on a Treo 800 during initial development.
  5. #5  
    any update?
    i've just tried this with owncloud but it doesn't work .. or al least not well

    the log say that can find the principal path, but owncloud have the addressbook in a (i think different path)
    so the app say:
    the request is not suitable for the current configuration

    any idea?
    Federico Pietta "Darkmagister"
    http://www.darkmagister.org
    http://www.wosp.it
    Linux Registered User: #425709

    public gpg key: gpg --keyserver pgp.mit.edu --recv-key 1B20570B
  6. rgloor's Avatar
    Posts
    159 Posts
    Global Posts
    160 Global Posts
    #6  
    Hi,

    Is there still somebody working on it?
    I would be glad to pay for a working calDAV / cardDAV Synergy Connector. (5-10$ would be OK for me for a good working solution.)
    (If it will come out in a decent time frame. As I am working with a new client company, where this data exchange (calDAV / cardDAV) is required.)

    It would really be a pain, if that would be the reason to leave webOS!
  7. #7  
    Hello CZO.

    Could you clarify the license on this project? I think some people here would be interested to help but only if they know it is an Open Source project.

    regards
    Stefan Schmidt

Posting Permissions