Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
...
Overview | Approach | Module | Story Points | Jira ticket | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Validation for authority local files |
| mod-inventory-storage | 2 sp | |||||||
Implement sequence number generation mechanism for authority local files (Sequences Approach) |
| mod-inventory-storage | 5 sp | |||||||
Implement sequence number generation mechanism for authority local files (Table with counter Approach) |
| mod-inventory-storage | 5 sp | |||||||
Authority file id validation |
| mod-quick-marc | 2 sp | |||||||
Local authority file selection |
| ui-inventory |
...
Settings application UI preview:
Endpoints:
POST: /authority-source-files/{id}/hrid
Description: Endpoint returns current hrid value and increment it.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ "id": "cb58492d-018e-442d-9ce3-35aabfc524aa", "prefix": "loc", "hrid": "000000001" } |
POST: /authority-source-files
New query parameter: startNumber (default = 1)
...
There is a similar approach that works already in the mod-inventory-storage. It generates Hrid numbers for Instances, Holdings, and Item records, and can be configured from UI (Settings → Inventory → Hrid handling);
The problem here is that we will create new sequences in Runtime for each new authority file. (format: "hrid_authority_local_file_{prefix}_seq")
|
| ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Auto increment | Separate sequence should be created for each authority file | ||||||||||||
Atomic transaction. Safety works with asynchronous work |
Table with counter Approach
...
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 |
Select local authority file on the UI
...