Content-type: text/html ~ Stephen's Web ~ Building Complex Events

Stephen Downes

Knowledge, Learning, Community

Mar 29, 2010

Originally posted on Half an Hour, March 29, 2010.

A complex event is one consisting of many parts. A conference is an example of a complex event: there may be one conference, but there are many individual sessions. People may attend the conference as a whole, but what they actually attend are the individual sessions (and parties, and keynotes, and meals - each of these can be an event).

Online Events Daily supports complex events. It does this by creating a system of 'parent' and 'child' events. These parent-child relationships are defined in the child, and consist of a pointer to the parent. In Online Events Daily, every child event is an individual free, open and online event.
Parent relations are defined using three elements:
  • event:owner_url - this is the top level domain defining the owner of the event. Updates harvested via RSS-Events must originate from somewhere in the owner_url domain.
  • event:identifier - each event has its own identifier. Identifiers are managed by the event owner and may be whatever the owner wishes. It is expected that each identifier will be unique within the owner's domain.
  • event:parent - the value of a child's event:parent element is the value of the parent's event:identifier element.
Diagram of Complex Events

As you can see, this defines a hierarchy of events, with child events pointing to their parent events. In Online Events Daily, a parent does not have to have an event:access value, so long as it eventually has children. To create the event hierarchy, it is easiest to create the parent event first, then create the child events, pointing to the identifier of the parent event.

Stephen Downes Stephen Downes, Casselman, Canada

Copyright 2024
Last Updated: Jul 13, 2024 12:11 p.m.

Canadian Flag Creative Commons License.