Skip to end of banner
Go to start of banner

MODQM-311 Spike: Investigate feasibility of local authority source support

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

MODQM-311 - Getting issue details... STATUS

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)

Approach

#OverviewModuleTicket
1.Ability to store authority local filesmod-inventory-storage
2.Link authority local file to the authoritydata-import-processing-core
3.Initialize authority local files for Mapping Parametersmod-source-record-manager
4.Select local authority file on the UIquick-marc

Ability to store authority local files (mod-inventory-storage)

Settings application UI preview:

localauthoritydefinition.PNG


Authority Source File Example (hridSettings)
{
  "id": "cb58492d-018e-442d-9ce3-35aabfc524aa",
  "name": "Test",
  "type": "Subjects",
  "codes": [
    "loc"
  ],
  "hridSetting": {
    "prefix": "loc",
    "startNumber": "000000001"
  },
  "source": "local"
}
Authority Source File Schema (hridSetting)
{
  "$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'"
      }
    },
    "type": {
      "type": "string",
      "description": "Type of authority records stored in source file"
    },
    "baseUrl": {
      "type": "string",
      "description": "Base URL of the source file origin"
    },
    "hridSetting": {
      "description": "The HRID settings for source file",
      "type": "object",
      "$ref": "hridsetting.json"
    },
    "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

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

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.




  • No labels