6.0.0-beta1
7/14/25

[#9854] iCalendar attachment may not be available in notification message
Summary iCalendar attachment may not be available in notification message
Queue Kronolith
Queue Version Git master
Type Bug
State Resolved
Priority 1. Low
Owners jan (at) horde (dot) org
Requester slusarz (at) horde (dot) org
Created 04/08/2011 (5211 days ago)
Due
Updated 10/27/2012 (4643 days ago)
Assigned 11/30/2011 (4975 days ago)
Resolved 10/16/2012 (4654 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
10/27/2012 12:56:06 AM Git Commit Comment #17 Reply to this comment
Changes have been made in Git (develop):

commit d94d32963740fda3026fea230c2854a26dc35255
Author: Jan Schneider <jan@horde.org>
Date:   Tue Oct 16 18:46:24 2012 +0200

     [jan] Use more compatible message format for iTip notifications 
(Bug #9854).

  kronolith/docs/CHANGES      |    1 +
  kronolith/lib/Kronolith.php |   13 +++++++++++--
  kronolith/package.xml       |    2 ++
  3 files changed, 14 insertions(+), 2 deletions(-)

http://git.horde.org/horde-git/-/commit/d94d32963740fda3026fea230c2854a26dc35255
10/16/2012 04:46:58 PM Jan Schneider Assigned to Jan Schneider
Taken from Ben Klang
State ⇒ Resolved
 
10/16/2012 04:46:51 PM Git Commit Comment #16 Reply to this comment
Changes have been made in Git (master):

commit d94d32963740fda3026fea230c2854a26dc35255
Author: Jan Schneider <jan@horde.org>
Date:   Tue Oct 16 18:46:24 2012 +0200

     [jan] Use more compatible message format for iTip notifications 
(Bug #9854).

  kronolith/docs/CHANGES      |    1 +
  kronolith/lib/Kronolith.php |   13 +++++++++++--
  kronolith/package.xml       |    2 ++
  3 files changed, 14 insertions(+), 2 deletions(-)

http://git.horde.org/horde-git/-/commit/d94d32963740fda3026fea230c2854a26dc35255
09/10/2012 02:41:21 PM Michael Slusarz Comment #15 Reply to this comment
Ben promised to do some cross-client tests to find out which of 
those structures is most portable.
IMHO, the google method is the best:

0 [multipart/mixed] [-]
    1 [multipart/alternative] [-]
      1.1 [text/plain]
      1.2 [text/html]
      1.3 [text/calendar]
    2 invite.ics [application/ics]
11/30/2011 01:23:35 PM Jan Schneider Comment #14
State ⇒ Assigned
Assigned to Ben Klang
Reply to this comment
Ben promised to do some cross-client tests to find out which of those 
structures is most portable.
11/02/2011 02:13:50 PM Jan Schneider Comment #13 Reply to this comment
And finally iCal (which looks most broken of all):

0 [multipart/alternative] [-]
   1 [text/plain; charset=iso-8859-1]
   2 [multipart/mixed] [-]
     2.1 [text/html; charset=iso-8859-1]
     2.2 iCal-20111102-100028.ics [text/calendar]
     2.3 [text/html; charset=iso-8859-1]
11/02/2011 01:57:34 PM Jan Schneider Comment #12 Reply to this comment
Outlook:

1 [text/calendar; charset=utf-8]
11/01/2011 07:46:25 PM Jan Schneider Comment #11 Reply to this comment
Awesome, there aren't any two clients that do the same :) can somebody 
send me Outlook and iCal invites?
11/01/2011 07:44:33 PM Jan Schneider Comment #10 Reply to this comment
Lightning:

0 [multipart/mixed] [-]
   1 [multipart/alternative] [-]
     1.1 [text/plain; charset=utf-8]
     1.2 [text/calendar; charset=utf-8]
   2 invite.ics [application/ics]

And in Outlook-compatibility-mode:

1 [text/calendar; charset=utf-8]
11/01/2011 07:35:10 PM Jan Schneider Comment #9 Reply to this comment
Google:

0 [multipart/mixed] [-]
   1 [multipart/alternative] [-]
     1.1 [text/plain; charset=windows-1252]
     1.2 [text/html; charset=windows-1252]
     1.3 [text/calendar; charset=utf-8]
   2 invite.ics [application/ics]
11/01/2011 06:37:24 PM Jan Schneider Comment #8 Reply to this comment
This is what iCloud uses:

0 [multipart/mixed] [-]
   1 [multipart/alternative] [-]
     1.1 [text/plain; charset=utf-8]
     1.2 [text/html; charset=utf-8]
   2 iCal-20111013-134128.ics [text/calendar]
06/25/2011 04:45:27 PM Jan Schneider Comment #7 Reply to this comment
What structure do outlook and google calendar invites use? Do those 
programs, and programs like thunderbird, handle Michael's proposed 
structure gracefully?
I've just received an iTip response the other from what identified 
itself as "Mozilla Calendar", and that did you use this structure 
(leaving out the multipart/related part with the html version). A bit 
awkward though was the fact that it used text/calendar for the 
iCalendar part inside the multipart/alternative part, but 
application/ics inside the multipart/mixed part.
04/09/2011 03:39:41 PM Chuck Hagenbuch Comment #6 Reply to this comment
What structure do outlook and google calendar invites use? Do those 
programs, and programs like thunderbird, handle Michael's proposed 
structure gracefully?
04/08/2011 11:02:53 PM Michael Slusarz Comment #5 Reply to this comment
Since they are the most rich part of the multipart/alternative 
message, they should show up, if the MUA supports it, right?
This is correct.
If not, the user can't make much use of it anyway.
I don't agree with this statement.  What if I receive an event 
notification and want to import it into a calendar not associated with 
my MUA program.  For example, I want to import to a shared calendar on 
Google Calendar.  It would be nice to be able to download the .ics 
file to upload to Google Calendar.

04/08/2011 10:51:49 PM Jan Schneider Comment #4 Reply to this comment
Since they are the most rich part of the multipart/alternative 
message, they should show up, if the MUA supports it, right? If not, 
the user can't make much use of it anyway.
04/08/2011 10:31:25 PM Michael Slusarz Comment #3 Reply to this comment
Other than the fact that the iCalendar file won't show up as an attachment?
04/08/2011 10:23:41 PM Jan Schneider Comment #2
State ⇒ Feedback
Reply to this comment
If it's just the wording, we can replace it. Or is this structure 
causing real-world problems?
04/08/2011 10:16:37 PM Michael Slusarz Comment #1
Priority ⇒ 1. Low
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Summary ⇒ iCalendar attachment may not be available in notification message
Type ⇒ Bug
Queue ⇒ Kronolith
Reply to this comment
Another example of the multipart/alternative problem.  We send out 
notification messages that look like this:

multipart/alternative
   text/plain
   multipart/related
     text/html
     image/png
   text/calendar

The problem comes if a MUA does not know how to handle text/calendar.   
Both the plain and html contains language about an attached iCalendar 
file.  But as discussed in other bugs, text/calendar, if it can't be 
displayed, must NOT be shown as an attachment.  Multipart/alternative 
is only designed to provide different viewable representations, it is 
not intended to be a container for downloadable attachments.

The proper way of doing this would be as follows:

multipart/alternative
   multipart/mixed
     multipart/alternative
       text/plain
       multipart/related
         text/html
       image/png
     text/calendar
   text/calendar

Yes - text/calendar is repeated twice.  However, this is expected (and 
necessary) behavior.

A rarely used MIME type (message/external-body - RFC 1873) was 
designed to solve such issues - it allows data to be defined in one 
MIME part, and the data to be duplicated in other body parts by 
reference to the first MIME part.  But I'm not sure how many MUAs 
support this.

Saved Queries