Core Events

Within STEP, an event indicates data has been changed. An event triggered automatically is known as a 'core event'. Core events are always tied to an object in STEP, meaning an event can include data about its creation time, the object for which the event was generated, and the event type. Except for the Republish event, core events are all generated automatically by STEP when the actions defined below are performed.

This topic addresses:

Prerequisites

It may be helpful to review the Workspaces (here) and Revisions (here) sections of the System Setup / Super User Guide documentation prior to this topic.

For more information on revisability of entities, see the Revisability on Entity Object Type section of the System Setup / Super User Guide documentation here.

Core Events and Event Types

The table below lists core events, the associated event type, and the action performed to generate the core event.

Core Event

Event Type

Action Performed to Generate the Core Event

APPROVECREATED

Create

A revisable object is approved for the first time.

APPROVEMODIFIED

Modify

A revisable object already in Approved state is approved again.

DELETEAPPROVAL

Delete

The deletion of a revisable object in the recycle bin is approved.

GLOBALATTRIBUTECHANGE

Modify

The value for an Externally Maintained Attribute is changed.

GLOBALEVENT Create One of these System Setup objects is created: attribute, attribute group, list of values group, list of values, unit group, unit, product to classification link type, and reference type objects.

GLOBALEVENT

Delete

One of these System Setup objects is deleted: attribute, attribute group, list of values group, list of values, unit group, unit, product to classification link type, and reference type objects.

GLOBALEVENT

Modify

One of these System Setup objects is modified: attribute, attribute group, list of values group, list of values, unit group, unit, product to classification link type, and reference type objects.

GLOBALREFERENCETYPECHANGE

Modify

An Externally Maintained Reference or Link is modified.

GLOBALTERMCHANGE

Modify

A Terms List is modified.

REPUBLISH

Create

An on-demand, manual command is sent using the 'Send Republish Event' operation on a business rule or from bulk update, or the 'Republish' command is used for a Collection. For more on Republish events, see Event-Based OIEP Forward, Rewind, Purge, and Republish here.

REVIVED

Create

A revisable object is revived from the recycle bin.

The timing or action performed to generate a core event is especially important when dealing with an OIEP or Event Processor, because it impacts when an OIEP or an Event Processor is triggered. For more information, see the:

Important: When exporting delete events, generally events are processed in the same order as they occurred. However, in some circumstances, the order is not reliable. For more information, see the Event-Based OIEP Order of Delete Events topic here.

Core Event Generation

Core events are automatically generated based on both the database transaction method and the revisability used. Details for each are below.

Database Transaction Methods

Each time an update is made in STEP, a transaction is used to write the changed data to the STEP database. The method used to make the change is a factor in determining if each transaction generates its own event, or if multiple transactions are collected to create a single event.

Available database transaction methods:

Revisability

Revisability determines when it is possible to include different values per workspace. Revisability can be either global or workspace dependent. Below are details of how revisability works with each of the database transaction methods to affect the generation of events.

Global

Revisable

Database Transaction Methods

Workbench

Web UI

Import

Transaction and Event

Change to a single field and leave the field (save is automatic)

Click the Save button

Successful Import

For example, assuming an event-based OIEP is set up to listen for appropriate events on the applicable object types, changing data in Web UI on a similar entity object that is global revisable would trigger the OIEP as soon as the change was saved. Whereas on Workbench, if a value of an externally maintained attribute is changed, the value gets reflected automatically in all the workspaces.

Workspace

Revisable

Database Transaction Methods

Workbench

Web UI

Import

Transaction

Change to a single field and leave the field (save is automatic)

Click the Save button

Successful Import

Event

Approve change

Approve change

Approve change

For example, assuming an event-based OIEP is set up to listen for appropriate events on the applicable object types, changing data in Web UI or Workbench on an entity object that is workspace revisable would not trigger an OIEP export until that object is approved.

Using Core Events

Core events can be monitored and used to start additional processing (e.g., a derived event, business rules, event processors, a post-processor on an OIEP, and some event handlers can cause events to be generated). Additionally, events can be manually generated based on some system action or setup.

To learn more about:

Change Flags for Events

Although actions can trigger events as they occur, a record of the individual actions taken are not stored in the database—only the end result. This means that it is not possible to review a list of actions that comprised an event, and also that STEP does not track the series of individual actions taken by an event, outside of any revision created. For information on revisions, see Revisions here.

When exporting event data, to determine if a change has happened, STEP compares the current values with the values in the revision prior to the event (based on the timestamp). The XML output then reports the current truth along with a 'change flag' or 'changed marker, which is output as Changed="true".

For externally maintained data, since revisions are not created, a change to one externally maintained object results in change flags being included on all externally maintained objects, also referred to as a 'false positive'. This is because STEP cannot determine exactly which externally maintained data on the object has changed. False positives are likely, especially when a large number of externally maintained attributes or references exist on an object. However, you can be certain that when a change flag is present, data has changed. In the event that an externally maintained value of an attribute or reference is deleted, no change flag is output. For more information on externally maintained data, see the 'Important considerations for revisions' heading within the Revisions here.

Limitations and Exceptions

In addition to the caveats on externally maintained data mentioned above, the following limitations exist for change flags:

Note: To eliminate any concern about when change flags are included (or are not included), you should consider each export as a full replacement.

For an example of a number of transactions and how they are represented by the change flag, see the Change Flag Example documentation here.