Add the ability to log created record details to the Changes Log [5.3.0-B1]

Add the ability to log created record details to the Changes Log [5.3.0-B1]

In-Portal has an optional ability to log all changes made to the database. The logging can be enabled via the "Track database changes to change log" system setting in the "Configuration > Website > Advanced" section of the Admin Console. Later results can be viewed in the "Logs & Reports > Changes Log" section.

Here is a breakdown of what's been logged:

  • for added records: record ID

  • for changed records: old and new field values (only for changed fields)

  • for deleted records: all field values

There is a gap in the scope of the logged data because field values of added records aren't logged. This way looking at the Changes Log records alone it is impossible to rebuild added record contents.

Solution

  • add the "StoreAddedRecordsDataInTheChangeLog" system setting:

    • form control: checkbox

    • title: Fully Log Data field values for newly created Records in "Changes Log"

    • after: UseChangeLog

  • in the "\kDBItem::LogChanges" method, when the above-added system setting is enabled in the switch's branch, that deals with created record logging behave as in the switch's branch, that deals with a deleted record logging

Related Tasks

INP-1820: Optionally store added record data in the Changes LogAccepted