Details
Reporter
Ann-Marie BreauxAnn-Marie Breaux(Deactivated)PO Rank
0Release
Not ScheduledRank: Cornell (Full Sum 2021)
R2TestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Reporter
Ann-Marie Breaux
Ann-Marie Breaux(Deactivated)PO Rank
0
Release
Not Scheduled
Rank: Cornell (Full Sum 2021)
R2
TestRail: Cases
Open TestRail: Cases
TestRail: Runs
Open TestRail: Runs
Created June 22, 2021 at 7:15 PM
Updated February 25, 2025 at 7:04 PM
Current situation or problem: Have the ability to use regex or some sort of syntax for if/the, If call number range = x-y, then assign permanent location = z in the holdings record
In scope
How much logic is needed? Go to complete regex, or something smaller?
Make sure this can work for all 3 inventory record types
Also needed for SRS MARC records?
Also needed for orders?
Also needed for invoices?
Out of scope
Use case(s)
TBD: would be great to have some examples here from libraries
If field is 050, assign classification type LC vs If field is 060, assign classification type NLM
If 852 indicator 1 is x, assign classification y (see https://www.loc.gov/marc/holdings/hd852.html)
If call number range = x-y, then assign permanent location = z in the holdings record
Additional Use cases - ECS
Library A example: 050 mapping should also have 090 field added
Library B - SuDoc Classification needed ???
Library C - Any classification scheme defined by the indicators or $2, LC, Non-LC (second indicator 4 of 050), documents, and the other (indicator 7, 8)
Library D - State docs ???
Library E - At our institution, we use first indicator 8 in the holdings record for multiple things, so it could indicate that the item is a our Document, or a manuscript collection, etc. Our document would always have the source specified in $2 of the bib record (086 or 099), if that would be helpful to distinguish.
One additional use case is we routinely remove certain 6xx fields related to subject thesauri. Some of our logic looks like this in Alma:
removeField "6**" if (exists "6**.{*,3}")
removeField "6**" if (exists "6**.{*,4}")
removeField "6**" if (exists "6**.{*,5}")
removeField "6**" if (exists "6**.{*,6}")
removeField "6**" if (exists "6**.2.acapub|agrissc)
Also, at times we remove 856 fields when records come across with vendor specific data. Examples such as this.
removeField "856" if (exists "856.a.http://ebookcentral.proquest.com")
removeField "856" if (exists "856.u.http://proxy.library.carleton.ca*")
removeField "856" if (exists "856.u.http://libproxy.uwyo.edu*")
removeField "856" if (exists "856.u.http://www.library.yorku.ca*")
Proposed solution/stories
Links to additional info
Questions