Event interfaces

Any business object with specific fields can be considered an implementation of an event interface. The IBM TRIRIGA Application Platform offers several services for any business object satisfying the event interface.

An event implementation is any business object that has a specific set of business object fields. All other aspects of the business object can be application-specific, for example control numbers, other attributes of the event, any state transitions, and forms. The business object fields needed for an event implementation are the following:

Table 1. Business object fields needed for event implementation
Name Business Object Field Name Description
START_DT triStartDT This is the start time of the event. In the case of a recurring event, this is the start time of the first occurrence of the event.
END_DT triEndDT This is the end time of the event. In the case of a recurring event, this is the end time of the first occurrence of the event.
QUERY_END_DT triEventQueryEndDT When querying events for any application, the platform filters the result's date range based on this end time. This is especially important for recurring events to avoid the platform pulling recurring events into memory that have long since ended.
RRULE triRecurrenceRuleTX

For recurring events, this holds the iCal-compliant recurrence rule (for example, RRULE:FREQ=WEEKLY;BYDAY=WE).

iCal or iCalendar is Internet Calendaring and Scheduling Core Object Specification, an industry-standard way of representing a calendar or portion of a calendar such as a calendar event.

TZNAME triRecurrenceRuleTimeZoneCL For recurring events, this identifies the time zone behavior the pattern should follow. This is critically important in the case the event contains an RRULE that generates dates on both sides of a time zone shift (for example, both in Standard Time and Daylight Saving Time). This field should be modeled like the triTimeZoneCL field, a Classification field referencing values from the \Classifications\Time Zones part of the Classification tree.
RECURRENCE_ID triRecurrenceIdTX For exceptions to a recurring event, this holds the ID to the record that defined the recurring event.
EXDATE triRecurrenceExceptionTX For recurring events, this holds the iCal-compliant exception dates.
NAME triReportingNameTX This holds the name to be presented to the user in user interfaces. No platform business logic is based on this value. This value is used for display purposes only.
ALL_DAY_FLAG triAllDayBL This indicates whether or not the event should be represented as an all day event in user interfaces. No platform business logic is based on this value. This value is used for display purposes only.
FREE_BUSY_TYPE triFreeBusyTypeLI This indicates how the event should be rendered in user interfaces. No platform business logic is based on this value. This value is used for display purposes only.
BACKING_EVENT_ID (Optional) triBackingEventIdTX This is a locator field that references the event that this record represents. This can be useful if, for example, the user interface (UI) is working with a transient record that is backed by a different record for persistence. In that case, the backing record would be referenced by this field. This field is optional, meaning that the platform assumes there is no backing event in the case that the business object does not have this field or the field exists but does not have a value.
To help explain how the data is persisted in these fields, look at the sample data in "Business object properties needed to configure a record's calendar". In this example, Pacific represents (GMT -8) Pacific Time (US, Canada); Tijuana [US/Pacific]. The date-times represented in the figure are not exactly how they are persisted. In this representation of the sample data, they are in a more readable format.
Figure 1. Event sample data
The image is explained in the text.