Google Calendar: Display Only Public Events

UPDATE: See a much easier solution in my next post, Google Calender: Display Only Public Events -- EASIER WAY.

I share my work calendar - showing only the free/busy details - with everyone in my district’s domain and also the public.  This way people can see if I’m busy before requesting a meeting, but the specific details of my schedule are kept private. What’s nice is that I can select individual events to be public and show all event details, which is useful for group events such as trainings.  In ordered to keep staff apprised of upcoming events, I wanted to create a feed on my website that showed just these public events, i.e. I didn’t want to display my entire agenda of “Busy” events. However, Google does not provide a way to filter a calendar before embedding it, so I needed to create a separate calendar of just my public events. Faced with having to update events on both my default calendar the public events calendar*, I turned to Yahoo Pipes to make a public events calendar that was automatically updated with any event I marked as a public on my default calendar.
Public Event Pipe
fig. 1 Public Events Pipe
Yahoo Pipes is a service that enables users to mashup, filter, and otherwise mess with various feeds; it is a very simple tool, but yet very extensible. My pipe takes a calendar’s iCal address and filters out all private events; the resulting iCal feed can then be subscribed to from Google Calendar. Once subscribed to this custom feed, the calendar will update with any new public events or changes made to existing events. There is a delay in updates, but it is better than having to add/update events in two places. I then embedded the Public Events calendar in my site, using Google’s built-in embed helper.
I published my pipe so that anyone can input their own calendar’s iCal address to create a feed containing only their public events, without actually having to recreate their own pipe. Geeks looking to see how it works should see fig. 1, which shows the source along with annotations, or click ‘Edit Source’ on the pipes main page, to see a live example of the source and play around with a copy of it. Below is the resulting calendar widget, for complete instructions on creating a one of your own, see my tutorial Google Calendar: Public Events Feed.

*When a coworker adds my calendar to theirs or checks my availability when creating an event, Google will only show my default calendar, so it’s important that I keep all events on my default calendar.

No comments:

Post a Comment