...
The Kafka default delivery semantics is “AT_LEAST_ONCE”. Ensure that domain events have their unique identifiers to be able to handle consuming messages in an idempotent manner
Add new consumers in
mod-audit
to inventory domain events for instances, items, and holdings.Add new consumers in
mod-audit
to authority domain events for authorities.Add new consumers in
mod-audit
to source record domain events for marc-bib records.(see: Source Record Domain Eventing)mod-audit
should support the following configurations on the tenant level:Retention period in years (with default value - 0 for indefinite retention)
Anonymizing flag that indicates whether the records in the database should be anonymized before persistence to the database.
mod-audit
should have the following scheduled jobs:Daily: to remove records that exceed the retention period
Monthly: to create subpartitions for audit tables
Persist audit events in an event storage. A table in DB per entity type with partitioning by UUID (hash) and subpartitioning by date range.
Create REST API
4. to provide information on a list of changes related to a particular entity
5. to provide detailed information on the particular change - this API should use the Object diff library to return a verbose description of the difference between current and previous snapshots of the entity
...