Uploaded image for project: 'mod-inventory-storage'
  1. mod-inventory-storage

Store Shelving Order in item (Dewey call numbers)



    • Story
    • Status: Closed (View Workflow)
    • P3
    • Resolution: Done
    • None
    • 23.0.1, 24.0.0
    • None
    • Falcon Sprint 134, Falcon Sprint 135
    • 5
    • Falcon
    • Lotus (R1 2022) Bug Fix


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


      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

      String input = call number + " " + volume + " " + enumeration + " " + chronology + " " + copy number + " " + suffix;
      DeweyCallNumber call = new DeweyCallNumber (input);
      String shelfKey = call.getShelfKey();

       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.

      TestRail: Results


          Issue Links



                pavel_filippov Pavel Filippov
                magdaz Magda Zacharska
                0 Vote for this issue
                4 Start watching this issue



                  TestRail: Runs

                    TestRail: Cases