A SilverStripe module which audits updates to and deletions from DataObject subclasses.
composer require silverstripe/dataobject-auditor
No setup is required as the AuditExtension is automatically added to DataObject.
Changes are added to two tables viz. DataObjectAuditor_Audit which has a $has_many to DataObjectAuditor_AuditValues.
Only changed records are added to the DataObjectAuditor_AuditValues table to prevent duplication.
In the case of deletion though, the entire record is written.
By default all DataObjects, except Audit and AuditValue are audited.
You can exclude some items by adding them to the AuditExtension::audit_exclusions config setting:
SilverStripe\DataObjectAuditor\Extensions\AuditExtension:
audit_exclusions:
- Namespaced\ClassName1
- Namespaced\ClassName2Bugs are tracked on github.com.