Store Shelving Order in item (LC call numbers only)
Description
Environment
None
Potential Workaround
None
Attachments
1
blocks
defines
has to be done after
has to be done before
relates to
Checklist
hideTestRail: Results
Activity
Show:
Holly MistlebauerFebruary 24, 2021 at 8:24 PM
: Thanks much!

Marc JohnsonFebruary 22, 2021 at 3:15 PM
I've reopened this issue in order to complete some further changes that are necessary for [MODINV-155] to be completed.
cc:

Marc JohnsonFebruary 22, 2021 at 12:33 PM
I've raised to cover the licence compliance scope that was missed from this issue

Andrii ShapovalovFebruary 20, 2021 at 12:46 PM
Some doubts came about effectiveShelvingOrder if this field needs to be requited or not, in term of jsoin schema definition.

Tod OlsonFebruary 18, 2021 at 4:52 PM
, yes, thank you!
Done
Created October 22, 2019 at 3:39 PM
Updated April 17, 2024 at 1:55 PM
Resolved February 20, 2021 at 12:48 PM
Purpose
Allow for items (that have LC call numbers) to be sorted by shelving order (based upon call number and related fields)
Context
Refer to for how this field will be presented.
Scope
Introduce a new property for the shelving order (the definition should be read only)
Use the existing library to generate the shelving order (artefacts are in maven central)
The input to this library should be a string concatenation of the following properties:
call number
,volume
,enumeration
,chronology
,copy number
,suffix
For the
call number
andsuffix
properties, these should come from theeffective call number components
Store the output from the library in the new property
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
Deriving the shelving order for existing item records (this is covered by MODINVSTOR-521)
Generating the shelving order
Examples on sorted values:
sort order
prefix
call number
volume
enumeration
chronology
copy
suffix
PN12 .A6
PN2 .A6
PN2 .A6 v.3 no.2 1999
PN2 .A6
v. 3
no. 2
1999
PN12 .A6 41999
PN2 .A6 1999
PN12 .A6 41999 CD
PN2 .A6 1999
CD
PN12 .A6 41999 C.12
PN2 .A6 1999
2
PN12 .A69 41922
PN2 .A69
1922
PN12 .A69 41922 C.12
PN2 .A69
1922
2
PN12 .A69 NO.12
PN2 .A69
no. 2
PN12 .A69 NO.12 41922 C.11
PN2 .A69
no. 2
1922
1
PN12 .A69 NO.12 41922 C.12
Wordsworth
PN2 .A69
no. 2
1922
2
PN12 .A69 V.11 NO.11
PN2 .A69
v.1
no. 1
PN12 .A69 V.11 NO.11 +
Over
PN2 .A69
v.1
no. 1
+
PN12 .A69 V.11 NO.11 41921
PN2 .A69
v.1
no. 1
1921
PR 49199.3 41920 .L33 41475 .A6
PR9199.3 1920 .L33 1475 .A6
PQ 42678 .K26 P54
PQ2678.K26 P54
PQ 48550.21 .R57 V15 41992
PQ8550.21.R57 V5 1992
PQ 48550.21 .R57 V15 41992
PQ8550.21.R57 V5
1992
PR 3919 .L33 41990
PR919 .L33 1990
PR 49199 .A39
PR9199 .A39
PR 49199.48 .B3
PR9199.48 .B3
h3. 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.