Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This document seeks to outline the full requirements of the Call number browse feature in FOLIO. It compiles the requirements from the original implementation of the feature (Call Numbers Browse), as well as the feature to browse by call number type (LC, Dewey, SuDOC, etc).

...

  • Aids in the classification of new materials by helping to control duplication and maintain symmetry in classification.

    • Identifies the next unused call number

    • Identifies where the searched call number would fall within the shelf list

    • Helps librarians manage multi-part and series materials by highlighting which volumes have been cataloged

  • Supports inventory management/auditing by providing a way to verify the presence or absence of materials on the physical shelves as well as the ability to analyze subject depth for acquisitions/weeding planning

  • Aids in data cleanup and record maintenance efforts by making it easier to identify incorrectly assigned call numbers

  • Aids in the discovery of sources related to known items

NOTE: Classification browse requirements have been moved to separate page: Classification Browse Requirements

Differences between item call numbers and instance classification numbers in FOLIO

...

Item-level call number requirements

#

Requirement

Description

Functionality

Feature / Related tickets

Req statusImplementation status1

Generate a shelving order for the classification 

  • Classification (instance-level data, resembles the structure of call numbers) has a Classification type, which are similar to the Call number types; for the first iteration of this work, we should generate shelving orders for the following types:
    • LC
    • Dewey
  • LC and Dewey classification numbers should be sorted using the same normalization rules we applied for item-level call numbers

  • Like call number types, classification types can be configured in Inventory settings - however, I believe a user can only create Local types and cannot edit types with source = "folio". The others are assigned the "folio" source and can be assigned by the user manually in FOLIO source Instance records, or derived from mapping of the MARC bibliographic record (see: Default MARC Bibliographic-to-Inventory Instance Mappings
  • LC mapping: 
    • 050$ab AND/OR 090$ab
    • $a and $b go on the same line, with a space between them
    • If multiple $a in the same field, put them in separate classification fields with first $a and its $b if present in first classification field, and second $a (and its $b, if it has one) in second classification field
  • Dewey mapping:
    • 082$ab
    • $a (which may repeat) and $b all go on the same line, with a space between each subfield
    • If there is a slash in $a, remove it and close up the space
    • If there is a $b between two $a's within one 082 field, put the first $a and $b in one classification field, and the second $a in second classification field
  • Mostly implemented, but current search is case sensitive
  • #

    Requirement

    Description

    Functionality

    Related tickets

    Implementation StatusRequirement status
    1

    Generate a shelving order for call numbers

    • Initial implementation focused on implementing type-based shelving orders for LC and Dewey call numbers, based on the marc4j library, as well as Other scheme

    • Added normalized shelving orders based on NLM and SuDoc types (Poppy release)

    • The sorting mechanism should consider the call number, volume, enumeration, chronology, copy number, and suffix data

    Browse
    • LC:

      Jira Legacy
      serverSystem Jira
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyMODINVSTOR-381

    • Dewey:

      Jira Legacy
      serverSystem Jira
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyMODINVSTOR-876

    • Other scheme:

      Jira Legacy
      serverSystem Jira
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyMODINVSTOR-877

    • NLM:

      Jira Legacy
      serverSystem Jira
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyMODINVSTOR-1066

    • SuDoc:

      Jira Legacy
      serverSystem Jira
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyMODINVSTOR-1069

    Status
    colourGreen
    titleComplete

    2

    Add a new Inventory browse option for call numbersAllow users to select which specific call number type they'd like to browse

    • Current implementation of the following call number type options:
      • Call numbers (all)
      • Call numbers, Dewey Decimal classification
      • Call numbers, Library of Congress classification
      • Call numbers, Local
        • *where "Local" includes any call numbers with a type of source: Local
      • Call numbers, National Library of Medicine classification
      • Call numbers, Other scheme
      • Call numbers, Superintendent of Documents classification
    • These call number types have been made uneditable (with source: system)

    POTENTIALLY: Change this implementation to use a filter instead of a facet

    Browse

    FE -initial:

    Jira Legacy
    serverSystem Jira
    serverId01505d01-b853-3c2e-90f1-ee9b165564fc
    keyUXPROD-3459

    BE - initial:

    Jira Legacy
    serverSystem Jira
    serverId01505d01-b853-3c2e-90f1-ee9b165564fc
    keyUXPROD-3255

    FE - browsing by type:

    Jira Legacy
    serverSystem Jira
    serverId01505d01-b853-3c2e-90f1-ee9b165564fc
    keyUXPROD-4327

    BE - browsing by type:

    Jira Legacy
    serverSystem Jira
    serverId01505d01-b853-3c2e-90f1-ee9b165564fc
    keyUXPROD-3569

    Status
    colourYellowGreen
    titlein progressComplete

    3

    Populate browse results list with all item-level call numbers

    • Item call numbers can either be specified in the Item record, or inherited from the Holdings record

    • Browse results will contain ALL item-level call numbers (see below for navigating forward and backward through the list)

    • A single Instance can have multiple items with call numbers of different types
    Browse


    Status
    colourGreen
    titleComplete

    4

    Sort by calculated effective shelving order


    Browse


    Status
    colourGreen
    titleComplete

    5

    Browse results should contain preceding and succeeding call numbers per shelving order

    • Preceding call numbers should include five records

    Browse


    Status
    colourGreen
    titleComplete

    6

    Users should be able to navigate forward and backward through the list


    Browse


    Status
    colourGreen
    titleComplete

    7

    Call numbers on the browse results list should display the Prefix, Call number, and Suffix values, if applicable


    Browse


    Status
    colourGreen
    titleComplete

    8

    The results should indicate a match if:

    • The browse query matches the Prefix + Call number + Suffix (the call number components that are visible on the results pane) - 

      Status
      subtletrue
      colourRed
      titleunder review
      - as noted in the description, it is confusing when the browsed query indicates that a match is not found but to the user, it looks to match the succeeding call numberOR the components of the shelving key (call number, volume, enumeration, chronology, copy number, and suffix data)

    • Currently, since the shelving key does not contain the prefix, when the user browses the call number with the prefix value, it will not find a match, but will show the visually matching call number directly below the “X would be here” message. It is confusing to some users. But it is expected behavior.

    Browse

    Jira Legacy
    serverSystem Jira
    serverId01505d01-b853-3c2e-90f1-ee9b165564fc
    keyMSEARCH-558

    Status
    colourRedGreen
    titleunder reviewComplete

    9

    If no exact match is found, the browse query should be placed in proper order (with preceding and succeeding call numbers) as a placeholder (“x would be here)

    • If no exact match is found, display this placeholder, do not display a "No results found" message
    Browse


    Status
    colourGreen
    titleComplete

    10

    If there are multiple copies with the same call number (with a value in the Copy field) and the user browses with the copy number, any copy number should return a match

    • Currently, only a seemingly random copy will return a matching result if the Instance record has multiple items with the same call number but different copy numbers:

    Browse


    Status
    colourGreyGreen
    titlenot startedComplete

    11

    When browsing typed call numbers, the effective location facet should only contain the locations of the specific call numbers types on the Instance


    Browse
    • Jira Legacy
      serverSystem Jira
      columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
      columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyMSEARCH-600

    Status
    colourGreyGreen
    titlenot startedComplete

    12Users should be able to search Items in Inventory by the Effective call number (item), eye-readable
    • Should be exact in terms of characters & spacing, but it should be case insensitive
    Status
    subtletrue
    colourRed
    titleunder review
    Search
    • Jira Legacy
      serverSystem Jira
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyMODINVSTOR-444
    • Jira Legacy
      serverSystem Jira
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyMSEARCH-507
      (case insensitivity)

    Status
    colourRedGreen
    titleunder reviewComplete

    13Users should be able to search Items in Inventory by the Effective call number (item), normalized
    • Should ignore characters & spacing and be case insensitive
    Search
    • Jira Legacy
      serverSystem Jira
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyUIIN-857

    Status
    colourGreen
    titleComplete

    14Users should be able to search Holdings in Inventory by the eye readable call number (holdings)
    • Should be exact in terms of characters & spacing, but should be case insensitive 
    Search
    • Jira Legacy
      serverSystem Jira
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyUIIN-858

    Status
    colourGreen
    titleComplete

    15Users should be able to search Holdings in Inventory by the normalized call number (holdings)
    • Should ignore characters & spacing and be case insensitive
    Search
    • Jira Legacy
      serverSystem Jira
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyUIIN-1918

    Status
    colourGreen
    titleComplete

    16Users should be able to search Instances in Inventory by the effective shelving order of the item call number
    • I think this facilitates the ability to navigate from a result in the call number browse list to the Instance in Inventory
    Search

    Status
    colourGreen
    titleComplete

    17Effective location facet selection should be retained when selecting a record in the browse results list for call number browse by type
    BrowseSearch

    Status
    colourGreyGreen
    titlenot started

    Instance-level classification requirements

    Complete

    18In Call numbers (all) option, sort call numbers alphabetically
    Browse
    Jira Legacy
    serverSystem Jira
    serverId01505d01-b853-3c2e-90f1-ee9b165564fc
    key
    UXPROD
    MSEARCH-
    4120
    713
    Status
    colourGreen
    title
    verified
    Complete
    StatuscolourGreytitlenot started2Add new inventory browse option for Classification (all)For this option, since we don't know the shelving order to use, we can sort alphabetically  StatuscolourGreentitleverified3Add new inventory browse options for Instance classification
  • We should support the following for the first iteration:
    • Classification (all) - the first iteration should
    • LC
    • Dewey
  • If the classification type is not LC or Dewey, then that classification is only included in the "Classification (all)" option
    19Effective location facet should only include the locations for the specific call number type
    Browse
    Jira Legacy
    serverSystem Jira
    serverId01505d01-b853-3c2e-90f1-ee9b165564fc
    key
    UIIN
    MSEARCH-
    2624
    600
    Status
    colourGreen
    title
    verified
    Complete
    StatuscolourGreytitlenot started4Add Inventory tenant-level setting to configure whether Classification or item-level call numbers should be available as a browse option

    Deferred at this time, tenant level configuration will be investigated in the future

    • This option should allow libraries to specify whether they'd like Item-level call number browse options OR instance-level classification browse options
    • Depending on which option is selected, those browse options would be available
    Browse StatuscolourRedtitledeffered5Populate browse results with Instance-level classification
  • Instances can have MULTIPLE classifications with different classification types
  • Unlike item-level call numbers, Instance classification numbers are stored in a single field (no separate fields for prefix or suffix, etc.)
    • Therefore, the browse results only contain a single property: Classification
  • These call numbers should be included REGARDLESS of the presence of holdings/items
    20There should be no validation of format per call number typeSort by algorithm per assigned type, regardless of format of call numberBrowse
    Jira Legacy
    serverSystem Jira
    serverId01505d01-b853-3c2e-90f1-ee9b165564fc
    key
    UIIN
    MODINVSTOR-
    2625
    1177
    Status
    colourGreen
    title
    verified
    Complete
    21In ECS central tenant, there should be no Shared facetAll call numbers included are only on items on shared instancesBrowse
    Status
    colour
    Grey
    Green
    title
    not started
    Complete
    6

    Sort by calculated effective shelving order

    • For classification (all) option, search alphabetically
    Browse
    • Jira Legacy
      serverSystem Jira
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyUIIN-2625
    22In ECS, effective location facet should only include item locations on the instances based on the Shared and Held by facets
    Browse
    Status
    colourGreen
    title
    verified
    Complete
    StatuscolourGreytitlenot started7

    Browse results should contain preceding and succeeding classification numbers per shelving order

    Preceding call numbers should include five
    23In ECS, held by facet results should only include item call numbers that are on holdings on either shared/local records
    Browse
    jira

    Status
    server
    colour
    System Jira
    Green
    serverId01505d01-b853-3c2e-90f1-ee9b165564fckeyUIIN-2625 StatuscolourGreentitleverified
    titleComplete
    24In ECS member tenants, there should be a shared facetCall numbers included are on items on either shared/local instances, based on Shared facet selectionBrowse
    Status
    colour
    Grey
    Green
    title
    not started
    Complete
    8
    25Users should be able to
    navigate forward and backward through the listBrowse
    • Jira Legacy
      serverSystem Jira
      serverId01505d01-b853-3c2e-90f1-ee9b165564fc
      keyUIIN-2625
    configure which call number types should be sorted per sorting algorithm (call number type sort option)

    Similar implementation to Classification browse in order to resolve ID and reference data issues

    • For ECS, this should be configurable on the central tenant only
    • Likely need new permission for call number browse configuration (similar to classification browse config)
    Browse
    Status
    colourGreen
    title
    verified
    Complete
    StatuscolourGreytitlenot started9The results should indicate a match when the entered browse query matches the full value of the Classification field
    26Preceding call numbers should be displayed regardless of the number of characters that are shared between different call numbers
    Browse

    Jira Legacy
    serverSystem Jira
    serverId01505d01-b853-3c2e-90f1-ee9b165564fc
    key

    UIIN-2625 StatuscolourGreentitleverified StatuscolourGreytitlenot started10If no exact match is found, the browse query should be placed in proper order (with preceding and succeeding classification numbers) as a placeholder (“x would be here)Browse

    MSEARCH-705

    Jira Legacy
    serverSystem Jira
    serverId01505d01-b853-3c2e-90f1-ee9b165564fc
    key

    UIIN-2625 StatuscolourGreentitleverified StatuscolourGreytitlenot started11Do not show effective location facet for instance classification browse*Because this is instance levelBrowse

    MSEARCH-641

    Jira Legacy
    serverSystem Jira
    serverId01505d01-b853-3c2e-90f1-ee9b165564fc
    key

    UIIN

    MSEARCH-

    2624

    614

    Status
    colourGreen
    title
    verified
    Complete
    StatuscolourGreytitlenot started12Users should be able to search Instances in Inventory by classification
    • Assumption is that this may be required in order to navigate from browse results to related Instances in search
    Search
    27Item records should inherit call number type and call number components if neither is specified on the item record


    Status
    colour
    Grey
    Green
    title
    not started
    Complete