Foundation for Financial Services provides enhanced traceability for embedded pages.
Foundation for Financial Services tracks the PegaFS-Data-Party-MasterProfile class for changes to any of its scalar and embedded properties. To achieve this, the FSIFTrackSecurityChanges declare trigger is created on the PegaFS-Data-Party-MasterProfile class and calls the FSIFTrackSecurityChanges activity. This trigger is configured to invoke the activity each time the master profile is saved. When the activity is called, it provides the appropriate value for CustomerID.
The following information describes how the default data traceability (or tracked changes) feature is configured in Customer Lifecycle Management, and how these features can be extended as needed.
For more details, see the Implementation Guide on the Pega Client Lifecycle Management for Financial Services page.
Use the fs/FSIFTrackingFunctionalityEnabled dynamic system setting to enable or disable tracking functionality.
The IsTrackingFunctionalityEnabled when rule evaluates the dynamic system setting. If the setting has a value of true, it tracks changes.
The FSIFTrackSecurityChanges activity uses the FSIFTrackChangesSetContext decision table for populating target context. Use this decision table as the extension point for configuring a different target context based on tracking requirements, such as the customer master profile.
This activity collects the scalar, embedded pages that are defined in the FSIFTrackSecurityChanges data transform, beginning with the target context, which in this case is MasterProfile. For scalar properties, the logic sets the old and new values and stores them in the fsf_changetracker table. On embedded pages, the activity launches the corresponding track definition from the FSIFTrackSecurityChanges data transform in that particular class. It repeats the tracking functionality (by calling the same activity through the Pega Platform invoke activity function) until it covers all scalar, embedded properties that are defined in the data transforms.
For embedded properties, this activity identifies the change in content when an item is removed from a list or group.
Before storing the tracked change, the activity retrieves the value from the database (in this case, the master profile) and compares it with the current value that is on the clipboard. If these two values are different, a record for this property is created in the fsf_changetracker table, with the old value retrieved from the database and the new value retrieved from the clipboard. After this activity is run, the original commit is made to the database.
The MapChangeTrackerDataInfo data transform helps to build the required structure before the record is saved to the fsf_changetracker table. This data transform (on Embed_Historymemo) uses the history memo to store targetelement. The previous value and final value are stored in a particular format and are positioned based on whether they are changed, added, or removed. This also brings in other details such as operator, source application, and so on, using the D_SourceDataInfo data page. A data transform is applied to this data page, which helps to define a source application, IP address, operator, source node, and source context using Pega Platform system pages to get corresponding information.
- The FSIFTrackSecurityChanges activity rule can be called from any other activity and data transform rule by passing the values for the CustomerID, ComposedPage, DynamicChangeTrackModel and DynamicCopyOfInstance parameters.
- The @baseclass DrivenTrackSecurityChanges activity is an extension point for consuming the change tracking functionality in a custom way. Instead of starting from the primary page, specialization is done to start change tracking from a predefined path on the primary page.
- This specialization is introduced in order to:
- Define the customer ID using the parameter customerID.
- Define the entry path from the primary page on which the change tracking begins. This entry path is passed from consuming context within the TargetElementPath parameter.
- Override the dynamic timestamp to be persisted in the table by passing it within the CurrentTS parameter.
- Pass custom information and map it to the CustomProperty1 column in the table by using the value within the CustomProperty1 parameter.
- Pass custom information and map it to the CustomProperty2 column in the table by using the value within the CustomProperty2 parameter.
- Override the dynamic value of the Comment column by passing the value within the CustomComment parameter.
Foundation for Financial Services provides a dedicated database table to store all changes on scalar or embedded properties that are defined in the data transform. This table has a composite fsf_changetracker_pkey primary key with the following columns.
For better performance, the database has indexes on the following columns.