Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a database of calendar events, that can be administered by the user through a web application.

I would like to offer to the user, functionality for viewing their calendar in any client of their choice (to the extent that open standards are implemented), primarily Outlook and Google calendar.

I would also want for the clients, such as Outlook, to be able to edit and delete events, which would then be pushed to the web application, or which the web application would pull, or simply: which would somehow be synced.

Additionally, it would be neat to be able to create a tentative event in the database, send a meeting request to the client, and have the client's accept or reject status somehow reported back to the application. But if this can't be achieved, that's no big deal.

What would be the best approach for such integration? Would my application have to have built in support for communication with every single client API, such as Exchange etc.? Or are there any open standards that I could adopt?

My initial attempts with iCal have not been rewarding so far. Perhaps I'm trying to do something that iCal cannot do. In that case, are there other techniques that can?

share|improve this question

I would look at exchange for handling this -- it does most of the stuff natively and you can use exchange extensibility for the cases where it don't cover you, like entering calendar events into a web app.

share|improve this answer
Hmm, but the web app is the application, and the source of the data. Are you saying I should install an exchange server on the web app server? If I'm having a database with events, and a user wants to see these events in his Google Calendar, and be able to edit them, should that still be routed through Exchange? I'm thinking that exchange implies outlook, but perhaps I'm mistaken in that? – David Hedlund Nov 2 '11 at 11:59
I'm saying use exchange as the database. Google calendars can use published exchange calendars last I checked. – Wyatt Barnett Nov 2 '11 at 12:17
Alright. The event objects do contain a lot of relations to other parts of the application, but perhaps I'll be able to create some abstraction of those objects in exchange, and get exchange and my application to sync up. +1 for now, and I'll accept if this is what I end up doing. Thanks! – David Hedlund Nov 2 '11 at 12:22
Well in that case you could use exchange as more of a messaging layer. In any case it does a very good job at handling calendar stuff. – Wyatt Barnett Nov 2 '11 at 12:28

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.