Identifying Calendars

A calendar is identified by a namespace and a name.

These are defined as follows:

  • namespace   - a convenient grouping for calendars. A namespace is not compulsory; for example, the default Base calendar SYSTEM does not have a namespace.
  • name   - a name for the individual calendar. It must be unique within the namespace, but not necessarily across the whole system.

A calendar also has a version number. The calendar is created at version 0 and the version number is incremented by one each time a change is made. However the version does not form part of the calendar's identity, in the sense that it does not have to be passed when retrieving a calendar using the getCalendar function

The version number is used to implement optimistic locking (see http://c2.com/cgi/wiki?OptimisticLocking for details) when calling save and update operations, in order to prevent multiple clients from changing the same calendar.