iCal Server (CalDav)

Has anyone implemented an iCal (CALDAV) server in an XOJO APP?

Can you share your experience and if possible some tips to start working on one?

I am working on a specialized tour app for artists, and it requires their iPhones to be synced with the calendar… The other idea is implement an CalDav client and have the app server update the CalDav server as if it was an app…

Any ideas, welcomed!

Is this a standalone app ?
Or one running as a cgi behind apache ?
apache has webdav support & that might be something you can leverage.

I’d guess it would be easier to set up a calendar & have their phones sync to that using normal subscriptions to a calendar

I haven’t decided if it should be stand alone or cgi… If cgi gives me leverage, then cgi will be.

Maybe the best solution is have my app be a client to an iCal server… Anyway I don’t know where to start with the iCal client ;)’ I guess I have to read more :wink:

[quote=29992:@Francisco Lobo]I haven’t decided if it should be stand alone or cgi… If cgi gives me leverage, then cgi will be.

Maybe the best solution is have my app be a client to an iCal server… Anyway I don’t know where to start with the iCal client ;)’ I guess I have to read more ;)[/quote]

Any luck yet? I am trying the same thing (to be part of a bigger app I am building)

Echo… echo… echo… :slight_smile:

implement webdav using the new xojo httpsocket and away you go :stuck_out_tongue:

I thought Xojo.Net.HTTPSocket was not available for web ?

An CalDav could be a non-web app - just a regular console or desktop app
As could a client app

That has been true, but this limitation is removed with the next release of Xojo (2016r1).

Do you need full sync capability or something less.

If you need full sync functionality with iPhones and such, I’d look at packaging one of the open source solutions already in use. The one used in OS X Server is freely available AFAIK. calendarserver.org

There are quite a few others as well. I think no matter what you do its potentially a large project unless you can simply have the end user subscribe to an ical file on a server somewhere and only add events from your xojo app.

It really depends on what features you need to implement.

[quote=257603:@Kevin Windham]Do you need full sync capability or something less.

If you need full sync functionality with iPhones and such, I’d look at packaging one of the open source solutions already in use. The one used in OS X Server is freely available AFAIK. calendarserver.org

There are quite a few others as well. I think no matter what you do its potentially a large project unless you can simply have the end user subscribe to an ical file on a server somewhere and only add events from your xojo app.

It really depends on what features you need to implement.[/quote]

Well, I am working on a event production management app. I use OS-X and iOS apps to connect to a webservice, that is also a part of the system. One thing that would be nice is some iCal integration. I mean, a user can add a calendar to his phone/ computer. This callendar uses the data served by the webservice to update certain event times etc. It would be nice to not only use the iOS app, but also, display the live data from the service. Of course the data is personal. “Person A” doesn’t have to be on location at the same time as “Person B”.
So, each user signs up, and receives personal calendar updates. I guess “Syncing” needs to be done, yes.

The big question is… Do users need to be able to write to the calendar from their phones. If not, you can do a simple calendar .ics subscription…and you don’t need caldav for that.

And the event data of that subscription will change the data on the phone whenever the data on the webservice changes? 'Cause that is exacly what I am looking for. Users don’t have to change it. The system will take care of that.
I think FaceBook does something like that, too. As I see birtdays and other events from FB in my iCal

Subscriptions periodically poll for new data. Clients will send a date in the Last-Modified header as to the last time they got an update and the server either returns content or an http 304 Not Modified response if nothing has changed.

Greg, do have an example of this?