View in #metadata-management on Slack
@ann-marie: Hi !here When creating HRIDs for Inventory Instances, Holdings, and Items, we currently have the maximum value set to 8 digits. The sequences are separate for Instances, Holdings, and Items. When we discussed this in the Data Import subgroup, library staff felt pretty confident that there would not be need for a ninth digit. The developers have raised a question about it, so I’d like to reconfirm with the larger group.
Do you anticipate any situations where you would have more than 99,999,999 records in Inventory? I imagine that there will be more item records than any other record type, so that’s probably the most relevant number to consider, Does anyone expect to have more than 100 million item records (or any other type of records) in their FOLIO Inventory?
I’ll also check with the RA SIG.
Thank you for your comments!
@marcjohnson: Please keep in mind that values in the sequence are not reused.
So this is the number of items that could ever have been present, not the number that can be present at the same time
And might depend on how many have already been used in current systems
@julianladisch: Assuming a library uses 8 digit item HRIDs (with leading 0s for small numbers) and all HRIDs from
it00000001
to
it99999999
have been used, should FOLIO continue with 9 digits
it100000000
or should it reject creating a new item?
@marcjohnson: At the moment, it will actively fail, because it was specified that 99999999 is the maximum allowed number for a HRID
@Felix: I assumed there was no limit to the length of the IDs. Our plan was to use the recordId of the corresponding description in the union catalogue as instance/holding/item HRID. Their structure is: [0-9Xx]{9,10} => maximum 10 characters. Just for safety: Does the pretext “it” also count on the number of available characters?
If it is not possible or planned to extend the field to support this, please let us know. We’d then need to map the IDs to the element “identifiers” and set a specific type.
@marcjohnson: @Felix Alas, an explicit limit of 8 numeric characters was specified in the requirements (see <https://issues.folio.org/browse/UIIN-741>).
This is not a technical constraint, behind the scenes the numeric part is an integer, it is possible to extend the property up to the maximum size of an integer that JSON allows (though this will effect the fixed length formatting).
@ann-marie: @Felix An alpha prefix is not counted as part of the number of characters for the numeric of the HRID
@Felix: Thanks both. So Marc when you say “behind the scenes the numeric part is an integer”, that means that we can go up to 2147483647? And the trailing “x” at the end is interpreted as string?
@marcjohnson: @Felix Yes, I think so, this is the definition for the numerical sequence part of the HRID generation - https://github.com/folio-org/mod-inventory-storage/blob/3846c8d408c99a426c7b2722d61f7e3c5a02d598/ramls/hridsetting.json#L12
(Above it is the prefix definition, which can have numbers in it)
GitHub: folio-org/mod-inventory-storage
@ann-marie: I think it’s important to distinguish between HRIDs that are being migrated from previous systems and ones that are being assigned by FOLIO. There is less proscription over migrated HRIDs - what comes in the migrating Inventory data or MARC 001 is what FOLIO will use. We impose the alpha prefixes and numeric integer limits only when we are creating new HRIDs in FOLIO.
Some libraries may choose to keep their previous system HRIDs as their FOLIO HRIDs. Others may choose to move them to a different identifier field and let FOLIO assign a new HRID to everything, based on the Inventory HRID prefix and start number settings.
This is definitely something that libraries need to think through and be very clear about during their migration.