You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 19
Next »
MODQM-311
-
Getting issue details...
STATUS
Goals
- Determine complexity of allowing for configuration of 001 generation (prefix + starting value)
- 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)
Tickets
Overview | Approach | Module | Ticket |
---|
Ability to store authority local files | - Extend authoritySourceFile schema to contain HRID information.
- Implement AuthoritySourceFileHridManager
- Validation (if source = 'local' then codes.size = 1) else throw exception
| mod-inventory-storage | 2 sp |
Generate NaturalId by authority local files | - Extend AuthoritySourceFileHridManager to work with sequences
- Create sequence for authority local file after validation - Drop sequence for authority local file after deletion - Extend AuthorityService createAuthority()
- Retrieve from repository localFile by sourceFileId - Retrieve next value from localFile sequence - Set NaturalId for Authority
| mod-inventory-storage | 5 sp |
|
|
|
|
|
|
|
|
Ability to store authority local files
Settings application UI preview:
To have the ability to store authority local files. Authority schema should be updated
{
"id": "cb58492d-018e-442d-9ce3-35aabfc524aa",
"name": "Test",
"type": "Subjects",
"codes": [
"loc"
],
"startNumber": "000000001"
"source": "local"
},
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "An Authority source file",
"type": "object",
"properties": {
"id": {
"description": "unique ID of the Authority source file; a UUID",
"$ref": "uuid.json"
},
"name": {
"type": "string",
"description": "Authority source file name"
},
"codes": {
"type" : "array",
"description": "List of identifying prefix",
"items": {
"type": "string",
"description": "identifying prefix, i.e. 'n', 'D', 'fst'"
"pattern": "^[0-9a-zA-Z.-]{0,10}$"
}
},
"type": {
"type": "string",
"description": "Type of authority records stored in source file"
},
"baseUrl": {
"type": "string",
"description": "Base URL of the source file origin"
},
"startNumber": {
"description": "The number from which to start generating HRIDs",
"type": "integer",
"minimum": 1,
"maximum": 99999999999
},
"source": {
"type": "string",
"description": "label indicating where the authority source file entry originates from, i.e. 'folio' or 'local'",
"enum": [
"folio",
"local"
]
},
"metadata": {
"type": "object",
"$ref": "raml-util/schemas/metadata.schema",
"readonly": true
}
},
"additionalProperties": false,
"required": [
"name",
"codes",
"type",
"source"
]
}
Link authority local file to the authority (data-import-processing-core)
Class: MappingParameters
- Add authorityLocalFiles parameter
Class: MarcToAuthorityMapper
- Retrieve localFiles from MappingParameters
- Find and link local file to authority if source file was not found
Class: MappingParametersProvider
- Implement method getAuthorityLocalFiles() to retrieve local files from inventory-storage
- Initialize authoritySourceFiles for MappingParams
Select local authority file on the UI
- User should select local file for 001 field
- We also need to warn the user that field 001 may be overwritten by field 010.