Versions Compared

Key

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

Jira Legacy
serverFOLIO Issue TrackerSystem JIRA
serverId6ccf3fe401505d01-3301b853-368a3c2e-983e90f1-20c466b11a49ee9b165564fc
keyMODQM-311

Goals

  1. Determine complexity of allowing for configuration of 001 generation (prefix + starting value) 
  2. Adding the ability to select the desired authority source file at point of creation of new record (so the system would know how to generate the 001 per the configuration)

...

OverviewApproachModuleStory PointsJira ticket
Validation for authority local files
  1. New parameter 'startNumber' for authority source file creation is presented 
  2. 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-storage3 sp


Jira Legacy
serverFOLIO Issue TrackerSystem JIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe401505d01-3301b853-368a3c2e-983e90f1-20c466b11a49ee9b165564fc
keyMODINVSTOR-1049
Status
colourGreen
titleApproved

Implement sequence number generation mechanism for authority local files (Sequences Approach)





  1. New endpoint to catch-up authority current hrid information is presented
  2. 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
  3. Return hrid on request 
      - Retrieve next value from localFile sequence 
      - Format next value to NaturalId(HRID) format
mod-inventory-storage5 sp

Jira Legacy
serverFOLIO Issue TrackerSystem JIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe401505d01-3301b853-368a3c2e-983e90f1-20c466b11a49ee9b165564fc
keyMODINVSTOR-1050

Status
colourRed
titleDeclined

Implement sequence number generation mechanism for authority local files (Table with counter Approach)


  1. New endpoint to catch-up authority current hrid information is presented
  2. New table to work with authority files HRID presented
  3. 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-storage5 sp
Authority file id validation
  1. mod-quick-marc in scope of authority creation should convert 001 field value to UUID and retrieve available hrid for source file id.
  2. Replace 001 field value from authorityFileId to "prefix + hrid"
  3. If 001 value doesn't comply with UUID then skip it. And leave the original value
mod-quick-marc2 sp

Jira Legacy
serverFOLIO Issue TrackerSystem JIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe401505d01-3301b853-368a3c2e-983e90f1-20c466b11a49ee9b165564fc
keyMODQM-322

Local authority file selection
  1. User should have the ability to look-up for local authority file
    (As permanent-location look-up for Holdings)

  2. UI should put authorityFileId to 001 field
ui-inventory

Jira Legacy
serverFOLIO Issue TrackerSystem JIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe401505d01-3301b853-368a3c2e-983e90f1-20c466b11a49ee9b165564fc
keyUXPROD-3910

Ability to store authority local files

Settings application UI preview:

localauthoritydefinition.PNG

Endpoints:

POST: /authority-source-files/{id}/hrid
Description:  Endpoint returns current hrid value and increment it. 

Code Block
themeDJango
borderStyledashed
titleAuthority Source File HRID Example
collapsetrue
{
    "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)

Status
colourGreen
titlePros

Status
colourRed
titleCons

One table for all authority filesAll 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

...