Tracking history of data objects
The object history tracking consists of the following components implementing different aspects of the functionality:
- The Persistence service is responsible for collecting data from the Enterprise server and the Role and Policy Engine, then merging it to the ODS. It also includes new and deleted resource hierarchies in the process.
- The history tracking is responsible for the data transfer from ODS to ODW as a continuous background process. It allows you, for example, to monitor inconsistent objects in ODS, errors, and history of changes introduced to chosen properties of a data object type.
The following items are transferred by the history tracking feature to the ODW:
- Identity
- System
- Resource
- Context Assignment
- Resource folders
- Contexts
- System categories
The data object transfer is initiated in two ways:
- When a change to the object is introduced.
- A timer value, set to two minutes, is reached.
All of the mentioned data object types have preconfigured properties, allowing for the export to be correct and successful with the default values of the settings. Specific fields of those data objects are mapped to the corresponding fields in ODW and values are configured in the Warehouse attribute name setting of the data object type property.
You can export additional data for the following data object types:
- Identity
- System
- Resource
- Context Assignment
You can achieve it by configuring the Warehouse attribute name setting in other properties. This way, they will be exported as extension attributes. For reference, see: Extension attributes.
Context type
A Data Object Type can be used as a Context Type. It requires the following attributes to be configured:
- ComposedBusinessKey - a unique value for a specific context
- Name
- ShortName
- Parent_ComposedBusinessKey - a reference property pointing towards a parent context
Additionally, there are two following attributes supported:
- Type
- SubType
Any other configured property is considered as an extension attribute.
For the Data Object Type to serve as a Context Type, it is also required that it has the Synchronize to ODW setting enabled and the Owner Property has to point to the correct identity reference property of the data object type.
When the context is set as personal, the parent assignment is also generated based on the parent context.
When the Membership property is configured, the context assignment is generated when identities are referencing the context by the membership property.
Handling inconsistencies
During data transfer, the following actions are performed:
- Inconsistent entries are marked as failed
- Failed entries are marked for a retry action
- Error cleanup
- Watermark reset
- Extension attributes are maintained
Due to the asynchronous nature of transferring data to ODS, the order of transferred data might not be appropriate (for example, resource is loaded before the resource folder). This results in marking objects, lacking their dependencies, as inconsistent. Afterwards, the inconsistencies are reevaluated, and if the counter reaches 5 failed attempts the status is changed to permanently inconsistent.
The 5 attempts at reevaluating inconsistencies amount to around 25 minutes.
Number of inconsistencies
The number of inconsistencies displayed in the Analytics widget may differ from the number shown in the detailed view. The widget shows an aggregated count: if a single user or object has multiple inconsistencies, it is counted once. The detailed view lists each individual inconsistency separately, which results in a higher number.
The detailed view has a limitation of 1000 rows, so environments with a high number of inconsistencies may see a truncated list.
Inconsistencies troubleshooting
The inconsistencies are exceptions that result from an improper configuration or malfunctions. Beneath you can find scenarios that may lead to the permanently inconsistent status and suggestions how to resolve them.
-
Transient error in infrastructure
Probable cause: The data has been transferred, but with a substantial delay.
Proposed solution: Reset the inconsistency flag, resulting in reattempt of history tracking feature.
-
Data error
Probable cause: Data object has a wrong value in a reference property.
Proposed solution: Update the object in the Enterprise Server. The object is then synchronized, resolving the inconsistency.
-
Incorrect mapping
Probable cause: The advanced configuration of mapping from ODS to ODW is incorrect.
Proposed solution: Correct the mappings and reset the inconsistency flag.