#DRAFT ARCH-31 Architectural notes on Authority control to automatically validate/update/link MARC authority to each MARC bib field when editing or deriving a MARC bib via quickMARC UI

Jira links

ARCH-31 - Getting issue details... STATUS


Overview

Automatic validation, updating or linking MARC authority to bib fields during editing or deriving process implies interaction with mod-entities-links and mod-inventory-storage from mod-quickmark UI. To keep performance as a key non-functional requirement needs to elaborate solution with reducing interaction between modules. Also, needs to provide effective feedback to UI side.

Scope

  • bulk links validation, update, creating
  • handling cases with multiple fields linkage statuses
  • UI notifications source

Solution

Flow diagrams

Validation

Update [#Draft]

Linkage


UnlinkIng


Implementation details [WIP]

Flow

1) check via mod-inventory-storage API if authorities exist for pointed values within "potentially controlled" bib's subfields. ("Potentially controlled" term means subfields within tags that could be linked and not linked yet) Return result that validates potentially controlled subfields values by each bib's field. Example:

validated linkage
{
 ...
  "650" : {
       "$t": {
           "value": "<authority value>",
            "valid": true      // in case of authority found within mod-inventory-storage, false otherwise
         }
       
   },
...
}

2) Display on UI valid links and error prone authority values within potentially controlled subfields.  

3) Send request to create links between instance's subfields and valid authorities to mod-entities-links from mod-quickmarc.

4) Display result of the linkage on UI toasts.

Implementation

1) Add call logic on mod-quickmarc and create new endpoint on mod-inventory-storage API

2) Adapt changes on handling response from mod-inventory-storage on mod-quickmark side

3) Implement call logic on mod-quickmark and API on mod-entities-links to process request for create linkage on multiple subfields per bibliographic record

4) Adapt changes on handling response from mod-entities-links on mod-quickmark side

5) Implement UI changes to display linking results


Delivery Plan [WIP]

  1. mod-quickmark and mod-inventory-storage changes (send request for potentially controlled subfields to validate if linkage is possible; handle response)
  2. modifications on mod-entities-links to process request on links creation / deletion for corresponding bib's subfields and authority
  3. Changes on UX side to display results of autolinking

LOE 

  • mod-entities-links
    • implement API on creation links for multiple tags and subfields (0.5 sprint)
  • mod-iinventory-storage
    • implement API to validate authorities (0.5 sprint)
  • mod-quickmark
    • implement requests logic for validation and links creation or removing (1 sprint)
    • implement responses handling with corresponding UX (2 sprints)

Rationale [WIP]