Appointments with "Public" classification have issues with exchange calendar and they do not get synchronized properly with other OWA/OMA clients

Bug #115913 reported by Aaron Redalen
90
This bug affects 14 people
Affects Status Importance Assigned to Milestone
evolution-exchange (Ubuntu)
Fix Released
Low
Unassigned
Nominated for Intrepid by Chris Wisniewski
Nominated for Jaunty by Mathias
Nominated for Karmic by Mathias
Nominated for Lucid by Mathias

Bug Description

Binary package hint: evolution-exchange

[edited by tbj61898]

When I create a public appointment in an Exchange calendar, the appointment is not picked up for synchronization by my Pocket PC (Treo 700w, Samsung I600, iPHONE, HTC Universal) or MS Outlook 2007. No changes to the appointment in Evolution trigger synchronization, except setting it to "Private". If I subsequently make a change to the "public" appointment via Outlook Web Access (OWA) my Pocket PC will synchronize the appointment. However, Evolution will not pick up the change until restarted.

ProblemType: Bug
Architecture: amd64, x86
Date: Mon May 21 00:15:24 2007
DistroRelease: Ubuntu 7.04, Ubuntu 8.10
ExecutablePath: /usr/bin/evolution-2.10 and 2.24.2
Package: evolution 2.10.1-0ubuntu2
PackageArchitecture: amd64, x86
ProcCmdline: evolution --component=mail
ProcCwd: /home/aaron
ProcEnviron:
 LANGUAGE=en_US:en
 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: evolution
Uname: Linux nc6400-330 2.6.20-15-generic #2 SMP Sun Apr 15 06:17:24 UTC 2007 x86_64 GNU/Linux

Revision history for this message
Aaron Redalen (aaron-redalen) wrote :
Revision history for this message
HarmJan (jsleenhuis) wrote :

Same here.

Calendar Items created by PDA are visible on evolution-calendar, but not the other way around.
Also when changing an appointment created by the PDA in Evolution the change is also not synced back to the PDA.
The appointments DO appear in the online Outlook Web Access (OWA), and indeed after changing there they do get synced to the PDA.

I am using a Mio P550 with Windows Mobile 5

Revision history for this message
Daniel T Chen (crimsun) wrote :

Is this symptom still reproducible in 8.10 beta?

Changed in evolution-exchange:
status: New → Incomplete
Revision history for this message
Aaron Redalen (aaron-redalen) wrote :

Sorry, I no longer have a device to test this bug with.

Revision history for this message
HarmJan (jsleenhuis) wrote :

Just tested in 8.10 final, still the same issue.
Interesting to see is that when you synchronise, it DOES say updating Agenda 1/1. But no entry is added.

Revision history for this message
dlstyley (deaston) wrote :

I have this exact problem with Evolution -> Exchange -> iPhone

http://ubuntuforums.org/showthread.php?t=921842

Should this be considered the same issue (iPhone is an OWA client) or do I need to create a seperate report.

I'm on Intrepid Ibex. I tried to dig into the difference between an appointment created in Outlook and one created in Evolution, but I can't seem to find any difference. However my iPhone wont' sync the appointments created in Evolution.

Revision history for this message
Chris Wisniewski (c-wisniewski) wrote :

I am having very similar problem with Evolution/Exchange/Windows Mobile 6.1 Smartphone (HTC Kaiser) and am also on Intrepid Ibex. Appointments created on Smartphone appear in OWA but don't make it to Evolution; appointments created in OWA make it to both Evolution and Smartphone; appointments created in Evolution make it to OWA but not to Smartphone.

This is also very serious for me as I depend on Calendaring on my mobile; I am strongly considering switching back to Windows and this is the only reason (well, being unable to access the GAL is also a pain but isn't a deal breaker).

Revision history for this message
tbj61898 (andre-vellori) wrote :

Hello All,
I'm having the same issue here:
- open evolution-calendar
- create appointment (all default values, summary: evolution)
- send/receive

- open pocket pc-calendar
- create appointment default (summary: pocket)
- send/receive

extra send/receive each client. Result:
- evolution sees two appointments
- pocket pc see only its own
- outlook webmail (OWA) sees both

Platform: ubuntu 8.10, evolution 2.24.2 32bit

I don't know if it can be of some help but I recorded a transaction from my pocket pc (while syncing wirelessy the above appointment), please find attached text dump.

I deleted (nearly) all personal information but I still have the original dump, if you need further tests please ask.

Thank you in advance,
Andrè

Revision history for this message
tbj61898 (andre-vellori) wrote :

Oh.. I forgot. That dump from PocketPC may help to see what are the differences with the same job done by evolution-exchange.

Revision history for this message
tbj61898 (andre-vellori) wrote :

Hello,
I got some useful information for this bug.
All tests on ubuntu 8.10 32bit, evolution 2.24.2

Test1 on evolution:
 - create appointment "a", all defaults values, Save and Sync: NOT showing on mobile devices/Outlook

Test2 on evolution:
 - create appointment "b", all default values but Classification set to "Private", Save and Sync: YES SHOWING on mobile

Test3 on evolution:
 - modify appointment "a", set Classification "Private", modify title to "a_2", Save and Sync: SHOWING on mobile

Test4 on evolution:
 - modify appointment "b", set Classification "Public", modify title to "b_2", Save and Sync: Mobile still showing old "b" appointment, update not shown

I think there must be something wrong in classification type "Public", which is default.

Hope this helps!

Andrè

Changed in evolution-exchange:
status: Incomplete → Confirmed
tbj61898 (andre-vellori)
description: updated
Revision history for this message
Chris Wisniewski (c-wisniewski) wrote :

I am seeing the exact same behavior as Andre' describes, with the following additional info:

-- create appointment on mobile device (either "Public" or "Private"): does not show up in Evolution until after a restart

It definitely appears to have to do with the appointment classification type. At least now, having pinpointed the specific quirks, it's usable for me, but it sure would be nice to have a fix.

- Chris

Revision history for this message
Alexander Diewald (alex-diewinet-deactivatedaccount) wrote :

I noticed the same issue on my xperia (wm 6.1).

After reading through all the comments here I played around a little with the sources of the
exchange plugin. I noticed the following lines (calendar/e-cal-backend-exchange-calendar.c):

 /* OWA seems to be broken, and sets the component class to
  * "CLASS:", by which it means PUBLIC. Evolution treats this
  * as PRIVATE, so we have to work around.
  */
 prop = icalcomponent_get_first_property (icalcomp, ICAL_CLASS_PROPERTY);
 if (!prop) {
  prop = icalproperty_new_class (ICAL_CLASS_NONE);
  icalcomponent_add_property (icalcomp, prop);
 }

I just commented out those lines (from prop to } ) and after the installation and an restart of evolution
activesync started to sync and showed to sync one event. But the activesync screen didn't show 'processing'
then and the event wasn't in the calendar. (But, of course, in OWA)

Hope we can get some steps further from this.

Revision history for this message
Mathias (mathias-me) wrote :

Hi,

I've made the same test as Andre:
Ubuntu 9.04, 32bit, Evolution 2.26.2, Exchange 2003, Activesync version unknown

Test1 on evolution:
 - create appointment "a", all defaults values, Save and Sync:
  * Showing up in Outlook/OWA
  * NOT showing on mobile devices

Test2 on evolution:
 - create appointment "b", all default values but Classification set to "Private", Save and Sync:
  * Showing up in Outlook/OWA
  * Showing on mobile devices

Test3 on evolution:
 - modify appointment "a", set Classification "Private", modify title to "a_2", Save and Sync:
  * Showing up in Outlook/OWA
  * Showing on mobile devices

Test4 on evolution:
 - modify appointment "b", set Classification "Public", modify title to "b_2", Save and Sync:
  * Showing up in Outlook/OWA
  * Not showing on mobile devices, there is still an appointment "b"

Hope that helps,

Mathias

Revision history for this message
Pedro Villavicencio (pedro) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. You reported this bug a while ago and there hasn't been any activity in it recently. We were wondering is this still an issue for you? Could you try the same with Karmic or Jaunty ? Thanks in advance.

Changed in evolution-exchange (Ubuntu):
importance: Undecided → Low
status: Confirmed → Incomplete
Revision history for this message
Alexander Diewald (alex-diewinet-deactivatedaccount) wrote :

The Bug still exists. Just like Mathias said. Issue is the same on both Jaunty and Karmic.
Hope this helps.

Revision history for this message
Mathias (mathias-me) wrote :

Hi,

still the same problem on Ubuntu 9.10, 64bit, Evolution 2.28.1, Exchange 2003, Activesync version unknown.

Changed in evolution-exchange (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Peter Newcomb (peter-petesbox) wrote :

The following patch seems to be working for me, YMMV:

diff -ru evolution-exchange-2.28.1/calendar/e-cal-backend-exchange-calendar.c evolution-exchange-2.28.1-bug115913/calendar/e-cal-backend-exchange-calendar.c
--- evolution-exchange-2.28.1/calendar/e-cal-backend-exchange-calendar.c 2009-10-17 17:46:28.000000000 -0600
+++ evolution-exchange-2.28.1-bug115913/calendar/e-cal-backend-exchange-calendar.c 2009-11-09 10:01:09.000000000 -0700
@@ -836,6 +836,22 @@
  cbdata->vcal_comp = e_cal_util_new_top_level ();
  cbdata->cal = cal;

+ /* Though OWA produces "CLASS:" (which we map to
+ * "CLASS:PUBLIC" above), it will accept "CLASS:PUBLIC".
+ * However, some other exchange clients, notably Windows
+ * Mobile Outlook, don't work unless we map "CLASS:PUBLIC"
+ * back to "CLASS:". For details, see
+ * https://bugs.launchpad.net/ubuntu/+source/evolution-exchange/+bug/115913
+ */
+ icalprop = icalcomponent_get_first_property (icalcomp, ICAL_CLASS_PROPERTY);
+ if (icalprop && !g_ascii_strcasecmp (icalproperty_get_value_as_string (icalprop), icalproperty_enum_to_string (ICAL_CLASS_PUBLIC)))
+ {
+ icalcomponent_remove_property (icalcomp, icalprop);
+ icalproperty_free (icalprop);
+ icalprop = icalproperty_new_class (ICAL_CLASS_NONE);
+ icalcomponent_add_property (icalcomp, icalprop);
+ }
+
  /* Remove X parameters from properties */
  /* This is specifically for X-EVOLUTION-END-DATE,
     but removing anything else is probably ok too */

I'm using Ubuntu 9.10 (Karmic), grabbed the evolution-exchange source package, made the change above, build the .deb and installed it. I have not tested it except that I've been able to create and accept public appointments and meeting invitations in Evolution _and_ have them show up properly on my WM6 phone.

I believe but am not entirely sure that the patch is correct from an evolution-exchange or libical developer's standpoint, as I had never looked at either codebase until this morning. If you try this, it may eat all your email, crash your hard drive, and generally make you have a bad day.

-peter

Revision history for this message
Peter Newcomb (peter-petesbox) wrote :

I've added the above patch as an attachment.

-peter

Revision history for this message
maara (maara) wrote :

peter, could you please email me the compiled .deb package including the fix? I would like to test it because i realy need to get my sync working and even if i have patched the sources, i am not able to compile it due to some dependencies in EVOLUTION_DATA_SERVER.

thx

-marek

Revision history for this message
Peter Newcomb (peter-petesbox) wrote :

Sure, maara-- I've sent it in a separate email. Please post back here to say if it works for you or if you have any trouble with it.

-peter

Revision history for this message
Christian Zumbrunnen (chzumbrunnen) wrote :

Does this patch soon make it to the official repos or else could you post it anywhere?
I'm not sure if I'm able to compile it myself since I'm more a novice on Linux.

Revision history for this message
vis (m-b-vis) wrote :

Peter,

Can you also send me the compiled debs of the fixed evolution. I wanna try this and make a report for you.

Thanks,

Smika

Revision history for this message
Sander Stuurwold (sstuurwold) wrote :

Peter,

Can you also send me the compiled debs of the fixed evolution. I wanna try this and let you know if it works for me.

Thanks in advance

Sander Stuurwold

Revision history for this message
Peter Newcomb (peter-petesbox) wrote :

There's been a number of people asking me for this, and I've been extremely slow to respond. Sorry about that.

So that no one else has to wait for me to get around to sending it, I've attached the .deb I built. Note that I did not increment the version number, and of course it's not signed. I simply applied the patch and rebuilt the package. Apt will always want to replace it with the official package-- you'll have to be vigilant about deselecting it from the update manager, or if you use aptitude you can simply set it to "hold".

YMMV, caveat emptor, etc.

-peter

Revision history for this message
Derek Dolney (nospam-dolney) wrote :

Peter's patch mostly worked applied to evolution-exchange-2.28.2.

But ee-2.28.3 crashes whenever I try to add an appointment. It does not crash if I don't apply the patch. I'm attaching a gdb trace of the crash.

I said the patch *mostly* worked with 2.28.2, because that version did crash sometimes. I'm not sure if that was a different problem. Anyway, 2.28.2 only crashed on maybe 25% of the new appointment attempts. Now 2.28.3 crashes every time and is not usable.

Let me know if I can gather any more info.

Derek

Revision history for this message
Yiannis Petevis (y-petevis) wrote :

Upgrade to ubuntu 10.04 evolution 2.28.3. Problem still exists

Revision history for this message
Les Stroud (public-lesstroud) wrote :

I am experiencing the same problem on ubuntu 9.10 evolution 2.28.1. I downloaded the patch and it does rectify the problem. It does, however, seem to introduce some instability in deleting events off of the calendar.

Revision history for this message
Yiannis Petevis (y-petevis) wrote :

Guys,
Are we expecting this to be fixed in Lucid? This is quite serious for some people.

Revision history for this message
Derek Dolney (nospam-dolney) wrote :

I applied to evolution-exchange 2.28.3 the final eex patch posted at https://bugzilla.gnome.org/show_bug.cgi?id=403903 . Syncing with ipod works again, and evolution is stable.

Revision history for this message
Sam Diener (sam-samdiener) wrote :

Yes - this bug is still in Lucid... PLEASE help out with this. I tried to revert to the old exchange but couldn't compile.
So I am stuck. Thanks guys!

Revision history for this message
YapperNico (nico-yapperdesign) wrote :

I've applied the patch (.deb) but now my exchange option is gone in receiving mail (in account settings) what did I do wrong?
Sorry I'm a newby in linux .

Revision history for this message
Sam Diener (sam-samdiener) wrote :

Any options for this guys? If not I would like to revert to an older version. Running ubuntu 10.04 with corresponding evolution.

Sam

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package evolution-exchange - 2.30.2-0ubuntu1

---------------
evolution-exchange (2.30.2-0ubuntu1) maverick; urgency=low

  * New upstream release:
    - Appointments don't display in Windows Mobile 5 (LP: #141231, #115913)
    - Unnecessary check producing false critical warnings (Milan Crha)
    - Displays source of a message sent by RoadSync 5 (Milan Crha)
    - Updated translations
  * debian/control:
    - bump e-d-s build-dep to 2.30.2
 -- Didier Roche <email address hidden> Mon, 21 Jun 2010 15:31:05 +0200

Changed in evolution-exchange (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Gabriele Vivinetto (gabriele.vivinetto) wrote :

Colud this fix be backported in
  lucid-backports
so Lucid user could benefit from it ?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.