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
ConceptJpa
ConceptRefsetMemberJpa
DescriptionJpa
DescriptionTypeJpa.java
LanguageDescriptionTypeJpa.java
LanguageRefsetMemberJpa.java
ModuleDependencyRefsetMemberJpa.java
RefsetDefinitionRefsetMemberJpa.java
RefsetDescriptorRefsetMemberJpa.java
RelationshipJpa.java
- Application
Notes (concept, member, refset, translation).
UserPreferencesJpa
UserJpa
TranslationJpa
StagedTranslationChangeJpa
StagedRefsetChangeJpa
SpellingDictionaryJpa
ReleasePropertyJpa
ReleaseInfoJpa
ReleaseArtifactJpa
RefsetJpa
ProjectJpa
PhraseMemoryJpa
MemoryEntryJpa
DefinitionClauseJpa
- Workflow
- TrackingRecordJpa