Store Shelving Order in item (Dewey call numbers)

Description

Purpose
Populate Shelving order (effectiveShelvingOrder) on the item record when the call number type is Dewey Decimal classification.

Scope

  1. Populate effective shelving location for records that have call number type set to Dewey Decimal classification. The call number type can be stored either on holdings or item record level.

  2. Use the marc4j.callnum library to generate the shelving order (artifacts are in maven central)

  3. The input to this library should be a string concatenation of the following properties: call number, volume, enumeration, chronology, copy number, suffix - similarly how this is done for LC call number

  4. For the call number and suffix properties, these should come from the effective call number components

  5. Store the output in effectiveShelvingOrder

This should be done, under the following circumstances:

  • When an item is created or updated (either individually or in a batch)

  • When a holdings record is updated (either individually or in a batch), all items associated with it should be updated (as this can change the derivation of the input properties)

This should be done in a similar manner to other derived properties for items

Out of Scope
Update scripts will be addressed in MODINVSTOR-880

Generating the shelving order

 Examples how the number are being parsed by marc4j library: https://github.com/solrmarc/solrmarc/blob/fef224a652d060133249945cbe636b7f2a0614fe/test/src/org/solrmarc/callnum/DeweyCallNumberTests.java#L92

Complying with the library licence
Include the following in the published jar:

  • a copy of the license

  • a note that MARC4J is covered by it, and

  • a link to the source repository on GitHub

Add https://www.mojohaus.org/license-maven-plugin/add-third-party-mojo.html to the pom.xml to automatically create a THIRD-PARTY.txt file that contains a link to https://github.com/marc4j/marc4j where the marc4j source code can be downloaded. The plugin will add THIRD-PARTY.txt to the mod-inventory-storage jar.

Environment

None

Potential Workaround

None

Attachments

2

Checklist

hide

TestRail: Results

Activity

Show:

Marc Johnson March 23, 2022 at 12:54 PM

As this has been back ported and released in a patch version targeted at Lotus, I've added the Lotus R1 2022 Bug Fix as the release.

Magda Zacharska March 10, 2022 at 3:32 PM

- I tested this on folio-snapshot2 environment and I don't see effective call number being populated for Dewey call number:

Done

Details

Assignee

Reporter

Priority

Story Points

Sprint

Development Team

Falcon

Fix versions

Release

Lotus (R1 2022) Bug Fix

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created February 11, 2022 at 11:15 PM
Updated April 17, 2024 at 1:55 PM
Resolved March 18, 2022 at 6:58 PM
TestRail: Cases
TestRail: Runs