Backups for Google Calendar - a ruby application

| | Comments (1)

I admit I've not been so busy posting the to blog this year. One thing that's kept me busy has been learning Ruby on Rails making my first opensource application.

I'm a hobby programmer, so the idea of sharing my code is worrying. I'm sure there are lots of errors, bad practice and so on. On the other hand, I had a problem to solve at work and the application I wrote may help others. I use lots of open source applications for home and work so it seems only right to share my efforts with others.

What have I created? An application that backs up google calendars for all of our office users.

Why? Because occasionally we delete something we didn't mean too. For example Mrs X phones up to cancel an appointment with Mr A. Mr A is out of the office but Mr B can edit Mr A's calendar, so deletes the appointment. Except Mr A had all the Mrs X contact information on that appointment and hadn't yet created our own internal computer record. We've no longer got any way of contacting Mrs X.

How? The application I wrote reads the Private XML feed of a google calendar. That contains the most recent newly created or amended appointments. I check each entry in that feed to see if it's new, or if it's an existing appointment that's been modified. If they are new or modified, I add them to a database. If they're old and unchanged, I ignore them.

One thing to note - it doesn't restore appointments. As you've got all the content though, it shouldn't be so difficult to add it again should you need to.

Where to get it? I've shared it through github - http://github.com/steveroot/Google-Calendar-Backup

1 Comments

I have always wondered about this - trusting your office data to google. This looks really interesting and I will be trying it out next week.

Thanks for posting

Regards

Roger

Leave a comment

About this Entry

This page contains a single entry by Steve published on August 29, 2010 7:27 PM.

CRON - multiple cron jobs on one line (running consecutively, not concurrently) was the previous entry in this blog.

Amazing Stories of Polio - in a shop window is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

 

Powered by Movable Type 4.31-en