Audit
There is a need of tracking audit information of various entities within the FOLIO. For that we want to provide a platform wide solution which will handle that.
Business requirements
Circulation Requirements
Acquisitions Display a history of edits for the order record
Component diagram
Audit Log Entry Domain Model
Attribute | Name | Type | Mandatory | Description | Sample | Questions |
---|---|---|---|---|---|---|
Identifier | id | UUID | Yes | Event unique identifier | ||
Group | group | String | Yes | Group is used to combine entries from a particular functional area | Circulation, Acquisition | Do we need such grouping? |
Entity type | entityType | String | Yes | Entity type to which audit log entry relates to | Order | |
Entity identifier | entityId | UUID | Yes | Entity identifier to which audit log entry relates to | ||
Event type | event | String | Yes | Log entry event type. Determines what happened with the entity | Created | Specific for entity type or uniformed? Do we need 2 separate eventtypes - crud and specific |
User name | user | String | Yes | User who initiated related action | Is it possible that user is missing? | |
Timestamp | date | Timestamp | Yes | Event date time | ||
Description | description | String | Yes | Human readable description | ||
Custom event details | details | Object | No | Custom event description | { "items": [ } | If it's postgres, should we use jsonb? |
Request id of the initiated action | requestId | UUID | Yes | Action request id | ||
Span id of the initiated action | spanId | UUID | Yes | Action span id |
Open questions
- Historical data archiving
- Anonymization of records in scope of GDPR