Subject: [Ietf-calsify] Transition issues and iCalendar, iMIP, iTIP

From: lisa at osafoundation.org (Lisa Dusseault)
Date: Mon Mar 28 11:07:07 2005

At the BOF and since then in discussing the charter with various people 
(draft charter to come soon), various people have tried to nail down 
the issue of what "upgrade" or "versioning" features we need to work 
on.  Using any concrete word seems to be overly specific but maybe the 
word "transition" will do:  we should try to find ways such that 
iCalendar usage scenarios can include the ability to  transition to 
newer versions, or to or from alternative formats.

I find it hard to nail down the transition issue because I don't want 
to nail any one approach into place until we've had a number of ideas 
to consider.  This seems like one of those design situations where 
there are a large number of possible solutions (or if not solutions, 
then at least incremental improvements) and we want to get a sampling 
of the approach space.  I don't think I have anything near the total 
reasonable number of approaches in my head.

That said, here's a start at sampling that space:
  - We could add capabilities advertisement to iMIP.  Clients sending 
iMIP messages (containing some base format) could advertise via a new 
mail header or iCalendar attribute their ability to handle other 
formats besides the base format.
  - We could add the ability to transport alternate representations 
within iCalendar. An iCalendar version "2.1" document could contain an 
iCalendar version 3.0 document, and a client could discard the base 
document and unpack and use only the more advanced format if it was 
able to.  This could be backward compatible.
  - We could modify iMIP to allow multipart MIME messages and add some 
logic about what the multipart means and which part to use.
  - we could specify LDAP attributes or WebDAV properties that allow 
iTIP clients to advertise supported formats, together with the 
destination address to use.

All of these approaches solve slightly different problems (and some 
cause new problems) and I'm sure people have very different ideas about 
what are the most important problems to solve and how to do that.  
Before we get into that, can we extend this list with other approaches 
or variations?

Lisa