Menu

Main Menu
Talk Get Daily Search

Member's Online

    User Name
    Password

    Help Implementing Maemo Calendar CalDav Support

    Reply
    briggers | # 1 | 2012-04-08, 12:24 | Report

    Hello Everyone,

    I'm working on implementing CalDav support for Maemo's inbuilt calendar and I need a little help and a few ideas.
    I've managed to get libcaldav[1] and libical[2] compiled and working and can interact with an online caldav calendar server. It's not fully tested yet though, so I can't say it all works.
    Next, I plan to write code translates between libcaldav/libical and Maemo's Calendar-backend[3]. This seems to be a simple yet non-trivial task.
    Before I start, I was just wondering about the overall architecture of what I'm doing, and I would like some input.

    How should I structure the whole thing?

    The calendar UI is closed, as far as I know.

    1]
    I could compile my code into a sort of daemon, write a separate GUI (that goes into the settings app) which stores user settings (Calendar URLS, usernames and passwords) etc. and interacts with the daemon.

    Pros:
    1. Separation between the backend caldav-calendar interaction and the frontend UI and settings.
    2. People are free to implement their own GUIs or interact with the backend CalDav programmatically etc.

    Cons:
    1. Adds a lot more complexity, such as communication between the two separate parts.
    OR

    2]

    Write a monolithic app that includes the backend CalDav stuff, the GUI and settings etc.

    Pros:
    1. Simple to implement

    Cons:
    1. It isn't a modular approach. Combines two essentially unrelated tasks.

    Any ideas, inputs, comments? This is the first time I'm programming anything for the Maemo platform and I'd like to do it right

    [1] http://libcaldav.sourceforge.net/
    [2] http://sourceforge.net/projects/freeassociation/
    [3] http://maemo.org/api_refs/5.0/5.0-fi...endar-backend/

    Edit | Forward | Quote | Quick Reply | Thanks

     
vBulletin® Version 3.8.8
Normal Logout