/
Auditing and Revision History

Auditing and Revision History

Overview

Documents the strategy for managing auditing and revision history.

This is a placeholder page with basic information and will be developed to fully document this aspect of the system.

Details

All changes to model objects are tracked in audit tables in the backing database. This is achieved through the use of Hibernate Envers, a now core part of the distribution that provides annotation-based auditing of objects completely managed in the background. Every state of a model object exists in the database at all times, providing access to object and database history. Viewing objects as they looked in the past is fully supported, including the ability to reconstruct an entire graph of connected objects at an arbitrary point in the past.

Full RF2 is represented as a series of audit trail entries with the current snapshot existing in the “live” tables. Thus data is never deleted from the audit trail but can be removed from the “current view”, enabling mistakes to be corrected but information about them retained for reporting and other purposes.

TODO: show examples of auditing annotations

TODO: show examples of _AUD tables in MySQL and explain how revision#s work.

  • n/a