Jira Legacy |
---|
server | System JiraJIRA |
---|
serverId | 01505d01-b853-3c2e-90f1-ee9b165564fc |
---|
key | MODQM-311 |
---|
|
...
- Create new endpoint to retrieve HRID by authority file id
- Implement sequence number generation mechanism for authority local files
- On the UI user will select file name. And before creation UI should put to 001 field value from the HRID endpoint.
Tickets
Overview | Approach | Module | Story Points | Jira ticket |
---|
Validation for authority local files | - New parameter 'startNumber' for authority source file creation is presented
- Implement AuthoritySourceFileHridManager with Validation:
- (if source = 'local' then codes.size = 1) else throw exception - (if source = 'local' and startNumber = null) set startValue = 1 - prevent user to update "start with" and "prefix" after file creation
| mod-inventory-storage |
2 JiraJIRA | columnIds | issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 01505d01-b853-3c2e-90f1-ee9b165564fc |
---|
key | MODINVSTOR-1049 |
---|
|
|
Implement sequence number generation mechanism for authority local files (Sequences Approach)
| - New endpoint to catch-up authority current hrid information is presented
- Extend AuthoritySourceFileHridManager to work with sequences
- Create sequence for authority local file after validation -
|
Update sequence name for authority local file if prefix was updated - - Drop sequence for authority local file after deletion
- Return hrid on request
- Retrieve next value from localFile sequence - Format next value to NaturalId(HRID) format
| mod-inventory-storage | 5 sp | |
JiraJIRA | columnIds | issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 01505d01-b853-3c2e-90f1-ee9b165564fc |
---|
key | MODINVSTOR-1050 |
---|
|
|
Implement sequence number generation mechanism for authority local files (Table with counter Approach)
| - New endpoint to catch-up authority current hrid information is presented
- New table to work with authority files HRID presented
- Extend AuthoritySourceFileHridManager to work with table
- All transactions should be done with SERIALIZABLE isolation - On request return current hrid value and increment it. - Format value to NaturalId(HRID) format
| mod-inventory-storage | 5 sp |
|
Authority file id validation | - mod-quick-marc in scope of authority creation should convert 001 field value to UUID and retrieve available hrid for source file id.
- Replace 001 field value from authorityFileId to "prefix + hrid"
- If 001 value doesn't comply with UUID then skip it. And leave the original value
| mod-quick-marc | 2 sp | |
JiraJIRA | columnIds | issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 01505d01-b853-3c2e-90f1-ee9b165564fc |
---|
key | MODQM-322 |
---|
|
|
Local authority file selection | - User should have the ability to look-up for local authority file
(As permanent-location look-up for Holdings)
- UI should put authorityFileId to 001 field
| ui-inventory |
| |
JiraJIRA | columnIds | issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution |
---|
columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
---|
serverId | 01505d01-b853-3c2e-90f1-ee9b165564fc |
---|
key | UXPROD-3910 |
---|
|
|
Ability to store authority local files
Settings application UI preview:
Endpoints:
POST: /authority-source-files/{id}/hrid
Description: Endpoint returns current hrid value and increment it.
Code Block |
---|
theme | DJango |
---|
borderStyle | dashed |
---|
title | Authority Source File HRID Example |
---|
collapse | true |
---|
|
{
"id": "cb58492d-018e-442d-9ce3-35aabfc524aa",
"prefix": "loc",
"hrid": "000000001"
} |
POST: /authority-source-files
New query parameter: startNumber (default = 1)
...
To work with table it's better to use SERIALIZABLE Isolation:
@Transactional(isolation = Isolation.SERIALIZABLE)
| |
---|
One table for all authority files | All work with select and increment should be done manually. |
| Harder work with transactions. All transactions should be fulfilled in SERIALIZABLE Isolation level. So it can reduce performance |
...
- We also need to warn the user that field 001 may be overwritten by field 010.
Q/A section
Question | Status | Answer | Notes |
---|
How many files can be per one tenant? Do we expect millions of files? Can we restrict amount of authority files per tenant? | | We can likely expect less than 10 local authority files to be created. Typically, records are created for local files for use cases such as: - A record does not yet exist in an external/national database (for example, a university library may have items in their collections written by alumni for which the Library of Congress does not have a name authority record)
- A record exists in an external/national database but the headings do not align with the mission/objectives of the institution (such as headings for indigenous peoples)
|
|
Do we expect authority records matching with local authority file during DI process? | | Yes, it is possible for the library to want to update an existing local authority record via DI and would need to match on the existing file. |
|