Calendar:GDATA Provider

From MozillaWiki
Jump to: navigation, search

What is the GDATA Provider?

The Google Data Protocol is a REST-inspired technology for reading from, writing to, and modifying Google services via the web. Many services at Google, including Google Calendar, provide external access to data and functionality through APIs that utilize the Google Data Protocol. The GDATA Provider is an adapter that connects the internals of Mozilla's Lightning calendar add-on to Google Calendar RESTful data services. This allows you to view, edit and manipulate Google calendars within Lightning.

Since version 1.0, both calendars and task lists can be accessed. This FAQ will show you how to set up the calendars and task lists and guide you through any known limitations.

Disclaimer

This provider enables write support to Google Calendar. Although highly unlikely, it is possible that you could lose (parts of) your data here. Neither the author nor Mozilla can be held responsible for that.

You can find a German translation of this page at support.mozillamessaging.com. - Eine Übersetzung dieser Seite ins Deutsche finden Sie auf support.mozillamessaging.com.

Getting the Provider

Downloading

You can obtain the Provider from addons.mozilla.org. As an extension to Lightning, it can be installed in Thunderbird or SeaMonkey.

Notes:

  • It is recommended to use the latest version of Lightning together with the latest Provider for Google Calendar.
  • If you are using the latest nightly version of Lightning, please use the corresponding version from ftp.mozilla.org.

Accessing your Calendar

In contrast to previous versions, you no longer need to retrieve any URLs from the Google Calendar UI. To subscribe to one or more of your calendars and task lists, all you need to do is open the new calendar wizard (File → New → Calendar → On The Network → Google Calendar). In the next screen, you must enter the email address you use to access Google Calendar. An authentication dialog will pop up where you should log in with your Google Credentials. Two Factor Authentication is supported.

The authentication dialog might suggest that the addon author or other third party will have permission to manage your calendar. Since the Provider is part of a client application, this is not true. The authentication mechanism used is OAuth, which is primarily used on websites. In that case, the website asks Google to present you with a login dialog to grant access. Google shows the authentication page and if you agree, a login token is sent back to the website. With the Provider, no token is sent to a third party website. Instead, the token is saved locally in the Thunderbird/Seamonkey password manager.

If you should lose your computer or would like to revoke access to the Provider for Google Calendar for other reasons, please see the Google Account Permissions page.

Bugs and Limitations

Before reporting a bug, carefully check this list to see if the issue you are having is not a known limitation. The list is in FAQ format to make it easier to find your issue. If your question was not answered here, please discuss it on the newsgroup. If you believe you have found a bug, please file it in bugzilla

Enabling Debugging

This option is useful for more verbose logging to diagnose problems you are having. It is also a good thing to look at before posting on the discussion group:

  • In Thunderbird:
    • Open your application preferences (Tools or Edit Menu)
    • Select the "Advanced" icon at the top.
    • Click on the "General" tab, below the icons.
    • Select "Advanced Configuration" or "Config Editor", whichever is available
    • Right Click on an empty space in the list of preferences
    • Select New > Boolean
    • Enter calendar.debug.log as the preference name
    • Pick true as the Boolean value.
    • Repeat the same for calendar.debug.log.verbose
  • In SeaMonkey:
    • Type about:config into the browser's URL bar, then hit Enter
    • If warned that this could void your warranty, answer that you'll be prudent.
    • Right Click on an empty space in the list of preferences
    • Select New > Boolean
    • Enter calendar.debug.log as the preference name
    • Pick true as the Boolean value.
    • Repeat the same for calendar.debug.log.verbose

Afterwards you will be able to see the debug messages in the error console (Tools Menu → Error Console). To be sure you are getting all messages it is advisable to restart the application after setting the preference.

Now you may want to know how to copy out more than one message at a time. There are two ways to do this. The more user-friendly method is to use the Console² extension, which will let you copy out more messages at once. After installing, just visit the error console again and you will see an option to save the log messages to a text file.

The second option is to set the XRE_CONSOLE_LOG environment variable, this is meant for users that know their way around the terminal. For example, under Linux or Mac you would enter export XRE_CONSOLE_LOG=/path/to/logfile and then start Thunderbird from that terminal window. The Windows equivalent is set XRE_CONSOLE_LOG=C:\path\to\logfile.

I want to stay up to date on all GData Provider bugs!

Nothing easier than that. In your bugzilla component watching preferences, you can add the component "Provider: GData" in the product "Calendar". From there on forward, you will receive bugmail on everything important related to the Provider for Google Calendar.

If you don't have a bugzilla account, its free to register.

Performance

Thunderbird is freezing with the Provider installed, what can I do?

If you have just installed the Provider, or haven't synchronized for a while, a full synchronization is done. This can take a long time if you have many thousands of events in your calendar. You can check the Activity Manager in the Tools menu for current progress. Events will be synchronized in batches of 1000. Please just let it sit for a while until the initial synchronization is done. Once this has happened, all future synchronizations will be incremental and therefore be fast.

If you are using the Provider for Google Calendar 1.0.4 or earlier, there is also a bug when subscribed to the Birthdays calendar. Please unsubscribe from this calendar until the 1.0.5 or later have been released.

Calendar Access

Why should I use the Provider, and not access via CalDAV?

The Provider predates Google Calendar's CalDAV support and was initially recommended because it was more stable. However, CalDAV support has improved with time and now offers a pretty complete Google Calendar experience. For some people, the Provider for Google Calendar works better than CalDAV. The Provider for Google Calendar also allows access to Google's task lists and there are some extra features in the Provider not available via CalDAV, for example setting EMAIL reminders. It is also easier to set up, a graphical calendar picker is available.

I cannot access my calendar at all!

Now this is very general. First things first: Do you see any error console messages? If not, please enable calendar.debug.log in the advanced config editor. See above for how to do that. You should be getting more debug messages now.

If it has been working before and you just upgraded, please make sure you are using the right version combination of Thunderbird, Lightning and the Provider for Google Calendar. If you are using an older version of Lightning, you may need to pick the right version of the Provider from the versions page.

I can no longer enter the XML url in the new calendar wizard. Why?

Since version 1.0, there is now a graphical calendar picker. Please re-read the text in the wizard, the step with the textbox now requires entering an email address instead of the URL. An authentication dialog will show up and afterwards you can pick one or more calendars from the list.

After entering my email, a blank login dialog shows up. How do I fix it?

This often happens when you are using a theme that has not been updated. Please notify the theme author and temporarily disable the theme when creating the calendars. Note that you not only have to disable the theme addon, you also have to change back to the default theme in the appearance section.

Why does the login dialog open in my default browser instead of in Thunderbird?

This usually happens when certain advanced preferences have been changed, either directly or via an addon. To fix it, go to the advanced config editor (Tools → Options → Advanced → General Tab → Config Editor...) and search for network.protocol-handler.expose.http. Set both network.protocol-handler.expose.http and network.protocol-handler.expose.https to true.

I want to access a friend's calendar I have access to!

No problem! As long as you have this calendar added in the Google Calendar web interface, just use the new calendar wizard, sign in with your own Google credentials and select your friend's calendar from the list.

I want to be able to edit my calendars while offline!

Even though version 1.0 and above might not show the checkbox for offline support, this does not mean its not possible. The Provider for Google Calendar supports offline editing by default, it cannot be disabled.

Missing Features

Why can't I configure any options in the Extension Manager?

There are currently not enough options to warrant an options window. There are some advanced preferences that can be set in the config editor.

calendar.google.useHTTPMethodOverride = true Instead of using PUT and DELETE methods, use POST and GET with the X-HTTP-Method-Override header. This is good for proxies and since it doesn't harm non-proxies, it defaults to true.

calendar.google.sendEventNotifications = true When set to true, invitations are sent out to attendees on event modifications.

calendar.google.enableAttendees = false When set to false, attendees are disabled. This might be needed if you experience problems when accepting invitations.

calendar.google.enableEmailInvitations = false Setting this to true allows selecting a Google Calendar when accepting an invitation you received via email. WARNING: Enabling this option may cause you to unknowingly spam all attendees with an extra invitation! Only enable this option if you know what you are doing.

Can I create or view comments made within the Google Calendar Interface?

Not currently. Progress on this is being tracked in bug 362653

Event Interaction

Why do all events I create or edit through Lightning have wrong times?

Is your local timezone set up correctly in the Lightning preferences? If not, all events you edit will have the first timezone with the same offset as the original timezone it was set in. Also, created events will use the timezone that was originally set in your timezones preference.

Why can't I create tasks on a Google Calendar?

With version 1.0 and above, you can. Just use the new calendar wizard and select your tasks lists from the list.

I cannot seem to create a calendar that supports tasks and events at once?

With the new calendar wizard, you can subscribe either to a task list or a calendar. Its not possible to create one entry in your calendar list to access both, as it would make the UI very complicated. If you are a power user, you can manually edit the prefs.js file to create a calendar that has both a tasks and calendar parameter. Note however you are on your own doing this, if you experience any issues please don't let that reflect badly on the Provider itself.

Attendees

I received an invitation from a friend. When trying to accept, my Google Calendars are not in the select calendar dialog, or no dialog is shown

You can only accept invitations into your primary calendar, i.e. the one named after you. Support for accepting invitations is not ideal due to various limitations, but I hope everything works. Please check the question on advanced preferences above for some settings that might help.