Versions Compared

Key

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

...

  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)

...

Tickets

#
Overview
Overview
ApproachModuleTicket
1.
Ability to store authority local files
  1. Extend authoritySourceFile schema to contain HRID information.
  2. Implement AuthoritySourceFileHridManager
    - Validation (if source = 'local' then codes.size = 1) else throw exception
mod-inventory-storage2
.
sp
Link
Generate NaturalId by authority local
file to the authoritydata-import-processing-core3.Initialize authority local files for Mapping Parametersmod-source-record-manager4.Select local authority file on the UIquick-marc
files
  1. Extend AuthoritySourceFileHridManager to work with sequences
    - Create sequence for authority local file after validation
    - Drop sequence for authority local file after deletion
  2. Extend AuthorityService createAuthority()
    - Retrieve from repository localFile by sourceFileId
    - Retrieve next value from localFile sequence 
    - Set NaturalId for Authority  
mod-inventory-storage5 sp








Ability to store authority local files

...

Settings application UI preview:

localauthoritydefinition.PNG

To have the ability to store authority local files. Authority schema should be updated

Code Block
themeDJango
borderStyledashed
titleAuthority Source File Example (hridSettings)
collapsetrue
{
  "id": "cb58492d-018e-442d-9ce3-35aabfc524aa",
  "name": "Test",
  "type": "Subjects",
  "codes": [
    "loc"
  ],
  "hridSetting": {
    "prefix": "loc",
    "startNumber": "000000001"
  },
  "source": "local"
},

{
    "id": "cb58492d-018e-442d-9ce3-35aabfc524aa",
    "name": "Test",
    "type": "Subjects",
    "codes": [
        "loc"
    ],
    "startNumber": "000000001"
    "source": "local"
},

...

Code Block
themeDJango
borderStyledashed
titleAuthority Source File Schema (hridSetting)
collapsetrue
{
  "$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"
    },         
    "hridSettingstartNumber": {
      "description": "The number HRIDfrom which settingsto forstart sourcegenerating fileHRIDs",
      "type": "objectinteger",
      "$refminimum": 1,
      "hridsetting.jsonmaximum": 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"
  ]
} 

...

  • User should select local file for 001 field
    Image RemovedImage Added
  • We also need to warn the user that field 001 may be overwritten by field 010.

...