priority specification bug

Martin Konold martin.konold at erfrakon.de
Tue Feb 14 06:12:22 CET 2006


Hi,

we need a solution for priorities.

KO: 1-9 (*) with 1 being highest
OL: low, normal, high
Kolab Format Specification: 1-5 with 1 being highest.
ical rfc 2445: 0-9 with 1 being highest

This situation is beyond my understanding. Does anyone know why the Kolab 
Format Specification 
http://www.kolab.org/doc/kolabformat-2.0rc3-html/c254.html has defined the 
1-5 range? Is this a plain bug?

I see two solutions:

1.) change the Kolab format specification to the common denominator. (OL 
behaviour with only three values)

2.) use a mapping which tries to preserve as much information as possible but 
which is "lossy" in some case. This means changing the spec to use 9 values.
(**)

All: Do you agree that the current Kolab Format Specification for priorities 
using five values is simply a bug and violating any standard including KO,OL 
and ical RFC 2445?

David: Do you consider 1.) a possible solution?

Joon,Johannes: In case 2.) will adopted are you willing to add the required 
complexity to your products soon?

I personally think that 1.) is fully sufficient as choosing between 10 
priority values is imho overengineered but using 10 levels (0+1-9 with 0 
being undefined) is defined in the ical RFC and therefore a real standard.

(*) To add to the confusion 1 is mapped to highest and 9 to lowest priority.

(**) It shall be a best effort approach preserving as much information as 
possible while being lossless in non-mixed environments. If 
transformation/mapping is required (the priority property is 
written/modified) then the mapping rules are already defined in RFC 2445.


4.8.1.9 Priority

   Property Name: PRIORITY

   Purpose: The property defines the relative priority for a calendar
   component.

   Value Type: INTEGER

   Property Parameters: Non-standard property parameters can be
   specified on this property.

   Conformance: The property can be specified in a "VEVENT" or "VTODO"
   calendar component.

   Description: The priority is specified as an integer in the range
   zero to nine. A value of zero (US-ASCII decimal 48) specifies an
   undefined priority. A value of one (US-ASCII decimal 49) is the
   highest priority. A value of two (US-ASCII decimal 50) is the second
   highest priority. Subsequent numbers specify a decreasing ordinal
   priority. A value of nine (US-ASCII decimal 58) is the lowest
   priority.

   A CUA with a three-level priority scheme of "HIGH", "MEDIUM" and
   "LOW" is mapped into this property such that a property value in the
   range of one (US-ASCII decimal 49) to four (US-ASCII decimal 52)
   specifies "HIGH" priority. A value of five (US-ASCII decimal 53) is
   the normal or "MEDIUM" priority. A value in the range of six (US-
   ASCII decimal 54) to nine (US-ASCII decimal 58) is "LOW" priority.

   A CUA with a priority schema of "A1", "A2", "A3", "B1", "B2", ...,
   "C3" is mapped into this property such that a property value of one
   (US-ASCII decimal 49) specifies "A1", a property value of two (US-
   ASCII decimal 50) specifies "A2", a property value of three (US-ASCII
   decimal 51) specifies "A3", and so forth up to a property value of 9
   (US-ASCII decimal 58) specifies "C3".

   Other integer values are reserved for future use.

   Within a "VEVENT" calendar component, this property specifies a
   priority for the event. This property may be useful when more than
   one event is scheduled for a given time period.

   Within a "VTODO" calendar component, this property specified a
   priority for the to-do. This property is useful in prioritizing
   multiple action items for a given time period.

   Format Definition: The property is specified by the following
   notation:

     priority   = "PRIORITY" prioparam ":" privalue CRLF
     ;Default is zero

     prioparam  = *(";" xparam)

     privalue   = integer       ;Must be in the range [0..9]
        ; All other values are reserved for future use

   The following is an example of a property with the highest priority:

     PRIORITY:1

   The following is an example of a property with a next highest
   priority:

     PRIORITY:2

   Example: The following is an example of a property with no priority.
   This is equivalent to not specifying the "PRIORITY" property:

     PRIORITY:0


Regards,
-- martin

-- 
http://www.erfrakon.com/
Erlewein, Frank, Konold & Partner - Beratende Ingenieure und Physiker




More information about the format mailing list