STORY: Map date to MARC 005 field

Description

Card split from to address last requirement from that ticket:

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

 

~!~!~

 

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

Attachments

1

Checklist

hide

Activity

Show:

Andrei BordakDecember 20, 2024 at 11:54 AM
Edited

 

 

field 005 goes after 008 due to the BE architecture, should it be fixed?

Pavel BobylevDecember 13, 2024 at 7:36 AM

, we decided to map 008 00-05 with the same date as 005 in scope of this card, right?

Done

Details

Assignee

Reporter

Labels

Priority

Story Points

Sprint

Development Team

Citation

Release

Sunflower (R1 2025)

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created November 22, 2024 at 1:36 PM
Updated March 4, 2025 at 7:51 PM
Resolved December 23, 2024 at 1:52 PM
TestRail: Cases
TestRail: Runs