Monday, March 29, 2010

Building Complex Events

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.

No comments:

Post a Comment

Your comments will be moderated. Sorry, but it's not a nice world out there.