Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Column

Type

required

unique

Description

1

EventID

UUID

y

y

unique event identifier

2

EventDate

timestamp

y

n

date when the event appeared in the event log

3

Origin

varchar

y

n

Origin of the event: data-import, batch-update, user, etc.

4

Action

varchar

y

n

what action was performed

5

ActionDate

timestamp

y

n

when action was performed

6

EntityID

UUID

y

n

entity identifier

7

UserId

UUID

y

n

user who did the action, fixed UUID for anonymized user

8

Snapshot

jsonb

y

n

body of the entity

WBS

Expand

Story

Task

Entity

Description

Module

1

Persisting events

2

Persisting events

Extend domain event with source FOLIO

Instance (FOLIO)

[TBC]

mod-invenotry-storage

3

Persisting events

Extend domain event with source FOLIO

Item

[TBC]

mod-invenotry-storage

4

Persisting events

Extend domain event with source FOLIO

Holding

[TBC]

mod-invenotry-storage

5

Persisting events

Extend domain event with source MARC

Instance (MARC)

Add origin header to align depending DI profile

mod-source-record-storage

6

Persisting events

Extend domain event for Authority

Authority

Add origin header to align depending DI profile

mod-source-record-storage

7

Persisting events

Consume domain event

Instance(FOLIO)

Create table with partitioning by UUID
Create kafka consumer for domain event
Persist entity snapshot

mod-audit

8

Persisting events

Consume domain event

Instance(MARC)

Create table with partitioning by UUID
Create kafka consumer for domain event
Persist entity snapshot

mod-audit

9

Persisting events

Consume domain event

Holding

Create table with partitioning by UUID
Create kafka consumer for domain event
Persist entity snapshot

mod-audit

10

Persisting events

Consume domain event

Item

Create table with partitioning by UUID
Create kafka consumer for domain event
Persist entity snapshot

mod-audit

11

Persisting events

Consume domain event

Authority

Create table with partitioning by UUID
Create kafka consumer for domain event
Persist entity snapshot

mod-audit

12

Persisting events

Configuration

All

Provide configuration parameter to enable/disable audit log on tenant level

mod-audit

13

Persisting events

Configuration

All

Anonimize events

mod-audit

14

Display History

Rest Endpoint for history

Instance(FOLIO)

Query list of snapshots from database
Calculate diff messages
Return list of diff records

mod-audit

15

Display History

Rest Endpoint for history

Instance(MARC)

Query list of snapshots from database
Calculate diff messages
Return list of diff records

mod-audit

16

Display History

Rest Endpoint for history

Holding

Query list of snapshots from database
Calculate diff messages
Return list of diff records

mod-audit

17

Display History

Rest Endpoint for history

Item

Query list of snapshots from database
Calculate diff messages
Return list of diff records

mod-audit

18

Display History

Rest Endpoint for history

Authority

Query list of snapshots from database
Calculate diff messages
Return list of diff records

mod-audit

19

Display History

Show history Pane in inventory

ui-inventory

Risks and concerns

Risk

Description

Probability

Impact

Mitigation

1

Long period for audit records retention

The number of records could overwhelm the capability of the Postgres database both from a computational point of view and cost

High

High

Introduce separate storage for audit-events

2

Cascade Updates will create redundant copies in the audit log

The update to holdings causes updates to all related items. Some holdings may contain ~15000 records

High

Medium

Collapse or filter out events that only change parent entity

3

Some flows could update inventory entities without using the Domain-events mechanism

With different capabilities of the system including UI, data import, bulk edit, etc some of the flows might skip sending Domain events and/or edit entities directly

Low

Medium

List those cases and add domain events to flows that has no this capability

4

Linked data

The flow and integration with inventory are not clear for the BIBFRAME format

Low

Low

Adjust BIBFRAME flow to follow the proposed solution for other inventory entities

...