A Mashup using Google Calendar and Timeline

Our team is always on the move. We use Google Calendar to check where individuals in the team are (or should be!) at any given time. However, the default view isn't particularly useful in showing how events relate to each other or in tracking upcoming important events. We realised we needed a Gantt-type view.

We decided to make a mashup of the Google Calendar data using the Google data api, events from our own Management webapp (built with Django) and Timeline, one of the Simile projects at MIT.

Small image of the Timeline in our CLWManage application.
A small view of Timeline in use as part of our CLWManage management web app. Click to see a larger view.

One special aspect of the way we use the Google map data is that we include only events that are described in certain phrases, or are located at particular locations. Consequently we use locations such as "Special" or "Meeting" to denote events that should show up in the Timeline view.


$python timeline_maker.py 
usage: %timeline_maker [options] <google-calendar account email>

The programme requires the Google Calendar account name before it can
process the contained event feeds. At the time of writing, issues with
parsing the Google weather calendar have been noted; so that function is
excluded. The LOCATIONS set can be configured to parse only event fields
whose location is included in the set mentioned above. Each set entry
should be delimited by a comma and is defined as:

  -h, --help            show this help message and exit
  -s START_WEEK, --start-date=START_WEEK
                        The ending date of when calendar events should be
                        collected (dd-mm-yyyy)
  -e END_WEEK, --end-date=END_WEEK
                        The ending date of when calendar events should be
                        collected (dd-mm-yyyy)
  -t SEARCH_TEXT, --search-text=SEARCH_TEXT
                        Search Text to parse the calendar events
  -S SOURCE, --source=SOURCE
                        Specifies the connecting source


Google data api
Example code download (1004 K)