Versions Compared

Key

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

...

OverviewApproachModuleTicket
Ability Extend authority source file schema 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
Generate NaturalId by Implement sequence number generation mechanism for authority local 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

...

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

...

Initialize authority local files for Mapping Parameters (mod-source-record-manager)

...


Select local authority file on the UI

...