Versions Compared

Key

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

...

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyUXPROD-4126

NFR

UXPROD-4125/UXPROD-4125 4126 NFR Scorecard

Assumptions

  • For ECS environments: Shared entities' version history should be tracked only in the central tenant.

  • All changes in the system related to inventory entities (instances, items, holdings, bibs) generate Domain events.

...

Audit Consumers Sequence Diagram

Drawio
mVer2
zoom1
simple0
zoominComment10
inCommentcustContentId0337084458
pageId332955650
custContentIdlbox3370844581
diagramDisplayNameSpitfire-Inventory-Audit-target-sequence.drawio
lbox1
contentVer6
revision6
baseUrlhttps://folio-org.atlassian.net/wiki
diagramNameSpitfire-Inventory-Audit-target-sequence.drawio
pCenter0
width1336
links
tbstyle
height611

...

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

Product Questions

Question

Answer

Comment

1

Should failure in sending audit message block the create/update/delete operation?

Hey Kalibek Turgumbayev - what happens today when an update is made and the create/update date and time stamp is not updated?

The question is related to transactional outbox pattern implementation

2

What would be the period of retention for Audit records?

Dennis Bridges has this requirement come up for you with respect to Acq’s change tracker?

The storage options depend on this question:

  • Postgres for ~ 1-3year

  • Postrgres with Partitioning by UUID 5-15 years

  • NoSQL options for 20+ years

3

In what form should we show the changes to non-marc fields (e.g. staffSuppress, administrative Notes, etc.) in MARC instances?

Kalibek Turgumbayev - I am unsure I understand this question. Can you review this mockup of how to display updates made to a FOLIO instance record?

4

If only the order of fields in a MARC record is changed, should it be logged?

Kalibek Turgumbayev - Good question - I need to ask users but unless it is a significant to implement, answer is Yes.

Dennis Bridges has this requirement come up for you with respect to Acq’s change tracker?

5

Do we have scenarios where the audit log is exported in batches for some period of dates?

It is possible that a library may want to do so but I do not think it is a requirement for Sunflower. Dennis Bridges has this requirement come up for you with respect to Acq’s change tracker?

If the solution uses Postgres with partitioning by entity key, such exports would cause significant performance issues.

...