Calendar:GDATA Provider: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 45: Line 45:
===I have publicly shared my calendar. I don't want to enter my password each time!===
===I have publicly shared my calendar. I don't want to enter my password each time!===
For public calendars you don't need the Provider for Google Calendar. Just use the standard iCalendar Provider and the ICS feed from Google. If you want to change a public calendar, there is no way around entering your password.
For public calendars you don't need the Provider for Google Calendar. Just use the standard iCalendar Provider and the ICS feed from Google. If you want to change a public calendar, there is no way around entering your password.
===I am getting an error with nsISimpleEnumerator.getNext!===
It seems your password database is corrupted. The quick fix is to create a new profile, but this might not be an option for you. See [https://addons.mozilla.org/en-US/sunbird/discussions/comments.php?DiscussionID=1496 this discussion thread] for more details.


==Missing Features==
==Missing Features==

Revision as of 14:57, 24 March 2008

Disclaimer

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

Getting the Provider

Downloading

You can obtain the provider from addons.mozilla.org. It is available for Sunbird and Lightning.

Note: Currently this extension works only with versions 2.0 and above of Thunderbird with Lightning or versions 0.5pre and above of Sunbird.

If you are using the latest nightly versions of Sunbird/Lightning and are experiencing problems with the Provider, please try a CVS version from http://gdataprovider.mozdev.org/.

Building from CVS

If you want to build your own copy of the provider from a CVS tree, you currently need to add the gdata directory to /mozilla/calendar/providers/Makefile.in. Once you have compiled, the resulting extension should be at obj-dir/dist/xpi-stage/gdata-provider.xpi

Accessing your Calendar

To access your calendar data, you need to retrieve your private XML URL from the Google Calendar UI. If you are not sure how, follow these steps:

  1. Open your Google Calendar
  2. Click on the Calendar you would like to use in Sunbird or Lightning
  3. Select Calendar Settings
  4. Click on either of the two XML buttons and copy the link that is shown.

Note that the provider does not directly use your private url. The Calendar is still accessible when you reset your private url.

You may now use this url as the Location in the new remote calendar wizard.

There is a graphical tutorial available at bfish.xaedalus.net.

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 add it to this page's discussion page. If you believe you have found a bug, please file it in bugzilla

Also, if you are using a nightly version of Sunbird/Lightning, be sure to try the CVS version of the provider first.

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

Nothing easier than that. In your bugzilla Email preferences, you can set up a list of "users" to watch. Enter the gdata-provider@calendar.bugs email address, and you will receive bugmail on each update to GData Provider bugs and on new bugs.

Calendar Access

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. You should be getting more debug messages now.

Are you using a calendar nightly? (i.e 0.7pre) If so, you must use a CVS compiled version of the gdata provider, not the official release.

I want to be able to pick my calendars from a list, is there a way to do so?

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

I have publicly shared my calendar. I don't want to enter my password each time!

For public calendars you don't need the Provider for Google Calendar. Just use the standard iCalendar Provider and the ICS feed from Google. If you want to change a public calendar, there is no way around entering your password.

I am getting an error with nsISimpleEnumerator.getNext!

It seems your password database is corrupted. The quick fix is to create a new profile, but this might not be an option for you. See this discussion thread for more details.

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:

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.alarmClosest = true Alarm support: Use either the alarm closest (true) or farthest away (false) from the event as the alarm displayed in Sunbird/Lightning.

calendar.google.defaultPrivacy = "private" Since there is no easy way to map the privacy "default" to either private,public, or confidential, this preference may be set to influence how Sunbird/Lightning create new events.

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

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

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

How come there is no offline support?

This is something that will be patched for Sunbird and Lightning, which will enable full offline support for all types of calendars, not only Google. See bug 366923 and bug 380060.

Event Interaction

I have set a category, but it does not show!

Google's API does not support setting event categories, so there is no easy way to implement this for the Provider.

I want to modify an Event but nothing happens. What am I doing wrong?

Is the event by chance a recurring event? If so, single instances of recurring events cannot be modified yet, they can only be viewed. Progress on this is being tracked in bug 362650.

The other possibility is that you tried to set the event status to Canceled. Google uses this event status to mark deleted events. If the provider were to allow this, you would be losing your events at least every week.

Next check if you or somebody else is modifying the event from another client (which may also be the Google Calendar UI). The error mentioned below will contain something about Status Code: 409 Conflict. This is a known issue. For now, try switching to a different view (that also contains the event you want to modify) and then retry editing the event. See bug 362645 for details.

You should be getting an error in the error console Severe error in internal transaction code! Please report this to the developers. You can safely ignore this error for now.

I want to create a recurring event, but after it is created the event doesn't repeat. Why?

Creating recurring events is not supported yet. You will be able to view recurring events created via the Google Calendar API, but you will not be able to change them or create new ones. Progress on this is being tracked in bug 362650.

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

Is your local timezone set up correctly in Sunbird/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.

All events I edit seem to disappear from the public view of my calendar. How can I make them show for everyone?

The provider cannot see which is the default setting for event visibility. It defaults to private, which means that all events are only visible to you.

To change this behavior, set the (string) preference calendar.defaultprivacy to either private or public.

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

Google doesn't support Tasks, so there is no way the provider can support them.

Attendees

I recieved an invitation from a friend and accepted it in lightning. Now there are two events in the calendar

You probably have told google to automatically show invitations in the calendar. Currently there are some problems with correctly accepting email invitations from google.

You can turn off the "feature" to automatically show event inivitations in your calendar in the Google Calendar Settings.

After accepting an invitation, the attendees all get an additional invitation from me

This is bug 400808. A workaround is to set calendar.google.sendEventNotifications to false in the advanced config editor, or to not handle event invitations via lightning. Note that setting this preference inhibits all sending of event notifications.

Alarms

What should I keep in mind while using alarms with the provider?

The provider will only alert alarms of type popup. Depending on the setting of the (boolean) property calendar.google.alarmClosest, it will read either the popup alarm closest to the event (true) or furthest away (false). To avoid confusion, be sure you set only one alarm with type popup. All other alarm types will not be touched by the provider.

I have set some default reminders in the Google UI, but they don't show up on new events?

As it might be easy to tell Google to use those default reminders, it requires UI additions to sunbird/lightning. I would like to concentrate on backend functionality before I add such UI extensions. If you would like this functionality, feel free to file an enhancement bug in bugzilla. (Remember to search if such a bug exists first).

I set an alarm on an event but after looking at the event again, the alarm has a totally different value!

Since Google supports multiple alarms and sunbird/lightning only supports one alarm, its hard to find a good way to map between the possible alarms. The provider will read the alarm either closest to or furthest away from the event. If you change a popup alarm in sunbird/lightning, and another popup alarm gets closer to (or further away from) the event, then the provider will read the other alarm.

Another possibility is that you have set an alarm value that is not supported by Google. Currently, they only accept alarm values that are also in the Google UI. In this case, the value will be rounded to the next best value.

I want to set more than one alarm, but the Event dialog only shows one!

Since Sunbird/Lightning also does not support multiple alarms, its very hard to do so without massive UI and calendar backend changes. I'd like to fix this in calendar rather than in the provider. See bug 353492 for multiple alarms support.