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:
It may be helpful to review the Workspaces (here) and Managing Revisions in STEP (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.
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. |
Important: 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 related to OIEPs see the OIEP - Event-Based - Event Triggering Definitions Tab section of the Outbound Integration Endpoints documentation here. For more information related to Event Processors, see the Event Triggering Definitions Tab section of the Event Processors documentation here.
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 |
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 |
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.
Core events can be monitored and used to kick-off 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:
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 Managing Revisions in STEP 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 Managing Revisions in STEP 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.
2018, Stibo Systems