Re: request + add

"Michael Fair" <[email protected]>
Newsgroups gmane.ietf.calendar
Message-ID <[email protected]>
I need to apologize for getting the original examples wrong again.

All of Doug's examples moved the 2nd instance from noon to 2pm
not noon to 3:30.  To remain consistent with the previous posts
I made I am going to continue using 3:30 as the start time for the
added instance.  It will still be 1.5 hours long, making the new
time be from 3:30pm-5pm (instead of being from 2pm-3:30pm).  I'm
sorry for not reading it right to begin with.


"Mark Smith" <[email protected]> wrote in message
news:[email protected]...
>
> Michael Fair wrote:
>
> >
> > So reconstructing Attendee-2's CS if it did not receive messages a or b
> > (SEQ:0 and 1 respectively) the CUA will look in its store for UID:XXX
and
> > not find it.
> >
> > The results are undefined.
> >
> > However, consistent with iTIP's mandate to handle lost and missequenced
> > messages it should treat the ADD like a REQUEST and then since it
obviously
> > is missing data (as evidneced by both a SEQ:2 and that it has just
received
> > an ADD for a non-existant event (i.e. way out of context for the UID))
it
> > sends a REFRESH request to the ORGANIZER.
>
> Okay, now what if it gets the sequence:1 request and the sequence:2 'add'
> as shown in 'B'.  As all three instances can not be represented in
> one 'method request' object because the duration of all three instances
> are not the same. Now the master object is at sequence:2, as is
> attendee-2.

This can actually be described in one method:request object as I'll
demonstrate below in response to a REFRESH request.  You are right
if what you meant was that it can't be described in 1 VEVENT component.


> The recurrence-id's can be calculated from what attendee-2 has. Correct?
> And it will be the same recurrence-id's as organizer. Correct?

This sounds correct, but since we haven't rescheduled any of the instances
yet it's not all that meaningful...  I'm also not sure if you're playing
with the ordering of the messages so I'll address both orderings.  I
apologize if I'm overcomplicating your assertions, but the terse style
and my past mistakes at misunderstanding your questions makes me doubt
that I understand everything you're asking.


Both scenarios will end up with matching RIDs (matching between ORG and A2).
I just want to be sure we're clear about how/why.

I also think a more meaningful example would be to use something that
actually uses an instance reschedule in the mix since that's when DTSTART
and RECURRENCE-ID are no longer in sync, but I'm following your lead at
the moment (for instance, request - instance reschedule - add).

Scenario 1:
If A2 receives S1(request) then S2(add) then the CUA will not send a
REFRESH.

Upon receipt of S1 the CUA will store 1-Dec and 3-Dec instances along with
the
UID:XXX object in the CS all at SEQ:1.

At this point the RIDs for UID:XXX on both ends will be:
1-Dec-2003 at noon
3-Dec-2003 at noon

Then upon receipt of S2 it will store the data for instace 2-Dec, merge the
DTSTART,
RRULE/RDATE and EXRULE/EXDATE values from S2 (if there are any) with the
ones
from S1 and update the UID:XXX object with the new info.  It also update the
UID:XXX
object and the instances 1-Dec and 3-Dec to be at SEQ:2.

The RIDs for UID:XXX on both ends are now:
1-Dec-2003 at noon
3-Dec-2003 at noon
2-Dec-2003 at 3:30




If A2 receives S2 (add) then S1 (request) then the CUA will send a REFRESH.

After the receipt of S2 the RIDS in the CS for UID:XXX are:
2-Dec-2003 at 3:30

It will ignore S1 and not be synchronized until the REFRESH response
arrives.

The ORGANIZER will send the following message in response to the REFRESH:
BEGIN:VCALENDAR
  METHOD:REQUEST

  BEGIN:VEVENT
   UID:XXX
   SEQUENCE:2
   ...
   DTSTART: 1-dec-2003 at noon
   DTEND: 1-dec-2003 at 1pm
   ...
   RDATE:3-dec-2003 at noon
   RDATE:2-dec-2003 at 3:30
  END:VEVENT

  BEGIN:VEVENT
   UID:XXX
   RECURRENCE-ID:2-dec-2003 at 3:30
   SEQUENCE:2
   ...
   DTSTART: 2-dec-2003 at 3:30
   DTEND: 2-dec-2003 at 5pm
   ...
  END:VEVENT

END:VCALENDAR

(As an aside, had the ORGANIZER done a normal reschedule, then the RDATE
 and RECURRENCE-ID values would be "at noon" and the SEQUENCE would most
 likely be 1.  Other then that, the response would be the same.)

After receipt of the REFRESH response the two CS' would be in sync.

-- Michael --

PS I am concerned that at some point in this thread you might try and bring
A1 who received the proper instance reschedule message back into this and
say
the RIDs don't match.  However, that can't legally happen because it would
violate the uniqueness of UID:XXX and is an entirely different conversation.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.