English    Deutsch

Technical description how the sync works

In Google Calendar every event has a modification date/time. When CalenGoo syncs with Google Calendar, it asks Google to send all events that were modified after the last time CalenGoo synced, i.e. that have a modification date newer than the date of the most recently changed event in each calendar. So keeping a large time range in sync, i.e. all past and future events, doesn’t cost extra time, CalenGoo does not have to check a larger time range to do this. It simply downloads events that were recently changed regardless of which start and end time they have:



Without this modification date/time for each event, CalenGoo would have to download all events, because it couldn’t know which of them have changed. So the modification date/time is a very important field of every event.

If the sync takes a long time, you can examine which events are downloaded by tapping “Settings”, “Debug Tools”, “Debug Sync”. This will run a normal sync, but it will display all downloaded events and it will also display their modification date/time (in GMT). E.g. if you see something like that:



It means that all events of the holiday calendar were changed at the same time on the same day, today at 12:05 pm GMT. This is a problem of Google’s holiday calendars. For unknown reasons often all events in these calendars are changed and therefore have to be downloaded again. To work around this problem, you can set them to “blue” under “Settings”, “Visibility/Download”, please see here: Visibility/Download

Changed events

If you would like to see which events have been recently changed in your calendars (e.g. to see how the sync works) you can also just start this program by clicking on the link (you need to have Java Webstart installed, if you don’t have it you can get Java from http://www.java.com):

Start LatestGoogleCalendarChanges

Enter your email and password and click "Sign in". Wait a moment, the application is a little slow and just stops working while it is downloading your calendar list. As you can see in the screenshot below, you can select a calendar on the left and see on the right which changes occurred in this calendar recently. In the example a single event was deleted. The displayed "Changed" times are GMT times! So you have to compute your local time to see when an event was changed. You can use this time zone converter if you like:

http://www.timeanddate.com/worldclock/converter.html



Bug in Google Calendar

There is also currently (June 1st 2012) a bug in Google Calendar that might affect a few events. This bug seems to have been fixed on July 3rd 2012. Everything seems to work correctly again! Nevertheless here is the previous description of this bug: As you can read here. As you can read here

http://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=3103

the modification date/time of a modified event is sometimes not correctly set. If you think that you are affected by this bug, because an event is not correctly synced with CalenGoo, just use the program mentioned under “Changed events” on this web page to see if the event has a correct modification date/time (it should appear at the top of the list if it was modified recently). If your event doesn’t have a correct modification date/time, then it is impossible for CalenGoo to know that it has changed. The purpose of the modification date/time is to let other programs know which events have to be synced. Without it, other programs would have to download all calendars and all events every time they sync, instead of just the modified ones.

There are a few workarounds that you can use until Google has fixed this bug:
  • Re-downloading a single calendar on every sync.
    If only a certain calendar is affected, you can tell CalenGoo to re-download that calendar on every sync. Just tap “Settings”, “Visibility/Download” and tap the blue button behind the calendar’s name. Then choose “Erase and re-download on every sync” under “Auto sync”. (Here under “Synchronization” you can find a few hints how to increase the download speed: Speed)
  • If you would like to download all calendars and events, you can tap “Settings”, “Reset calendars” in CalenGoo. This will erase all events and calendars in CalenGoo and re-download everything from Google. (Here under “Synchronization” you can find a few hints how to increase the download speed: Speed)
  • Another solution could be to sync the calendar not directly with Google but via the iPhone calendar and Google’s Exchange server as explained under Syncing CalenGoo with Google via the iPhone/iPod/iPad’s calendar.

However this bug seems to affect only a few events and will hopefully be fixed by Google soon.

If you would like to be informed when something changes or the bug is fixed, you can click on the star in the upper left corner of the mentioned bug report:

http://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=3103

Then you will get an email when a comment is added or when the bug has been fixed/closed by Google.