I'm creating a Rails app which will manage rostering for a team of workers. I would like to create a calendar for each user that they can view in their calendar app of choice (Google Calendar, Apple Calendar, Outlook, etc).
I've looked at using Oauth to access and edit user's Google calendars, but this seems too invasive and only addresses users with a Google account.
Another option I've looked at is for the app to have a Google account and create secondary calendars for each user which can be shared with them but again, this doesn't address Apple Calendar/Outlook users.
I'm looking for a better solution, but hitting a wall. I suspect the answer may involve generating an iCalendar file or feed for each user to subscribe to but I'm not sure of how to implement this.
The events (shifts) should propagate automagically to user's calendars when they are updated.
1 thought on “Strategy for creating user calendars?”
What you are looking for is the CalDAV protocol. Unfortunately, it’s not as universally implemented as it could be. If you look for CalDAV gems, you’ll find a LOT of options, all half implemented, mostly abandoned.
Sorry, but calendars are hard. You’ll probably have to settle for multiple implementations, one for each major type of calendar (Google/Apple/Microsoft)