2017-05-23
1.5.1
Sofia Pinho
SQL Server
.NET
[Overview]
Create human-readable audits by simply supplying the changed record(s). Example: Name changed from John to Peter Age defined to 32 Country changed from England to Portugal
[Detail]
Feature List
- The DiffEntityDataToText is a component that uses the EntityDiff extensions 'To Compare' diferent records or multiple entities,
The novelty is the fact of the component create human readable senteces based on the meta model id's in entities to specific labels.
Ex: instead of "Country Changed from 3 to 4" -> "Country changed from Portugal to Spain"
This component is really useful to provide an out-of-the-box auditing mechanism for your application's core entities. It is an indispensable feature when having to comply to US' Sarbanes–Oxley Act (SOX).
Just consume the DiffEntityDataToText eSpace's RecordDifferences action in the save operations of your application, inputting both the record(s) before the change and after. Notice that you can input a single record or a set of records or structures.
RecordDifferences action:
- OriginalRecord (record or set of records)
- ChangedRecord (same as above)
- AttributesToIgnore (comma-separated list of entity attributes to ignore, like, most commonly, LastUpdateDate)
- EntityNameToTranslate (when a single entity record is provided, you must provide its entity name for the introspection)
- EntityLabelsList (as you don't specifiy anywhere the real-world label for entities, you must provide the translation here - in the format ENTITY:EntityLabel,ENTITY2:EntityLabel2)
- Locale (to use the correct translated strings)
As it uses the entity and structure attribute label property, be sure to define them correctly in Service Studio.
The action does not raise exceptions. It just logs them in the platform's Error Log.
System Requirements and Limitations
- OutSystems V7 or later;
Notice: This component takes advantage of private and undocumented Platform APIs, which can change without notice. As a result, this component may unexpectedly break as the Platform is upgraded. We advise proper testing to ensure that your applications continue to work as expected when upgrading/patching the Platform.