Data Event Workflow Rule Classes
Data Event Workflow Rule Classes
There are two workflow rule classes of type
DataEvent
:
-
LoggerDataEventListener
-
RoomTransactionDataEventListener
These two workflow rules are disabled by default.
LoggerDataEventListener
The
LoggerDataEvent
workflow rule is shipped with the
AbSystemAdministration
application:
-
\ schema\ab-core\system-administration\common\src\main\com\archibus\app\sysadmin\event\data\LoggerDataEventListener.java
By default, this is not active. You must enable the Data Event Logging workflow rule .
When a user uses the Smart Client or a Web Central form to change a record in one of the listed tables, the callback workflow rule logs the update to the database event log. Because changes to a parameter value will be visible to any workflow rule immediately, altering an application parameter allows Business Process Owners to enable or disable specific Data Change event listeners without needing to ask the System Integrator to restart the app server.
A
DataRecord
change event uses the following rules for logging event parameters:
- For regular fields, it concatenates values (including null values), using “|” separator.
- For memo fields, it logs the contents of the first 100 characters.
- For document fields, it ignores the document field value and inserts a placeholder,.
For a direct SQL event, the workflow rule has to determine if the event changed the data (versus a read event). If the SQL contains one of the following, the rule logs all event parameters.
-
INSERT statement
-
UPDATE statement
-
DELETE statement
The
LoggerDataEventListener
logs old values if the user changed a primary key value and did not use direct SQL.
The
LoggerDataEventListener
logs all event parameters to the
afm_data_event_log
table. See
Viewing the Data Change Event Log.
If your particular usage requires alternate features, you can modify the default listener. If you log memo fields, you should also adjust how you store the data to the logging table (
afm_data_event_log
), either by expanding the size of the fields holding the old and new values or logging the memo fields to different tables (as some servers have limits to the length of any single record that is stored, so you may not be able to store the old value and the new values in the same record).
RoomTransactionDataEventListener
The Workspace Transactions features of Space Management also make use of Data Change event logging.
We ship class
RoomTransactionService
in the
AbSpaceRoomInventoryBAR
application, which is used by:
-
RoomTransactionDataEventListener
-
scheduled rule
ResynchRoomTransactionsTable
.
The associated application parameter
UseWorkspaceTransactions
governs this feature and indicates whether or not to record a history of all space-related changes.
Use the System / Archibus Administrator - Application Configuration / Enable Workspace Transactions task to turn on the workspace transaction feature. Doing so enables several processes in the Level 4 – Process Owner and application Licensee roles. Doing so also enables the Room Transactions Data Change event listener.
Using Extensions for AutoCAD, the Extensions for Revit, the Smart Client grid, or a Web Central form, insert, change (Division and Department), or delete a record.
The Workspace Transactions table (
rmpct
) shows:
- New Room Transactions for inserted rooms.
- The updated Division and Department in the dominant Transaction Record for changed rooms.
- Inactive Room Transaction records for deleted rooms.