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)- IsIgnoreIdAttribute (Boolean) Does the ID attribute needs to be ignored? Default value: True- 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) Setting the locale parameter no longer sets the locale for the entire application using the "Human Readable Change History" functionality.
The default language is english and can be changed only to "pt-*" or "nl-*".
Please only change the locale when you really want to because it has a negative influence on the performance.
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.
Add support for pt-* locales instead of pt-PT only.Also nl-* locales are supported