GNOME Bugzilla – Bug 508496
Request : Recurrence support for google calendar
Last modified: 2009-10-26 18:35:07 UTC
If you create recurrence event in google calendar on web (http://www.google.com/calendar) , evolution doesn't display any event. If you create recursive appointment in google calendar by using evolution, google calendar on web at least displays one event out of all (mostly first event) I would love to have recurrence support at least one way.Means evolution displays recursive events which are created in google calendar on web.
I can confirm this behaviour too.
Bumping version to a stable release.
Created attachment 108730 [details] [review] Two way recurrence support for google calendar Some amount of testing, the patch should do good :)
*** Bug 525438 has been marked as a duplicate of this bug. ***
*** Bug 525637 has been marked as a duplicate of this bug. ***
*** Bug 529022 has been marked as a duplicate of this bug. ***
Ebby, you should target this for 2.23.3
*** Bug 534302 has been marked as a duplicate of this bug. ***
*** Bug 528916 has been marked as a duplicate of this bug. ***
*** Bug 535928 has been marked as a duplicate of this bug. ***
Ebby, no, I'm sorry. The gd:recurrence value passed to recur_set, can be like: <gd:recurrence>DTSTART;TZID=Indian/Christmas:20080720T090000 DTEND;TZID=Indian/Christmas:20080720T110000 RRULE:FREQ=DAILY;WKST=SU;UNTIL=20080728T020000Z;INTERVAL=4 BEGIN:VTIMEZONE TZID:Indian/Christmas X-LIC-LOCATION:Indian/Christmas BEGIN:STANDARD TZOFFSETFROM:+0700 TZOFFSETTO:+0700 TZNAME:CXT DTSTART:19700101T000000 END:STANDARD END:VTIMEZONE </gd:recurrence> In the recur_set you use strstr (rstr, ':') for DTEND and DTSTART, but, it will be always the same time, so the start and end time will never differ. The timezone information: you should never ignore that information, it's very important in case you use other timezone in the Evolution calendar than in the Google web! What about code like: if (gdata_entry_is_recurrent (item->entry)) { char *txt; ECalComponent *rec_comp; txt = g_strconcat ("BEGIN:VEVENT\n", "UID:temp_uid\n", gdata_entry_get_recurrent_part (item->entry), "\n", "END:VEVENT\n", NULL); rec_comp = e_cal_component_new_from_string (txt); if (rec_comp) { ECalComponentDateTime dt; GSList *rrules; icalcomponent *subcomp, *icomp, *irec_comp; e_cal_component_get_dtstart (rec_comp, &dt); e_cal_component_set_dtstart (comp, &dt); e_cal_component_free_datetime (&dt); e_cal_component_get_dtend (rec_comp, &dt); e_cal_component_set_dtend (comp, &dt); e_cal_component_free_datetime (&dt); rrules = NULL; e_cal_component_get_rrule_list (rec_comp, &rrules); e_cal_component_set_rrule_list (comp, rrules); e_cal_component_free_recur_list (rrules); /* transfer also all timezone entries to the resulting component */ icomp = e_cal_component_get_icalcomponent (comp); irec_comp = e_cal_component_get_icalcomponent (rec_comp); subcomp = icalcomponent_get_first_component (irec_comp, ICAL_VTIMEZONE_COMPONENT); while (subcomp) { icalcomponent_add_component (icomp, icalcomponent_new_clone (subcomp)); subcomp = icalcomponent_get_next_component (irec_comp, ICAL_VTIMEZONE_COMPONENT); } } g_free (txt); }
(To be honest I have some partial patch for this, the one-way Akhil is talking about.)
The patch also looks like it has plenty of unnecessary style changes, pointless #if 1 statements, and memory leaks.
I would like to add that I don't believe this bug is an enhancement request. I would expect that when a google calendar is linked to evolution it works exactly like it does on google calendar, but right now it doesn't even display the recurrence events.
(In reply to comment #14) > I would like to add that I don't believe this bug is an enhancement request. I > would expect that when a google calendar is linked to evolution it works > exactly like it does on google calendar, but right now it doesn't even display > the recurrence events. > I concur. +1
*** Bug 548903 has been marked as a duplicate of this bug. ***
Created attachment 117526 [details] [review] proposed eds patch for evolution-data-server; The more I look into Google sources, the more I'm scared. Do not expect me touching these parts too often, really. But, I'm happy we have other Google hackers, which are able to play with it quite good. Changed things in patch: a) cache updates of known components - there were none at the moment, so I added nice performance hit to try to update cache with server items on change b) properly update events on its modification and report error if failed c) set capabilities for cal backend d) can read/write basic recurrence events It has its own bugs anyway, so consider with caution...
I am able to see recurrence events of default as well as other calendar also. Sync is going fine. Issues ====== -> modification of recurrence events shifts time by 4:30 hrs. And strange things, same is getting reflected in google calendar on web. But if i modify from google calendar on web, it works fine. -> modified recurrence event and all the events went off from evolution, came back after restart -> cann't modify a single instance of meeting, throws error
(In reply to comment #18) > -> modification of recurrence events shifts time by 4:30 hrs. And strange > things, same is getting reflected in google calendar on web. But if i modify > from google calendar on web, it works fine. I tried with unpatched version and it does this too, seems like bug in timezone handling somewhere. Maybe I did it wrong in bug #468671 or it lies somewhere else > -> modified recurrence event and all the events went off from evolution, came > back after restart Hmm, this sort of works for me fine, I can see the event even after the change (the recurrences). Is it enough to just change day forth and back? I think it does changes in ECalModel, some tweaking is required there. For example, even I see recurrences in a day view, days are not bold in the calendar widget on the left bottom. > -> cann't modify a single instance of meeting, throws error yup, that's the limitation. I dislike the way they work with exceptions, thus no way to modify only one instance, one should always modify all instances.
(In reply to comment #19) > I tried with unpatched version and it does this too, seems like bug in timezone > handling somewhere. Maybe I did it wrong in bug #468671 or it lies somewhere > else Could be bug since google calendar was added. But when i modify any event, i don't even touch time zone, should time zone really play a role there :/ > > Hmm, this sort of works for me fine, I can see the event even after the change > (the recurrences). Is it enough to just change day forth and back? I think it > does changes in ECalModel, some tweaking is required there. For example, even I > see recurrences in a day view, days are not bold in the calendar widget on the > left bottom. > It happened once for me. I tried second time and it worked fine. I believe we can commit the patch with known issues, at least users will be happy to get recurrence support.
(In reply to comment #20) > Could be bug since google calendar was added. But when i modify any event, i > don't even touch time zone, should time zone really play a role there :/ I believe it is. Google keeps calendar timezone same as you have in the first start, it doesn't change the underlying timezone when you change in preferences (they do not want to modify already known events, probably). The shift could be because of the difference of the UTC. Just initial thought, it could be anything else too. > I believe we can commit the patch with known issues, at least users will be > happy to get recurrence support. Yup, a basic recurrence support :)
*** Bug 554899 has been marked as a duplicate of this bug. ***
*** Bug 559975 has been marked as a duplicate of this bug. ***
What does that patch prevent from being in the latest releases? Why is it not in the 2.22 release where that bug aimed at? Anything I could do to help getting that patch out at least for 2.24?
#14 ist right. This is not an Enhancement, this is a bug. Severity: Major.
Are there any news regarding this bug? I'd love to be able to use Evolution not just for mails, but also for my calendar.
Milan, Please commit the patch if its works fine. As today is the feature freeze, it needs to get in. If there are any minors bugs, we can fix it after the freeze.
Please do not land this patch without proper review. It's a bug fix, not a feature. The google calendar "support" is already there, so this wouldn't break feature freeze. It also doesn't break the UI or cause need to change documentation. Please fix all the issues first, otherwise they will never get fixed.
Chen?
I would consider this as a feature to google backend. Ofcourse we can change it to bug too.. (depends on how we look at it) Suman, can you please review the patch?
Definitely a bug, the google backend is broken, it does not show what is in the calendar. It is better to remove this feature than to have it in but half-working. Or stick a big warning on it. When being used in a shared-calendar setup it can really cause you trouble that you see *some* of the events in the calendar, leading you to believe that it actually works when it does not.
*** Bug 569634 has been marked as a duplicate of this bug. ***
hy all, someone here who can explain those things to a normal evolution user or better someone who wants to start using evo :-) As far as I understood you this feature doesn't work yet (since more than 1 year). You tried to patch it bu now you said Google Backend is wrong? But why does other things like Thunderbird work fine? Looking forward for the next update :--)
Gnome-terminal: output benste@VAIO-fe31m:~$ evolution ** (evolution:15167): DEBUG: mailto URL command: evolution %s ** (evolution:15167): DEBUG: mailto URL program: evolution (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response Changing the queries (contains? "summary" "") NEW: Julius Bloch <juliux@ubuntu-de.org>: Re: [Loco-de] Gestriges Ubucon-Meeting(1) NEW: Brian Murray <brian@ubuntu.com>: Re: Identifying the Ubuntu release in a bug(1) NEW: Brian Murray <brian@ubuntu.com>: Re: Identifying the Ubuntu release in a bug(1) NEW: Stefan J. Betz <stefan_betz@gmx.net>: Re: [Loco-de] Tassen?(1) NEW: markus korn <thekorn@gmx.de>: Re: New version of hugday tools!(1) NEW: club-vaio-eng@eu.sony.com: [ClubVAIO] - Mail update from 09.02.2009 20:00:59 to 10.02.2009 20:01:03(1) NEW: benste <Benedict.Stein@gmail.com>: [Bug 183846] Re: google calendar source does not show all events(1) NEW: Julius Bloch <juliux@ubuntu-de.org>: Re: [Loco-de] Gestriges Ubucon-Meeting(1) NEW: Brian Murray <brian@ubuntu.com>: Re: Identifying the Ubuntu release in a bug(1) NEW: Brian Murray <brian@ubuntu.com>: Re: Identifying the Ubuntu release in a bug(1) NEW: Stefan J. Betz <stefan_betz@gmx.net>: Re: [Loco-de] Tassen?(1) NEW: markus korn <thekorn@gmx.de>: Re: New version of hugday tools!(1) NEW: Bug Watch Updater <bugwatch@bugs.launchpad.net>: [Bug 183846] Re: google calendar source does not show all events(1) (evolution:15167): camel-imap-provider-WARNING **: Unable to load summary no such table: [Google Mail] NEW: benste <Benedict.Stein@gmail.com>: [Bug 183846] Re: google calendar source does not show all events(1) NEW: club-vaio-eng@eu.sony.com: [ClubVAIO] - Mail update from 09.02.2009 20:00:59 to 10.02.2009 20:01:03(1) NEW: Julius Bloch <juliux@ubuntu-de.org>: Re: [Loco-de] Gestriges Ubucon-Meeting(1) NEW: Brian Murray <brian@ubuntu.com>: Re: Identifying the Ubuntu release in a bug(1) NEW: Brian Murray <brian@ubuntu.com>: Re: Identifying the Ubuntu release in a bug(1) NEW: Stefan J. Betz <stefan_betz@gmx.net>: Re: [Loco-de] Tassen?(1) NEW: Google Kalender <calendar-notification@google.com>: Tägliche Terminübersicht für Benedict Stein mit Stand von 05:10(1) NEW: Google Kalender <calendar-notification@google.com>: [Erinnerung] Krypto Exkursion @ Do 12. Feb. 07:20 – 17:30 (Benedict Stein)(1) NEW: markus korn <thekorn@gmx.de>: Re: New version of hugday tools!(1) NEW: Bug Watch Updater <bugwatch@bugs.launchpad.net>: [Bug 183846] Re: google calendar source does not show all events(1) NEW: Microsoft <Microsoft@newsletters.microsoft.com>: Ihr Microsoft TechNet-Eventprogramm Februar bis Juni!(1) NEW: Manfred Stein Dipl. Ing. <mastei@gmx.com>: PKW - Sicherheitstraining(1) (evolution:15167): camel-imap-provider-WARNING **: Unable to load summary no such table: [Google Mail]/Entwürfe (evolution:15167): camel-imap-provider-WARNING **: Unable to load summary no such table: [Google Mail]/Spam calendar-gui-Message: Check if default client matches (1234284508.361.6@VAIO-fe31m 1234284508.361.6@VAIO-fe31m) (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response calendar-gui-Message: Check if default client matches (1234284976.6860.3@VAIO-fe31m 1234284508.361.6@VAIO-fe31m) (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response calendar-gui-Message: Check if default client matches (1234284976.6860.3@VAIO-fe31m 1234284762.6860.0@VAIO-fe31m) (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response (evolution:15167): libecal-WARNING **: e-cal.c:318: Unexpected response (evolution:15167): camel-imap-provider-WARNING **: Unable to load summary no such table: [Google Mail] (evolution:15167): camel-imap-provider-WARNING **: Unable to load summary no such table: [Google Mail]/Entwürfe (evolution:15167): camel-imap-provider-WARNING **: Unable to load summary no such table: [Google Mail]/Spam
Ubuntu 9.04 "Jaunty" E-D-S packages are available for tests with this fix. It is based on the E-D-S 2.25.90 published on Jaunty. Visit https://launchpad.net/~hggdh2/+archive/ppa for details on how to get it. *ALL* E-D-S packages offered at version 2.25.90-0ubuntu1ppa3 should be installed.
*** Bug 571562 has been marked as a duplicate of this bug. ***
Hi, now I can give you a feedback to your patch, it adds nicely recureccence events (which is the most important part :-)) But it seems that there are still some missing events + this years carnival I deleted my school schedule just for those days, - evo doesn't know it. See the two screenshots: (I don't know how to upload them to bugzilla !! - so please someone upload it) TEMP: http://acwebdesign.de/benste_test/evo_isbe.png http://acwebdesign.de/benste_test/shouldbe.png
Created attachment 128816 [details] evo_isbe.png Here I see the events in the virtual box are same as those above the penguin-worker on the desktop, even they seem to overlap, whereas they are supposed to be in one column. Did you edit the picture anyhow?
Created attachment 128818 [details] shouldbe.png Google's point of view. I miss here nonrecurring events, those on 24th. The only recurring missing is the "IF G1" on 26th, right? Can you try to move one week forward and back in Evolution, whether it'll show all items, please? Also, there is a cache of events in ~/.evolution/cache/calendar/Google___url_of_calendar/cache.xml , is that missing event there? I would like to know the difference of the missing event.
Thx for the upload. IF G1 is computer science lesson at school- one of the importants events at school :-) even if we learn Object Pascal. I played around a bit with this event and noticed that it had an option in Google to repeat it until never. I now defined an end of the repetition which is within the next year - the event came into Evo --> Evo doesn't now how often it should repeat events if not defined. BUT it didn't leave even after changing the recurence setting in Google back to normal. I tried something else with friday, I moved the event to 5 min later, and it appeared into evo. BUT moving back - again has an affect for dissapearement - it just stays there. I also noticed that now some of the monday events dissapeared and that one event D G1 is doubeled in Evo. All in all Evo has a strange behaviour :-) Thx for this first patch I hope you're able to find the problems :-)
*** Bug 573615 has been marked as a duplicate of this bug. ***
I tried recurrence support with 2.26, as you can guess, doesn't work ;-)
I confirm that recurrence in 2.26 doesn't work.
hy Milan, it's approx 3 months since we spoke last time. Since then some more users published that evo seems to be very buggy in this point. I don't have enough knowledge to solve this issue on my own :-), but I would like to support you as much as possible. Do you have any missing informations, or ideas how to solve it? (atm I'm running 2.26.1 and this one woun't work too)
PS: It's really strange i deleted some of the reccuring events for this week in Google, and exactly those show up in evo now :-) + could so tell me how to change the version of evo for this bug at the bottom? is this possible?
Akhil, how did you change it?
Benedict , looks like you don't have rights to edit bugs other wise people who have rights, can change it easily
ah, sound familiar to the model used in launchpad, only maintainers can change the importance of a bug and so on :-)
actually, in launchpad (for example Ubuntu), anyone can change the importance of a bug up to a certain level. There are only a couple importances that can't be changed. Just an FYI. One of the main reasons I don't use Evolution for my calendar is due to its lacking support of google calendars, yet i'm thankful its even available in the first place, I think recurrence support should have been done in GNOME 2.20... It's way overdue
(In reply to comment #44) > hy Milan, it's approx 3 months since we spoke last time. > Since then some more users published that evo seems to be very buggy in this > point. > I don't have enough knowledge to solve this issue on my own :-), but I would > like to support you as much as possible. > > Do you have any missing informations, or ideas how to solve it? > > (atm I'm running 2.26.1 and this one woun't work too) Hi Benedict, to be honest, since Google allowed connecting to the calendar also with a CalDAV, I lost an interest a bit. The CalDAV has also troubles with detached instances, but I have been working on that, and will commit something soon, probably not later than next week. I moved to CalDAV as the change there brings benefits not only for google, but for any CalDAV server. Bad thing is that the initial Google calendar writer seems to lost interest fully, left it halfly done. No idea why, and whether still true, just an observation.
so maybe it's better to fully remove the gmail calendar feauture within evo and replace it with calDav so that we woun't have lots of induvidual solutions or? PS: Is there a main bug discussed for calDav?, cause I tried to set it up but it seems to crash evo atm and yesterday it failed to laod the calendar, - I'll wait for the milestone next week :-)
(In reply to comment #51) > so maybe it's better to fully remove the gmail calendar feauture within evo and > replace it with calDav so that we woun't have lots of induvidual solutions or? It would be better to find someone interested in fixing bugs there, rather than dropping it fully :) > PS: Is there a main bug discussed for calDav?, cause I tried to set it up but > it seems to crash evo atm and yesterday it failed to laod the calendar, - I'll > wait for the milestone next week :-) I would like to know more about these. Could you open new bug reports and CC me there? We can try to find the reason. (There are more bugs for CalDAV, actually.)
I'll take a closer look at it tomorrow, cause I noticed that some guys at bugzilla hate incomplete bug reports :-) I just tried calDav again, it seems like the 1st calendar is at min. readable. but I'm unable to add another one, I'll keep on watching it :-) and may contact you this evening or tomorrow on IRC.
I just tried to figure out how to get google calendar to work with calDAV with no luck. Could someone explain how to use that so I can compare how it works vs. evolutions built in google calendar support? Thanks.
@Brian (#54) I just tried this solution http://ubuntuforums.org/showthread.php?t=1132446 (Step 2 is not necessary) and it seems to work with Google via caldav. Evolution seems to crash during connectig with Google, be patient. (If this delay can be fixed I would suggest to connect with Google by default using caldav.)
You do not need publishing feature at all, CalDAV is supposed to be writable and it is for me, when playing on google. We should just realize why it crashes for you. I guess something with libical fatal warnings, though I do not see it, but I believe I've turned that on too. basically: caldav://www.google.com/calendar/dav/user@gmail.com/events Use SSL - checked User Name - user@gmail.com and that's all. One thing for inclusion of the google "native" support, I didn't find the way to subscribe to other than the default calendar on the google, using CalDAV.
(In reply to comment #56) > One thing for inclusion of the google "native" support, I didn't find the way > to subscribe to other than the default calendar on the google, using CalDAV. Oops, it's written later downthere, in the discussion.
@Milan coment #56 1. Yes. I deactivated the publishing feature and could write. 2. It doesn't crash, but it needs some time to get connected und get the data. Until this point it's getting grey and you have to wait. (In Thunderbird/lightning there's no delay.) If I can help to solve this problem, I would have to know, what details are important - and how to get them. Then I could file a bug report on this. 3. You can subscribe other calendars by using the calander-id. For example caldav://www.google.com/calendar/dav/ce7nqfqklatu5gbfq070kvau3o@group.calendar.google.com/events is a calendar with regional holidays in germany. This may help, too: http://www.google.com/support/calendar/bin/answer.py?answer=99358#sunbird I'm afraid to be a little off-topic, sorry for that.
I created another "wishlist" bug for disscussing open problems on with calDAV http://bugzilla.gnome.org/show_bug.cgi?id=583374
(In reply to comment #58) > 2. It doesn't crash, but it needs some time to get connected und get the data. > Until this point it's getting grey and you have to wait. (In > Thunderbird/lightning there's no delay.) If I can help to solve this problem, I > would have to know, what details are important - and how to get them. Then I > could file a bug report on this. It might depend on the count of events you've in your calendar. You can see the amount of data in ~/.evolution/cache/calendar/<your_google_url>/cache.xml It's approximately the size which is downloaded. Freezing while loading remote calendars is discussed in bug #510169.
Google calendar uses the caldav interface and supports recurrences from 2.27.4. Closing this as obsolete as no one is currently working on the native google calendar backend.
*** Bug 599293 has been marked as a duplicate of this bug. ***