[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Clarification for Free/Busy
One mapping that makes sense to me in my reading of RFC 2445 (others
might disagree) - hope the tabs format this correctly:
| STATUS
of
VEVENT |
VEVENT in period
|
TENTATIVE |
CONFIRMED |
CANCELLED | not there
abd
TRANSP | | | |
=============== |================= |================= |=========== |==========
No / (none)
|
FREE |
FREE |
FREE |
FREE
Yes/ OPAQUE |
BUSY-TENTATIVE |
BUSY-UNAVAILABLE |
FREE |
BUSY
Yes/
TRANSPARENT |
FREE |
FREE |
FREE |
FREE
Notice the last line is all "FREE" - this is because
TRANSPARENT is explicitly identified as being transparent to free-busy
searches.
Tim Hare
Interested Bystander, Non-Inc.
At 09:52 AM 11/24/03 -0800, you wrote:
I am
hoping that someone can clarify how to map from a VEVENT component's
properties to what should be returned for a Free/Busy request.
RFC 2445 states unambiguously that TRANSP is
the property that is to be used to return Free/Busy status. From
"4.8.2.7 Time Transparency":
Description: Time Transparency is the
characteristic of an event that
determines whether it appears to consume time on a
calendar. Events
that consume actual time for the individual or
resource associated
with the calendar SHOULD be recorded as OPAQUE,
allowing them to be
detected by free-busy time searches. Other events,
which do not take
up the individual's (or resource's) time SHOULD be
recorded as
TRANSPARENT, making them invisible to free-busy time
searches.
This seems clear until I read the description of the free busy time type
parameter, FBTYPE (a parameter of FREEBUSY, which is a property of a
VFREEBUSY component). From "4.2.9 Free/Busy Time Type"
(fbtype):
Description: The parameter specifies the free
or busy time type. The
value FREE indicates that the time interval is free
for scheduling.
The value BUSY indicates that the time interval is
busy because one
or more events have been scheduled for that interval.
The value
BUSY-UNAVAILABLE indicates that the time interval is
busy and that
the interval can not be scheduled. The value
BUSY-TENTATIVE indicates
that the time interval is busy because one or more
events have been
tentatively scheduled for that interval. If not
specified on a
property that allows this parameter, the default is
BUSY.
The above clearly states that there are four
(4) levels of free/busy:
FREE
BUSY
BUSY-UNAVAILABLE
BUSY-TENTATIVE
What I'm missing is a way to map from an
Event's TRANSP property which has only two states (FREE or BUSY) to these
four states.
Is the intention that free/busy should be
reported by combining TRANSP with some other property or properties? If I
just look at the value "tentative", I see that there are
actually two places in an Event where I could potentially derive that
value: PARTSTAT and STATUS. I don't see any explicit instruction in RFC
2445 for this.
Let me rephrase this a bit in the hope of
getting a more exact answer. And instead of looking at a VEVENT and
deciding what the FBTYPE should be, can we look at what the desired
FBTYPE is and work backwards?
What does the VEVENT look like that would
generate, for example, the following property in a VFREEBUSY component:
FREEBUSY;FBTYPE=BUSY-TENTATIVE:20031201T130000Z/20031201T140000Z
or to get even more explicit let's take several
cases:
1. An attendee has been invited to an event and
replied with a tentative acceptance. What does the Attendee's copy of
that VEVENT look like in order to return
FREEBUSY;FBTYPE=BUSY-TENTATIVE: <dates >
2. An attendee has been invited to an event and
replied with a decline. If the attendee retains that event (maybe he want
to be able to change his mind later?), what does his copy of that VEVENT
look like? I assume that he should report that timeslot as being
"FREE":
FREEBUSY;FBTYPE=FREE: <dates >
3. An attendee has been invited to an event and
replied with an acceptance. The organizer has then canceled the event,
but the Attendee retains a copy (for whatever reason). What does the
Attendee's copy of that VEVENT look like in order to return
FREEBUSY;FBTYPE=FREE: <dates >
4. What does anyone's (organizer or attendee)
VEVENT copy look like to generate:
FREEBUSY;FBTYPE=BUSY-UNAVAILABLE: <dates >
In case it's not clear, I'm looking for someone to help me out by telling
me that the associated VEVENT would look like:
TRANSP: <value >
STATUS: <value >
ATTENDEE: <whatever >
or any appropriate fields and values that are
involved.
I'd appreciate any help the list can give.