[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

iCalendar Extensions Proposal



Most of the contributors to the recent thread about how ( and if ) to
permit extensions to iCalendar have supported the idea of some formal
extension mechanism. 

Additionally, several people noted that it is not necessary to declare
what extensions a component uses, as with an EXTENSIONS
property. Implementations are required to ignore properties that they
don't understand, and they can scan a component to discover extension
properties. 

I still want to have some way to group extension properties so that an
implementation can report in REQUESTS-STATUS that it has ignored an entire
set of properties. There is a big difference between "I don't support
ATTACH properties" and "I don't support any of the XXX extension
properties." One indicates a feature is unsupported and the other
indicates that an entire set of applications is not supported. 

So, it is probably sufficient to declare in iCalendar that all IANA
registered properties and parameters to be used in iCalendar components
that are not defined in iCalendar must include some prefix. The "EXT-"
prefix seems like a good choice, with a recommendation that it be followed
with another application-specific prefix as per the "X-" properties
recommendation. Thus, "EXT-SKI-"

So, how about the following changes?

eric.

----------------------------------------------------------------------------------------

Addition to 4.1, Content Lines:

     ext-name = "EXT-" [extension-id "-"] 1*(ALPHA / DIGIT / "-")
     ; Reserved for names registered in other RFCs


Change to 4.8.8.1, Non-Standard properties. 

  [ Change use of "extension property" to "experimental property" ]

Additional section, 4.8.8.2, Extension Properties

   Property Name: Any property name with an "EXT-" prefix

   Purpose: This class of property provides a framework for defining
   standard extension  properties.

   Value Type: Defined in property registration

   Property Parameters: Defined in property registration

   Conformance: Defined in property registration

   Description: 

   Extension properties are specified
   by property and/or property parameter names that have the
   prefix text of "EXT-" (the four character sequence: LATIN CAPITAL
   LETTERS E,X,T followed by the HYPEN-MINUS character). It is recommended
   that the prefix be followed by another prefix to identify the
   type of extension. This will facilitate readability of the
   extensions and minimize possible collision of names between different
   application. User agents that support this content type are expected to
   be able to parse the extension properties and property parameters but
   can ignore them.

   Extension properties must be registered with the IANA in an RFC.

   Format Definition: Defined in property registration.

   Example: The following might be an extension for an
   audio-clip form of subject property:


   EXT-ABC-MMSUBJ;EXT-ABC-MMSUBJTYPE=wave:http://load.noise.org/mysubj.wav

Addition to iTIP: 

  Add a REQUEST-STATUS value that indicates that a set of extension
  properties is unsupported and has been ignored