Log in

Using Evolution with a hosted Google Calendar

« previous entry | next entry »
Jul. 14th, 2009 | 04:09 pm

My personal domain is hosted with google. I finally got tired of being a mail admin and fighting the hackers, spam, security patches, needy users (myself), etc... So I opted for google since it was free, I mostly use my domain for public email lists anyway, and they have some neat services I wanted like a calendar.

Now, while my email is hosted at google, I rarely use the web interface. I prefer to use clients such as Evolution, or the mail app on my iphone. Why Evolution? Well it has fairly decent imap support, integrated contacts and calendar, with ability to sync those with remote sites.

So, google calendar in Evolution. Easy right? Eh, sortof. Evolution as shipped in F11 has a half-baked Google backend for syncing calendar and contacts and stuff. Don't use it. Instead use the much more mature CalDav support to connect to your google calendar. This means you'll have to enter in some URLs manually, but oh well.

It's the manual URLs that are the fun part, particularly with hosted sites at google. Not much documentation exists for what the URL format should be. But I googled around a bit and figured it out. To enable your google calendar in Evolution:

1) Go to Calendars tab in the left pane.
2) Click File -> New -> Calendar
3) Change the type to CalDAV
4) Name it whatever you ant
5) Pick a color for the bike shed
6) Choose to copy contents offline if you want (I do)
7) Choose to make this your default calendar (I did)
8) Put in the url for your calendar. This is the fun part. For your hosted domain you should have one default calendar for your login. If you just want to use that calendar that's easy. The URL would be:
caldav://www.google.com/calendar/dav/email@address/events/ It seems the trailing slash is VERY important. Lost a bit of time to that one.
Be sure to use your entire email address, user@domain.foo. See below for using multiple calendars or a calendar other than your default one.
10) Put in your username. Again this is your full address.
11) pick a refresh rate and you're done.

You should get a login box once you've hit OK and this is the password for your user account.

Now, what about multiple calendars? You can have more than just one in google calendar, as well you can sync more than just one in Evolution. The settings are the same except for the URL and for that you actually have to log into google to find.

First log into your hosted site and click on Calendar. Then click on Settings in the upper right corner. Then click on Calendars within the settings box. Then click on the calendar you want to sync with. Near the bottom there is a section marked "Calendar Address" and it is here, in parentheses you'll find the Calender ID. It'll look like a bunch of soup, something like j2solutions.net_3p1f0ub33hzegvd9dx4qpcs64s@group.calendar.google.com. (I've changed my ID here to protect my innocence). It's best to just copy this string of text.

Now that you have the ID of the next calendar you want to sync, you can go through the same steps above for adding a calendar, only now the url would be: caldav://www.google.com/calendar/dav/calenderid/events/ . Replace calenderid with your calendar ID fetched from above. Be sure to pick a different color too!

Now you should be setup for handling multiple calenders in your hosted google site via Evolution. Have fun!

Link | Share