Skip FOLIO Project Navigation

Call Number Normalization & Sort

FOLIO needs a way to normalize and define the sorting behavior for different call number schemes. Ideally we will eventually have a nice graphic interface for defining custom call number schemes and their desired behavior. For the meantime, a proposed initial solution will be similar to what is currently implemented in UChicago’s OLE.

This solution differentiates between several common schemes, defines the ordering behavior for each, and defaults to alpha-numeric for anything else. It is extensible.

You can try it out here:
https://catalog.lib.uchicago.edu/vufind/Alphabrowse/Home?from=A&source=lcc

If you’re interested in the code (developed by Tod Olson) it’s here: https://github.com/solrmarc

If you have any comments, questions, or concerns please respond here.

3 Likes

See the javadoc for the classes in the org.solrmarc.callnum package:

You can also look at the JUnit tests for the LC and Dewey classes:

The LCCallNumber class should be “good enough” for many schemes that are not strictly LC, but are similar is sorting strategy, such as most accession numbers, music catalog numbers, etc.

1 Like

I’m trying to imagine it with Cutter call numbers. One of the colleges of the 5C has a collection with Cutter call numbers. Would it be possible to get someone from Chicago to present this maybe at a Metadata Mgt. meeting? Thanks

So the intention is that this would be code that all apps (or at least all core apps) would use to sort a list of items by call number?

The only one I didn’t see explicitly called out in the sort that I would wonder about would be SuDoc. Does UChicago use SuDoc? Is the assumption that an alphanumeric sort accommodates SuDoc needs?

Correct, this would be the code that all apps would use to sort by call number. UChicago does use SuDoc and apparently the alpha/numeric default works fine for that scheme.

This looks good. By all accounts, it should work for Cutter as well. I’ll share out this information with others from the 5C.