The Calendaring OSID manages events, commitments and
calendars. The Calendaring OSID offers a rich set of event
management services.
Event
An Event is range of time associated
with a Location and event sponsors.
Events may be managed singularly, or be generated
of of one of the typs of events listed below.
Offset Events
An OffSetEvent is an OsidRule
for generating an Event off of
another Event. An OffsetEvent may be offset
by a fixed period of time, a weekday, or include an
external Rule to determine the offset.
Example OffsetEvents are "the first Tuesday
after Labor Day" or "24 hours before a due date."
Superseding Events
A SupersedingEvent is an
OsidRule for replacing another Event.
Typically, SupersedingEvents are
used for replacing a generated Event from a
recurring event series. Events may be
superseded by date or position in a recruring even
seriest. Examples are "replace the event on 12/25 with an
event scheduled for 12/26" or "replace the 10th event in a
course schedule with an exam."
Recurring Events
A RecurringEvent generates a series of
Events from a Schedule. A Schedule
is a series of times and locations.
A RecurringEvent may include SupersedingEvents
to replace specific events in the series with
another Event which may, in turn, be
another RecurringEvent. RecurringEvents may
also have a set of blackout dates in which Event
generation is suuppressed.
Schedules
A Schedule describes a repeating time
and Location. Schedules may be bounded by
dates or by using a TimePeriod. A
TimePeriod is a reusable date range and may
include a set of exception Events to define
a set of time ranges that any RecurringEvent
mapped to the TimePeriod may not
occur.
Schedules are composed of
ScheduleSlots. ScheduleSlots are
normalized weekly time slots. A ScheduleSlot
may be composed of other ScheduleSlots.
To make a RecurringEvent for MWF 3pm in
room 26-100 during the summer except July 4th:
- A
ScheduleSlot for MWF 3pm is
created.
- A
Schedule is created using the
ScheduleSlot for room 10-250 in the summer
TimePeriod.
- A
RecurringEvent is created using
the Schedule.
- A blackout date for Independence Day is added to
the
RecurringEvent.
Commitments
Commitments are
OsidRelationships between Resources
and Events. Commitments may include any
data specific to the relationship.
Calendaring Catalogging
Events and Schedules are
cataloged into Calendars. The
Calendar is simply an OsidCatalog
representing a collection of Events that
may be federated using the OSID hierarchy pattern to
create virtual calendars.
Calendaring Rules
The Calendaring OSID includes a rules package for
managing the behavior of Commitments and
Events. It also includes a Calendaring
Cycle OSID for managing canonical events and time periods
as well as a Calendaring Mason OSID for defining rules for
building events and time periods. The Calendaring Batch
OSID manages Events, Commitments,
and TimePeriods in bulk.
|