STORY: Table for date fields

Description

The scope of this card is to add date fields to the resource table in order to

  • maintain consistency across FOLIO applications

  • specify how the table will populate date fields in the MARC derived record

FIELD

TYPE

FORMAT

DESCRIPTION

 

created_date

timestamp

yyyy-mm-dd-Thh:mm:ss

Date / time when resource first added to data graph

 

created_by

uuid of FOLIO user

 

Who added resource to data graph

 

updated_date

timestamp

yyyy-mm-dd-Thh:mm:ss

Date / time when resource last updated

 

updated_by

uuid of FOLIO user

 

Who performed the last update to the resource

 

version

 

 

Starts with 0 and is incremented by 1 each time a change is made

 

  • The values are system-generated are not editable. All permissions are read only.

  • The values are ‘metadata about the metadata’ and should not be incorporated directly to the data graph.

  • The values must be used, however, for populating date fields in MARC derived records and (eventually) for outputting BIBFRAME-compliant resource descriptions in RDF.

  • Finally, the date fields apply separately to each resource (e.g. Work resource, Instance resource, Authority resource, etc.), e.g.

    • when a cataloger saves a Work resource for the first time, the created_date and updated_date fields are auto-populated with the same value

    • when a cataloger saves edit made to an Instance only - and not the Work - the updated_date for the Instance resource is updated; and the Work resource is not

    • when a cataloger saves edits to an authority resource in the MARC Auth app, the updated_date for the authority resource is updated (via Kafka); and the Work resource is not

NOTE: The updated_date field is updated with a save action or updates made via Kafka. If no changes have been made to the resource, the updated_date field does not change either.

From the date fields in the resource table, only the updated_date field is needed for creating the MARC derived record. Timestamp information is captured in the 005 field (Date and Time of Latest Transaction) in MARC following the ISO 8601 format: yyyymmddhhmmss.f

(NOTE: the ‘f' represents a fraction of a second and can be represented in MARC as '.0’ e.g. MARC 005 20240223151047.0)

The MARC 005 is non-repeatable and cannot differentiate between Work and Instance. So when a resource description is updated in LDE, the system should

  • compare the updated_date value for Work and for Instance

  • select the more recent date of the two (if they differ)

  • convert the value into ISO 8601 format, to comply with the MARC standard

    • yyyy-mm-dd-Thh:mm:ss to yyyymmddhhmmss.f

  • map the value to the 005 of the MARC derived record

Environment

None

Potential Workaround

None

Checklist

hide

Activity

Show:

Andrei Bordak December 18, 2024 at 10:46 AM

Decreased Original Estimation to 3SP since MARC 005 was moved out of the scope of this story.

Doug Loynes November 20, 2024 at 1:29 PM

At the 20 Nov Refinement, we agreed that we should clean out all of the unused columns in the resource table and in other tables.

Done

Details

Assignee

Reporter

Labels

Priority

Story Points

Sprint

Development Team

Citation

Fix versions

Release

Sunflower (R1 2025)

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created November 15, 2024 at 4:15 PM
Updated March 13, 2025 at 8:49 PM
Resolved December 23, 2024 at 1:51 PM
TestRail: Cases
TestRail: Runs