Overview
Documents the strategy for managing auditing and revision history.
Details
Every authoring environment needs a mechanism to track changes. The refset/translation tool makes use of an extension to the JPA framework that performs automatic auditing of all changes to JPA managed objects through Hibernate Envers.
The simple addition of an @Audited annotation allows any audited object (and its connected graph) to have its changes tracked through time. Some features include
- All domain object changes are tracked (per commit).
- A complete revision history of all changes exists in the database.
- An audit reader supports the ability to load,visualize, and interact with object graphs as they looked at arbitrary points in the past.
For each @Audited object, there is a corresponding _AUD table in the database that tracks the older states. A revision number and revision type are also tracked in this table. These tables can be indexed for faster retrieval and can be directly queried for reporting purposes.
For each type of object in the Domain Model, the following classes are audited:
- Terminology
- No terminology objects are audited
- Application
AbstractNote
UserPreferencesJpa
UserJpa
TranslationNoteJpa
TranslationJpa
StagedTranslationChangeJpa
StagedRefsetChangeJpa
SpellingDictionaryJpa
ReleasePropertyJpa
ReleaseInfoJpa
ReleaseArtifactJpa
RefsetNoteJpa
RefsetJpa
ProjectJpa
PhraseMemoryJpa
MemoryEntryJpa
DefinitionClauseJpa
ConceptRefsetMemberNoteJpa
ConceptNoteJpa
- Workflow
- No workflow objects are audited