OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-calendar message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: The Problem of Availbility (Components)


Vavailability solves a lot of problems for WS-Calendar. It creates some of its own.

 

In iCalendar-speak, vavailability is a full-fledged Component. That means it is right up there with Intervals, Gluons, (and vevents, vtodos, valarms,…).

 

The simplest vavailability looks like:

 

    BEGIN:VAVAILABILITY

    ORGANIZER:mailto:bernard@example.com

    UID:20061005T133225Z-00001@example.com

    DTSTAMP:20061005T133225Z

    DTSTART;TZID=America/Montreal:20061002T000000

    BEGIN:AVAILABLE

    UID:20061005T133225Z-00001-A@example.com

    SUMMARY:Monday to Friday from 9:00 to 17:00

    DTSTART;TZID=America/Montreal:20061002T090000

    DTEND;TZID=America/Montreal:20061002T170000

    RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR

    END:AVAILABLE

    END:VAVAILABILITY

 

That is, it’s got a dtStart, and 1 to many AVAILABLE Objects. The example above has one. Each AVAILABLE has a dtStart, possible a dtEnd, and them some sort of repetition. The example above shows the begin and end time on the first day (9:00 to 5:00) and then says that it repeats every day of the week. The available pattern goes on forever. It needs the end date (from the overall vavailability) to say when the repetition ends.

 

        BEGIN:VAVAILABILITY

        ORGANIZER:mailto:bernard@example.com

        UID:20061005T133225Z-00001@example.com

        DTSTAMP:20061005T133225Z

        DTSTART;TZID=America/Montreal:20061002T000000

        DTEND;TZID=America/Montreal:20061023T030000

        BEGIN:AVAILABLE

        UID:20061005T133225Z-00001-A@example.com

        SUMMARY:Monday to Friday from 9:00 to 17:00

        DTSTART;TZID=America/Montreal:20061002T090000

        DTEND;TZID=America/Montreal:20061002T170000

        RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR

        END:AVAILABLE

        END:VAVAILABILITY

        BEGIN:VAVAILABILITY

        ORGANIZER:mailto:bernard@example.com

        UID:20061005T133225Z-00001@example.com

        DTSTAMP:20061005T133225Z

        DTSTART;TZID=America/Los_Angeles:20061023T000000

        DTEND;TZID=America/Los_Angeles:20061030T000000

        BEGIN:AVAILABLE

        UID:20061005T133225Z-00001-A@example.com

        SUMMARY:Monday to Friday from 9:00 to 17:00

        DTSTART;TZID=America/Los_Angeles:20061023T090000

        DTEND;TZID=America/Los_Angeles:20061023T170000

        RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR

        END:AVAILABLE

        END:VAVAILABILITY

        BEGIN:VAVAILABILITY

        ORGANIZER:mailto:bernard@example.com

        UID:20061005T133225Z-00001@example.com

        DTSTAMP:20061005T133225Z

        DTSTART;TZID=America/Montreal:20061030T030000

        BEGIN:AVAILABLE

        UID:20061005T133225Z-00001-A@example.com

        SUMMARY:Monday to Friday from 9:00 to 17:00

        DTSTART;TZID=America/Montreal:20061030T090000

        DTEND;TZID=America/Montreal:20061030T170000

        RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR

        END:AVAILABLE

        END:VAVAILABILITY

 

I think this means that we have to allow vavailability objects in the Lineage, that is, in the chain of [Gluons] that point to the Sequence. This means to meet the RFC, VAVAILABILTIY must be additive, i.e., I can do it Monday afternoon for the next three months, or I can do it all day Tuesday for the next 4 months, or after April 1, I can do it Friday mornings. Three vavailabilities. Three relationships. I thing this means three Parents (Great/Grand/Parent) in a chain. This makes our current Availability Inheritance wrong.

 

On the other hand, it establishes the possibility of branching. I can publish an availability lineage for conference calls after 10:00 at night, complete with a gluon indicating a higher cost – pointing to the same underlying sequence.

 

Choice 2: Merge many Availability characteristics into Gluons. Change the rules for stacking Availability. This has potentially many ugly effects and compatibility issues.

 

Choice 3: Add a components section to a Gluon, able to hold one or many VAVAILABILITY objects. This unfortunately makes the components definition recursive, - which would be bad.

 

For now, I am assuming the definition of a sequence is a collection of intervals and a lineage consisting of one-to-many (gluon and vavailbility)s arranged in a lineage.

 


“It is difficult to get a man to understand something, when his salary depends upon his not understanding it” -- Upton Sinclair.


Toby Considine
TC9, Inc

OASIS Technical Advisory Board
TC Chair: oBIX & WS-Calendar

TC Editor: EMIX, EnergyInterop

U.S. National Inst. of Standards and Tech. Smart Grid Architecture Committee

  

Email: Toby.Considine@gmail.com
Phone: (919)619-2104

http://www.tcnine.com/
blog: www.NewDaedalus.com

 

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]