As a G Suite for Education school, Google Mail, Google Drive and Google Classroom are used extensively in support of our day-to-day business. The one tool that has not been able to penetrate is Google Calendar. Sure, many teachers and administrators use Google Calendar for themselves. But, when a meeting needs to be planned no-one uses Google Calendar invites and the “Find a Time” feature. Instead they send emails, or doodle.com requests and a meeting time can take very long to finalize.
The main reason for this is that teachers do not have their teaching schedules in Google Calendar. Our school uses a 9-day cycle which makes using the repeat option in Google Calendar impossible. So, if a teachers wants her calendar in Google Calendar, she needs to enter each lesson manually.
Our school recently switched our SIS from Serco’s Facility to WCBS 3Sys. The teacher’s schedule is displayed in the teacher’s dashboard in 3Sys, but it cannot be exported to an external calendar application.
This made me think: All the lessons are there in the database, so there must be a way to get them out and into Google Calendar. As it turns out, there is.
Google recently released a php client library for accessing it’s API. Luckily, I have some PHP programming experience, so it started playing with it. For authentication to your Google Apps domain, Google offers Service Accounts which allows domain admins to create authentication keys on the API console.
I was then able to write a PHP script that queries our SIS database for every teacher’s teaching schedule, manipulates the data into the correct format and then uses the Google Calendar API to create events in the teachers’ calendars. This all happens without the teacher needing to do anything!
The script is ready to launch in August, and all teachers will come back from vacation with their calendars already populated! Teachers will now be able to make full use of the organizational features offered by Google Calendar.