Version history requirements - Inventory & MARC authority

Version history requirements - Inventory & MARC authority

Overview

In scope

Log that contains

  • User who made the change

  • Date time of change

  • Change made

  • Applied to both FOLIO and MARC source instances

  • Feature toggle

  • Configuration of number of cards to show

  • Configuration of retention period

Out of scope

  • Ability to rollback to and/or view previous versions

  • Ability to sort

  • Including the app that triggered the change

  • Exporting version history

Team Responsibilities

Category

Folijet

Spitfire

Jira

Version history UI

  • Instances

  • FOLIO holdings

  • Items

  • MARC source view

    • Bibs

    • Authorities

       

 

Domain events & rest endpoints

  • MARC bibs

  • MARC authorities

  • Instances

  • FOLIO holdings

  • Items

 

Change log feature toggle

 

 

https://folio-org.atlassian.net/browse/MODAUD-209

Retention period configuration

 

 

https://folio-org.atlassian.net/browse/MODAUD-207

https://folio-org.atlassian.net/browse/UIIN-3206

Display configuration

 

 

https://folio-org.atlassian.net/browse/UIIN-3213

Tech design

https://folio-org.atlassian.net/wiki/spaces/DD/pages/332955650

Requirements

Configuration requirements

Requirement

Notes

Jira

Status

Requirement

Notes

Jira

Status

1

Feature toggle so that libraries can set whether the feature is enabled (applies to both FOLIO and MARC source records)

Should apply to all record types (in Inventory & MARC authority)

  • When the feature flag is disabled, previous history is retained but edits after disabling are not tracked. If the flag is later enabled, the history will start being recorded.

ECS:

  • Enabled on central tenant, disabled on member tenant

    • Central tenant: Version history will show (all shared records)

    • Member tenant: Version history icon will show on shared records, will NOT show on local records

  • Enabled on central tenant, enabled on member tenant

    • Central tenant: Version history will show (all shared records)

    • Member tenant: Version history will show on all records

  • Disabled on central tenant, enabled on member tenant

    • Central tenant: Version history will not show

    • Member tenant: Version history will NOT show on shared records, will show on local records

  • Disabled on central tenant, disabled on member tenant

    • Central tenant: Version history will NOT show

    • Member tenant: version history will NOT show

Note: “Local” refers to local instance, holdings, and item records

https://folio-org.atlassian.net/browse/MODAUD-209

complete

2

25 10 cards on version history to show as default

  • Add configuration for number of cards to show at once with a maximum value in Settings

  • Inventory display settings

  • 10 as default

Managed at the tenant level -

In Sunflower, central tenant setting will control the cards per page for all shared records. Member tenant setting will control the cards per page for only records that are local to that tenant.

https://folio-org.atlassian.net/browse/UIIN-3213

https://folio-org.atlassian.net/browse/UIMARCAUTH-444

https://folio-org.atlassian.net/browse/MODAUD-222

complete

3

Allow for configuration of retention period

Default to all

  • ECS:

    • Central tenant: all shared

    • Member tenant: local to that tenant

https://folio-org.atlassian.net/browse/MODAUD-207

https://folio-org.atlassian.net/browse/UIIN-3206

complete

Version history pane requirements

Requirement

Notes

Folijet

Spitfire

Status

Requirement

Notes

Folijet

Spitfire

Status

1

Add icon to open change log

 

https://folio-org.atlassian.net/browse/UIIN-3170

https://folio-org.atlassian.net/browse/UIIN-3171

https://folio-org.atlassian.net/browse/UIIN-3172

 

complete

2

After clicking change log icon, suppress accordions/tags/actions menu

 

https://folio-org.atlassian.net/browse/UIIN-3176

https://folio-org.atlassian.net/browse/UIIN-3177

https://folio-org.atlassian.net/browse/UIIN-3178

 

complete

3

Include version history on:

  • Instance detail view (fourth pane)

  • Holdings detail view (second pane)

  • Items detail view (second pane)

  • source view for MARC source records (bibs & authorities - second pane)

 

https://folio-org.atlassian.net/browse/UIIN-3173

https://folio-org.atlassian.net/browse/UIIN-3174

https://folio-org.atlassian.net/browse/UIIN-3175

https://folio-org.atlassian.net/browse/UIQM-674

https://folio-org.atlassian.net/browse/UIQM-673

 

complete

4

Display the date and time of the change in local timezone

 

 

 

complete

5

Display the user source of the change.

  • Hyperlink user name and once clicked, redirect to Users app and the User record

  • If the user does not have permissions to view User records, make the hyperlink inactive

 

 

 

complete

6

When record is first created, only included a record-level change of created. Do not include field-level changes on the card.

 

 

 

complete

7

Identify as a “Change”, and indicate whether the field was:

  • Added

  • Edited

  • Removed

 

 

 

complete

8

Identify as a “Change” when holdings/item records are moved

When holdings are moved, show change on holdings record of:

  • Holdings record (Moved)

When item records are moved, show change on item record of:

  • Item record (Moved)

 

 

 

complete

9

Indicate the field changed on Instances detail view for both FOLIO and MARC source records.

Note: for MARC source records, the field changed should reflect the Instance field changed (see other requirement for Source view)

Current implementation:

  • If multiple repeatable fields are changed AND reordered in a single version, “changed from” and “changed to” values may not be correlated in the right order

  • If a new repeatable field is added when there are existing fields of the same tag, the action will show as “Edited”

 

 

complete

10

In Source view for MARC source records, identify the specific MARC fields (not to the point of indicators or subfields) changed

 

 

 

complete

11

If a MARC field is changed that does NOT map to a FOLIO instance, do not include the change in the Instance detail view log

 

 

 

complete

12

Add a “Load more” button to the bottom of the version history pane

 

 

complete

13

Present a toast message that loading additional changes may take time

Test

 

 

review

14

When records are promoted to shared:

  • Capture and show that the record has been shared in the audit log

    • Instead of “Original version”, replace with “Shared”

  • Do not retain the history of the local record

 

 

 

complete

15

For repeatable fields, if multiple values (such as multiple contributors) are added/edited/removed, show as a single line on the card. All fields as plural.

 

 

 

complete

16

For inner fields:

  • Do not show as a change on the card in the Version history pane (for example, just show that “Contributors” at a higher level changed)

 

 

 

complete

17

Do not show changes to the 005 fields for MARC record version history

 

https://folio-org.atlassian.net/browse/MODAUD-205

 

complete

18

Add a version counter to the Version history paneheader

 

https://folio-org.atlassian.net/browse/MODAUD-229

 

complete

Modal requirements

Requirement

Notes

Folijet

Spitfire

Status

Requirement

Notes

Folijet

Spitfire

Status

1

Add a hyperlink to the “Changed” header on the version history cards

 

 

https://folio-org.atlassian.net/browse/UIQM-748

complete

2

Hyperlink to “Changed” header should open a modal that contains field value-level change details for the selected card

 

 

https://folio-org.atlassian.net/browse/UIQM-748

complete

3

Header of modal should contain the date, time and the user source of the change

 

 

https://folio-org.atlassian.net/browse/UIQM-748

complete

4

Modal should contain columns:

  • Action (such as Added, Edited, Removed)

  • Field

  • Changed from

  • Change to

Table should be sorted by Action, ascending, with no manual sorting capabilities

 

 

https://folio-org.atlassian.net/browse/UIQM-748

complete

5

For repeatable fields:

Show each high level field on one line

 

 

https://folio-org.atlassian.net/browse/UIQM-748

complete

6

For inner fields:

Show each field value in bullets

 

 

https://folio-org.atlassian.net/browse/UIQM-748

complete

7

MARC-specific modal:

  • “Field” column should contain the field number

  • “Changed from” should contain the indicator values and the field string with subfields

  • “Changed to” should contain the indicator values and the field string with subfields

 

 

https://folio-org.atlassian.net/browse/UIQM-748

complete

Questions

Question

Answer

Refinement Notes

Answer Date

Status

Question

Answer

Refinement Notes

Answer Date

Status

1

In the mockups, the user name is hyperlinked - does this just go to the user record?

Yes

 

Dec 20, 2024

complete

2

Do we indicate when one record is updated from changes made to another record (such as updating the call number on a holdings record which then updates the effective call number on the item record)?

If there is a field that is autogenerated/updated, needs to be reflected in item version history - @Khalilah Gambrell - is this correct?

 

Likely need to exclude from the version history (CSR needs to come up with the list of fields to exclude)

  • If we don’t want to include these changes to the item record audit log: Need list of fields to ignore on the item record that are updated from the holdings record changes

Jan 16, 2025

complete

3

Do we include a change of “Shared” for ECS?

Replace “Changed” to “Shared” and remove the audit history from the previous local record


Yes. Need to determine LOE for indicating that the record was Shared as opposed to just Created (CSR to determine what will replace “Original version” when shared and create backend story) @Christine Schultz - to determine UI wording

We do not need to retain the local version history when shared.

  • To be able to show that the record (instance and related MARC bib record) was not created but shared we need to solution

    • 1/16/24: Specific event sent by mod-inventory so we can do this

  • For retaining local history when shared: Need to review with Folijet to think about if we need to move audit history to central tenant

    • Determine scope and LOE for retaining the local history

      • Would require moving local mod-audit to central mod-audit

      • Would potentially require both Folijet and Spitfire; depending on solution

      • Note: If user does not have a shadow user in central tenant, this would not be able to be shown in the audit log for a shared record

    • Decided that it will not be included

Jan 21, 2025

complete

4
Christine Schultz
January 10, 2025

@Khalilah Gambrell - Acq does not include reordering in the audit trail. I think we should also ignore it.