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