Calendar:GDATA Provider: Difference between revisions

Jump to navigation Jump to search
Update for Provider for Google Calendar 1.0
(Update for Provider for Google Calendar 1.0)
Line 1: Line 1:
{{Warning|This page has not been updated for the Provider for Google Calendar 1.0, where significant changes have been made. Some of these answers may not longer apply}}


=What is the GDATA Provider?=
=What is the GDATA Provider?=
Line 6: Line 4:


=Disclaimer=
=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.
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 [https://support.mozillamessaging.com/de/kb/FAQ+zur+GDATA-Erweiterung+f%C3%BCr+Google+Kalender support.mozillamessaging.com]. - Eine Übersetzung dieser Seite ins Deutsche finden Sie auf [https://support.mozillamessaging.com/de/kb/FAQ+zur+GDATA-Erweiterung+f%C3%BCr+Google+Kalender support.mozillamessaging.com].''
''You can find a German translation of this page at [https://support.mozillamessaging.com/de/kb/FAQ+zur+GDATA-Erweiterung+f%C3%BCr+Google+Kalender support.mozillamessaging.com]. - Eine Übersetzung dieser Seite ins Deutsche finden Sie auf [https://support.mozillamessaging.com/de/kb/FAQ+zur+GDATA-Erweiterung+f%C3%BCr+Google+Kalender support.mozillamessaging.com].''
Line 12: Line 10:
=Getting the Provider=
=Getting the Provider=
==Downloading==
==Downloading==
You can obtain the provider from addons.mozilla.org. It is available for [https://addons.mozilla.org/sunbird/addon/4631 Sunbird] (which is, however, unsupported since 2010) and for Lightning. As a Lightning extension, it can be installed in [https://addons.mozilla.org/thunderbird/addon/4631 Thunderbird] or [https://addons.mozilla.org/seamonkey/addon/4631 SeaMonkey]
You can obtain the Provider from addons.mozilla.org. As an extension to Lightning, it can be installed in [https://addons.mozilla.org/thunderbird/addon/4631 Thunderbird] or [https://addons.mozilla.org/seamonkey/addon/4631 SeaMonkey].


'''Notes:'''
'''Notes:'''
* It is recommended to use the latest version of Sunbird or Lightning together with the latest Provider for Google Calendar version.
* 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 versions of Sunbird/Lightning, please use the corresponding version from [ftp://ftp.mozilla.org/pub/calendar/lightning/nightly ftp.mozilla.org] (currently [March 2011] <nowiki>ftp://ftp.mozilla.org/pub/calendar/lightning/nightly/latest-comm-1.9.2/</nowiki> then the xpi subfolder corresponding to your platform).
* If you are using the latest nightly version of Lightning, please use the corresponding version from [ftp://ftp.mozilla.org/pub/calendar/lightning/nightly ftp.mozilla.org].
 
==Building from Source==
If you want to build your own copy of the provider from the comm-central tree, all you need to do is follow the [https://developer.mozilla.org/en/Comm-central_source_code_(Mercurial)#Sunbird_and_Lightning build instructions] for Sunbird/Lightning. Once you have compiled, the resulting extension should be at <code>''obj-dir''/mozilla/dist/xpi-stage/gdata-provider.xpi</code>


=Accessing your Calendar=
=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:
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.
# Open your [http://calendar.google.com/ Google Calendar]
# Click on the ''Settings'' link located in the box at the right of the page.
# Click on the calendar you want to use with Thunderbird Lightning or Sunbird.
# Click on either of the two XML buttons shown at the bottom.


Authentication is always done securely via https, your password is not sent in clear. However, an Authentication Token is sent with each request that can be used to further manipulate your calendar. '''To ensure full privacy, be sure to change the URL from http://.. to https://...'''
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.


Note that the provider does not directly use your private url. The Calendar is still accessible when you [http://www.google.com/support/calendar/bin/answer.py?answer=34576 reset your private url].
If you should lose your computer or would like to revoke access to the Provider for Google Calendar for other reasons, please see the [https://security.google.com/settings/security/permissions Google Account Permissions] page.
 
You may now use this url as the ''Location'' when clicking File > New > Calendar > On the Network > Google Calendar in Sunbird/Lightning. There is also a graphical tutorial available at [http://bfish.xaedalus.net/?p=239 bfish.xaedalus.net].


=Bugs and Limitations=
=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 [http://groups.google.com/group/provider-for-google-calendar/topics on the newsgroup]. If you believe you have found a bug, please file it in [https://bugzilla.mozilla.org/enter_bug.cgi?product=Calendar&component=Provider:%20GData bugzilla]
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 [http://groups.google.com/group/provider-for-google-calendar/topics on the newsgroup]. If you believe you have found a bug, please file it in [https://bugzilla.mozilla.org/enter_bug.cgi?product=Calendar&component=Provider:%20GData bugzilla]


==Enabling calendar.debug.log==
==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:
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:


Line 49: Line 38:
** Enter '''calendar.debug.log''' as the preference name
** Enter '''calendar.debug.log''' as the preference name
** Pick '''true''' as the Boolean value.
** Pick '''true''' as the Boolean value.
** Repeat the same for '''calendar.debug.log.verbose'''
* In SeaMonkey:
* In SeaMonkey:
** Type <tt>about:config</tt> into the browser's URL bar, then hit '''Enter'''
** Type <tt>about:config</tt> into the browser's URL bar, then hit '''Enter'''
Line 56: Line 46:
** Enter '''calendar.debug.log''' as the preference name
** Enter '''calendar.debug.log''' as the preference name
** Pick '''true''' as the Boolean value.
** Pick '''true''' as the Boolean value.
** Repeat the same for '''calendar.debug.log.verbose'''


Now you have enabled the preference. If you were experiencing a problem, you will get the most debug messages if you restart the application, then do whatever you were doing again until you experience the issue. Then check out the error console ("Tools" menu).
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.
 
If you are testing CalDAV support, you should do the same steps above for the '''calendar.debug.log.verbose''' preference.


==I want to stay up to date on all GData Provider bugs!==
==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 <code>gdata-provider@calendar.bugs</code> email address, and you will receive bugmail on each update to GData Provider bugs and on new bugs.
Nothing easier than that. In your [https://bugzilla.mozilla.org/userprefs.cgi?tab=component_watch 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.


You get to them as follows:
If you don't have a bugzilla account, its [https://bugzilla.mozilla.org/createaccount.cgi free to register].  
:# Browse to https://bugzilla.mozilla.org/
:# Make sure that you are logged-in (your email address appears near top right). If necessary, log in with your Bugzilla email-address-of-record and the corresponding password. If you don't yet have a Bugzilla account, get one (price: $0.00) by clicking the rightmost icon, '''Open a New Account'''.
:# Once you are logged in, click the rightmost icon at [https://bugzilla.mozilla.org/ bugzilla.mozilla.org]: it says '''User Preferences'''.
:# On the top of the page, there are several tabs. Click the one which says  '''Component Watching'''.
:Then, select <tt>Calendar</tt> in the '''Product''' rolldown widget, and <tt>Provider: GData</tt> in the list of '''Component'''s. Finally click the <span style="border: 1px outset black; padding: 0px 3px 0px; background-color: #DDD">Add</span> button below the list. From then on, you will get bugmail according to your mail preferences for every gdata-provider bug created or changed.


==Calendar Access==
==Calendar Access==
===Why should I use the Provider, and not access via CalDAV?===
===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, including reminder support (Lightning reminders synced via CalDAV appear as pop-ups in the web interface and as notifications in the Android app).
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. Also, there are some extra features in the Provider not available via CalDAV, for example setting SMS reminders. It is also easier to set up, a graphical calendar picker is available.
 
GDATA does offer some extra functionality, namely the ability to set up email or SMS reminders, and may be easier to configure since there's no need to enter complex calendar URLs.


===I cannot access my calendar at all!===
===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 <code>calendar.debug.log</code> in the advanced config editor. See above for how to do that. You should be getting more debug messages now.
Now this is very general. First things first: Do you see any error console messages? If not, please enable <code>calendar.debug.log</code> in the advanced config editor. See above for how to do that. You should be getting more debug messages now.


Are you using a calendar nightly? (i.e 1.0pre) If so, you must use a mercurial compiled version of the gdata provider, not the official release. This is also described above in this FAQ.
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 [https://addons.mozilla.org/thunderbird/addon/provider-for-google-calendar/versions/ versions page].
 
===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!===
===I can no longer enter the XML url in the new calendar wizard. Why?===
* 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.
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.
* If you can afford to "tell" them your passwords (i.e., not when using them at some internet café), Thunderbird, SeaMonkey and Sunbird can all remember your passwords by means of the Password Manager. Just check the appropriate checkbox in the popup asking for your password before you okay it.
* If you have used the Password Manager in the past and want to make the program forget one or more passwords so that they will be asked again next time (and so that you can change them), you can; here's how:
** Thunderbird: [http://kb.mozillazine.org/Menu_differences_in_Windows%2C_Linux%2C_and_Mac Tools → Options] → Security → Passwords → Saved Passwords
** SeaMonkey: [http://kb.mozillazine.org/Menu_differences_in_Windows%2C_Linux%2C_and_Mac Edit → Preferences] → Privacy & Security → Passwords → Manage Stored Passwords
** Sunbird: Edit → Preferences → Advanced → Passwords → View saved passwords


===I want to access a friend's calendar I have access too, but I am asked for a password!===
===I want to access a friend's calendar I have access too, but I am asked for a password!===
No problem! As long as you have this calendar added in the Google Calendar web interface, just enter the email address and password for your own Google account.
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.


==Missing Features==
==Missing Features==
Line 101: Line 75:


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


<code>calendar.google.sendEventNotifications = true</code> When set to true, invitations are sent out to attendees on event modifications.
<code>calendar.google.sendEventNotifications = true</code> When set to true, invitations are sent out to attendees on event modifications.
Line 114: Line 86:


===I want to be able to edit my calendars while offline!===
===I want to be able to edit my calendars while offline!===
Version 0.9 of lightning currently allows only read-only access to the calendar events 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.
 
You might want to monitor progress of [https://bugzilla.mozilla.org/show_bug.cgi?id=380060 bug 380060] to be informed on any progress on editing during offline mode feature.


==Event Interaction==
==Event Interaction==
===I have set a category, but when changing the event it vanishes===
This could be caused due to {{bug|461995}}. I hope this will be fixed in the next version. (VERIFIED DUPLICATE of {{bug|460041}} for "Provider: WCAP", which was VERIFIED FIXED 2008-12-01)
===I want to modify an Event but nothing happens. What am I doing wrong?===
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.
===After creating a recurring event, I am having problems with alarms. Why?===
Aside from the fact that there is no standardized scheme to store dismissing and snoozing alarms, Google doesn't allow setting certain properties on recurring events. This is especially the case for shared calendars. See bug {{bug|424185}} (RESOLVED FIXED 2008-09-17) for details.


===Why do all events I create or edit through Sunbird/Lightning have wrong times?===
===Why do all events I create or edit through 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.
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.
 
Also if you are using windows, make sure you have all timezone upgrades installed.


===Why can't I create tasks on a Google Calendar?===
===Why can't I create tasks on a Google Calendar?===
Google does have an API for Tasks now, this is mostly waiting on the author to find time to do it right. The API Google provides for tasks functions a bit differently than their calendar API and one of the hurdles is getting Google to allow more requests for the author's API key.
With version 1.0 and above, you can. Just use the new calendar wizard and select your tasks lists from the list.


Another option would be to get Google to implement this in their CalDAV interface, see [http://code.google.com/p/google-caldav-issues/issues/detail?id=36 google caldav issue 36]. On the Mozilla side, {{bug|493389}} is filed to take care.
===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.
Please star the Google issues to vote for them. DO NOT post "+1" style comments however, this only spams everyone that has voted for the issue.


==Attendees==
==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===
===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===
Accepting an invitation onto your Google Calendar can cause extra invitations being sent out to each attendee. Due to some Google Calendar limitations when adding invitations to your calendar its impossible to allow this in a way that new users will not shoot themselves in the foot.
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.
 
If you know what you are doing, you can still re-enable this behavior. See the FAQ question regarding options.
 
===After accepting an invitation, the attendees all get an additional invitation from me===
This is {{bug|400808}}. A workaround is to set <code>calendar.google.sendEventNotifications</code> 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. (Update: DUPLICATE of {{bug|407961}} which is FIXED since 2008-10-10)
 
==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, Google only accepts values between 5 minutes and 4 weeks before the event starts.
 
===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. (RESOLVED FIXED since 2009-04-02)
258

edits

Navigation menu