Closed Bug 377641 Opened 13 years ago Closed 13 years ago

Outlook 2003 does not read iTIP/iMIP invitation because of missing UID in VEVENT

Categories

(Calendar :: E-mail based Scheduling (iTIP/iMIP), defect, major)

x86
Windows XP
defect
Not set
major

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: klint, Assigned: cmtalbert)

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
Build Identifier: Lightning 2007041406

When sending ICS invitations by mail while creating an event (not in a subsequent editing), the UID property is not written in the VEVENT component of the request, although it is mandatory in the RFC.
A consequence is that Outlook 2003 does not interpret the received attachment as a calendar entry.
Checked on a local calendar.

Reproducible: Always

Steps to Reproduce:
1.Create a new event and add a attendee who uses Outlook 2003 before pressing OK, choose to send invitation by email, and then create the event by pressing OK
2.Read the invitation in Outlook 2003

Actual Results:  
The ICS attachement is not interpreted as a calendar event in Outlook 2003 (no calendar icon).
Inside the ICS file, the UID is missing

Expected Results:  
The ICS attachment is recognized as a calendar entry (the icon is different), and inside the ICS file, an UID should be present.

If now you edit the event and send it again, the ICS will contain the UID and the event will be recognized by OL 2003.
I forgot to mention that it was about Lightning 0.5pre !!!
Sorry
I am using Lightning Calendar 2007041406 in TB 2.0.0.0pre 20070412

When sending an event by making use of the "send invitation to attendee" option the ICS file looks like this:

BEGIN:VCALENDAR
PRODID:-//Mozilla Calendar//NONSGML Sunbird//EN
VERSION:2.0
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:/mozilla.org/20070129_1/Africa/Johannesburg
X-LIC-LOCATION:Africa/Johannesburg
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0200
TZNAME:SAST
DTSTART:19700101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20070416T114341Z
LAST-MODIFIED:20070416T114409Z
DTSTAMP:20070416T114409Z
SUMMARY:Test Meeting
PRIORITY:0
CLASS:PUBLIC
ORGANIZER;PARTSTAT=ACCEPTED;ROLE=REQ-PARTICIPANT:mailto:
 xxxx.xxxx@xxxx.co.za
ATTENDEE;RSVP=true;PARTSTAT=NEEDS-ACTION;ROLE=REQ-PARTICIPANT:mailto:
 xxxx.xxxx@xxxx.co.za
DTSTART;TZID=/mozilla.org/20070129_1/Africa/Johannesburg:20070417T130000
DTEND;TZID=/mozilla.org/20070129_1/Africa/Johannesburg:20070417T140000
LOCATION:BDS
SEQUENCE:1
X-MOZ-SEND-INVITATIONS:TRUE
END:VEVENT
END:VCALENDAR

This is indeed not picked up as an event in Outlook 2003 but as an attachment. When trying to open the attachment, OL 2003 reports the following:

"cannot import vCalendar file"

"This error can appear if you have attempted to save a recurring Lunar appointment in iCalendar format.
To avoid this error, set the appointment option to Gregorian instead of Lunar." 

Not sure if this is caused by the missing UID.
To come back to the first problem, after reading your post, I have detached the attachment with no UID nd saved it on the desktop.  When opening it, it says "Cannot import vCalendar file".
Adding a UID with any value actually solves the problem and the event gets imported correctly.
Seems like the error OL 2003 is reporting is incorrect than. Why did it not say "Missing UID"?

Thanks for checking and hopefully this will be fixed before 0.5 is released as to me this is a real show stopper. 
In my tests, I did not get the same second error message than you, nor any message about a missing UID ! Only one message ("Cannot import vCalendar file"). 
So maybe you have detected an other problem there !
The rest of that error message was under the "Help" or "More" button in the error message, not in the initial error message pop-up. (Not sure any more as I am not using OL).
No "Help" or "More" button here, sorry :)
Bug confirmed by Marcel. asked for qa-discussion.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: [qa discussion needed]
> BEGIN:VCALENDAR
> PRODID:-//Mozilla Calendar//NONSGML Sunbird//EN

As I already mentioned in the newsgroup: I wonder how the ics file is created for sending the iTIP/iMIP invitation. Using the "official" ways like ics provider, export or publish the created .ics files always use the PRODID

    PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN

instead.
Component: Provider: ICS/Webdav → Lightning Only
QA Contact: ics-provider → lightning
Summary: Outlook 2003 does not read .ICS because of missing UID in VEVENT → Outlook 2003 does not read iTIP/iMIP invitation because of missing UID in VEVENT
No, there are other prodid's possible: http://lxr.mozilla.org/seamonkey/search?string=NONSGML+Sunbird%2F%2FEN

so calIEvent.icalString() does return the reported prodid. There are quite a few possible callers of that:
http://lxr.mozilla.org/seamonkey/search?string=icalString
missing UID confirmed, other then that the ics looks allright. In outlook 2000 the behaviour is different. When an appointment without UID is accepted in outlook2000, the item is doubled in outlook. One item doesn't have an accepted status and a really long id, the other one has an accepted status and a "normal" id:

without status: UID:040000008200E00074C5B7101A82E0080000000040E356864B81C701000000000000000
 010000000CA7D1141E82C734A9ED4749EFDE4FB53

with status accepted:
UID:79c0c326-01f2-4b05-9b11-2328cbab1120 
Flags: blocking-calendar0.5?
outlook2007 behaviour might again be different judging http://forums.mozillazine.org/viewtopic.php?t=540273

Solution would be to create a UID when creating an event (rightclick - new event or any method without drag-and-drop) instead of creating the UID when saving the event to the calendar (if I understand this correctly). 
I think this is a regression.  When I first wrote the iTIP sending code, lilmatt and I tested it with Outlook 2003, 2000 and iCAL.app to ensure interoperability.  We could work with Outlook then.  

I have set QAWanted on this because we need to determine two things: 
1. Is it a regression -- if so, what is the regression range?
2. Does this block the release? (in my opinion, it does)



Keywords: qawanted
Tested this, not a real regression. In the march 15 build a mail was sent only when editing an event (so it had a UID). In bug 374757 (march 27) the checkbox was added. In the build of march 28 (2007032803) no email is send when creating an event without drag-and-drop. In the build of march 29th (2007032905) an invitation is send without UID. The builds you tested probably send events when editing them, so they had a UID. It's a spinoff from bug 360791 which was solved by the later fixes on other parts. 

Blocking+ per the weekly confcall.
Flags: blocking-calendar0.5? → blocking-calendar0.5+
Assigning to Clint per the confcall.
Assignee: nobody → ctalbert.moz
Clint, any update on this?
Listening for modify/add operation to complete, then preparing the eMail invitation based on the actually saved item (which then has a UID).
Attachment #262888 - Flags: review?(ctalbert.moz)
Comment on attachment 262888 [details] [diff] [review]
using saved item to prepare eMail invitation

This is exactly what I had in mind!  Thanks, Daniel.

r=ctalbert
Attachment #262888 - Flags: review?(ctalbert.moz) → review+
Keywords: qawanted
Whiteboard: [qa discussion needed]
Fix checked in on branch and trunk
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Verified with lightning 2007042703. Klint, could you confirm this is solved for you too?
Status: RESOLVED → VERIFIED
checked on Lightning side only (compared between previous build and that one): it's OK, the UID is there, now.

But I won't be able to check the effect on Outlook 2003 before May 2nd, sorry.

Thanks 
Component: Lightning Only → E-mail based Scheduling (iTIP/iMIP)
QA Contact: lightning → email-scheduling
Flags: blocking-calendar0.5+
You need to log in before you can comment on or make changes to this bug.