Create a MARC authority record via quickMARC UI

Create a MARC authority record via quickMARC UI

Target releaseQuesnelia (R1 2024)
Epic

UXPROD-3910 - Getting issue details... STATUS

Document status
DRAFT

Feature Overview

Catalogers need a way to create a MARC authority record via the quickMARC UI to support original cataloging workflows.

Use cases: As a cataloger, I need to be able to create new authority records so that I can:​

  1. Create headings that more closely align to the mission/objectives of my institution (locally created/managed)​
  2. Create headings that do not yet exist in external databases​
    1. Create records to distribute to other libraries as part of a standard database (as the distributing agency)​
    2. Create records to contribute to a standard/external database as part of cooperative cataloging (as the contributing agency)​
    3. Create records for eventual replacement by external record​

Requirements

  • Ability to configure local authority files
    • 001 prefix + starting number
    • Authority file name
  • Ability to create authority records for a standard file
  • Ability to create new authority record via UI
  • Ability to select which authority file to add the new record to (i.e., specify 001 generation instructions)
  • Ability to update authority file 

Additional resources:


User Interface

Described in Slide deck


Technical Design

Architecture

Spike: Investigate feasibility of local authority source support

Database Schema

  1. Add sequence_name varchar field to authority_source_file table.
  2. Add selectable boolean field to authority_source_file table.
  3. Will require to create/delete sequences in runtime (suggested format for sequence name is: hrid_authority_local_file_{prefix}_seq).

API Endpoints

MethodPathModuleChangeDescription
POST/authority-source-files/{id}/hridmod-entities-linksNEWTriggers sequence created for authority source file and returning next available HRID.
POST/records-editor/recordsmod-quick-marcUPDATENow supports Authority record creation.
POST/authority-source-filesmod-entities-linksUPDATENow could create only records with source = 'local' and specifying start number for sequence.
PUT/authority-source-files/{id}mod-entities-linksDELETEIt's not possible to update a whole authority source file record.
PATCH/authority-source-files/{id}mod-entities-linksUPDATENow it's possible to update only several fields.

Data Flow

diagram.puml


Development Tasks

  1. mod-entities-links:
    1. Update authority-source-files API
      1. Create new schema for POST request body. Only records with "local" source and one prefix could be created. 
      2. Create new schema for PATCH request body. Only several fields could be changed in already existed file.
      3. Delete PUT endpoint as it is not possible to update whole record.
      4. Update GET endpoints to include new fields.
    2. Create new endpoint /authority-source-files/{id}/hrid
  2. mod-di-converter-storage
    1. Create default profile for authority creation via quickMarc.
  3. mod-quick-marc
    1. Update create flow to support new Authority creation.


Additional info

POST /authority-source-files request body:

@startjson
#highlight "name"
#highlight "code"

{
  "id": "uuid",
  "name": "string",
  "code": "string",
  "type": "string",
  "baseUrl": "string",
  "selectable": true,
  "hridManagement": {
    "startNumber": 1
  }
}
@endjson

PATCH /authority-source-files/{id} request body:

@startjson
{
  "id": "uuid",
  "name": "string",
  "type": "string",
  "baseUrl": "string",
  "selectable": false
}
@endjson

POST /authority-source-files/{id}/hrid respose body:

@startjson

{
    "id": "cb58492d-018e-442d-9ce3-35aabfc524aa",
    "prefix": "loc",
    "hrid": "000000001"
}
@endjson

key summary type status Story Points
Loading...
Refresh


Testing

Test Cases

  1. Test case 1
  2. Test case 2
  3. ...

Performance testing

Not applicable for the feature

Load testing

Not applicable for the feature???


Deployment

Deployment notes

Describe the deployment process.

Migration

Have to be done in scope of module migration.


Documentation

Provide links to or include any documentation related to the feature, such as API documentation or user guides.


Dependencies

No depencencies


Risks and Mitigations

Identify potential risks associated with the feature and describe mitigation strategies.