Update to MARC Bib-to-Instance Default map changes to support Authority control feature

Update to MARC Bib-to-Instance Default map changes to support Authority control feature

https://folio-org.atlassian.net/browse/MODSOURMAN-924

Updates to the default MARC Bib-to-Inventory Instance MAP:

These changes are required to support the Authority control feature

Mandatory or Optional: Mandatory

Steps:

  1. If no changes were made to default mapping rules then call PUT  /mapping-rules/marc-bib/restore

  2. If changes were made to default mapping rules then follow next steps:

    1. Send a GET request to /mapping-rules/marc-bib to retrieve the mapping rules

    2. Update rules for alternativeTitles. Under fields 130, and 240 add a new "target":

      { "target": "alternativeTitles.authorityId", "description": "Authority ID that controlling the alternative title", "subfield": [ "9" ] }

      Result example: 

      "130": [ { "entity": [ { "target": "alternativeTitles.alternativeTitleTypeId", "description": "Alternative Title id", "subfield": [ "a", "n", "p", "d", "f", "g", "h", "k", "l", "m", "o", "r", "s", "t" ], "applyRulesOnConcatenatedData": true, "rules": [ { "conditions": [ { "type": "set_alternative_title_type_id", "parameter": { "name": "Uniform title" } } ] } ] }, { "target": "alternativeTitles.alternativeTitle", "description": "Alternative Title", "subfield": [ "a", "n", "p", "d", "f", "g", "h", "k", "l", "m", "o", "r", "s", "t" ], "applyRulesOnConcatenatedData": true, "rules": [ { "conditions": [ { "type": "remove_ending_punc, trim" } ] } ] }, { "target": "alternativeTitles.authorityId", "description": "Authority ID that controlling the alternative title", "subfield": [ "9" ] } ] } ]
    3. Update rules for contributors. Under fields 100, 110, 111, 700, 710, and 711 add a new "target":

      { "target": "contributors.authorityId", "description": "Authority ID that controlling the contributor", "applyRulesOnConcatenatedData": true, "subfield": [ "9" ] }

      Result example: 

      "700": [ { "entity": [ { "target": "contributors.authorityId", "description": "Authority ID that controlling the contributor", "applyRulesOnConcatenatedData": true, "subfield": [ "9" ] }, { "target": "contributors.contributorNameTypeId", "description": "Type for Personal Name", "applyRulesOnConcatenatedData": true, "subfield": [ ], "rules": [ { "conditions": [ { "type": "set_contributor_name_type_id", "parameter": { "name": "Personal name" } } ] } ] }, { "rules": [ { "conditions": [ { "type": "set_contributor_type_id_by_code_or_name", "parameter": { "contributorCodeSubfield": "4", "contributorNameSubfield": "e" } } ] } ], "target": "contributors.contributorTypeId", "subfield": [ "4", "e" ], "description": "Type of contributor", "alternativeMapping": { "target": "contributors.contributorTypeText", "subfield": [ "e" ], "ignoreSubsequentSubfields": true }, "applyRulesOnConcatenatedData": true }, { "target": "contributors.primary", "description": "Primary contributor", "applyRulesOnConcatenatedData": true, "subfield": [ ], "rules": [ { "conditions": [], "value": "false" } ] }, { "target": "contributors.name", "description": "Personal Name", "subfield": [ "a", "b", "c", "d", "f", "g", "j", "k", "l", "n", "p", "q", "t", "u" ], "applyRulesOnConcatenatedData": true, "rules": [ { "conditions": [ { "type": "trim_period, trim" } ] } ] } ] } ]
    4. Update rules for series. Under fields 800, 810, 811, 830 do:

      1. Surround it with "entity"

      2. Change target from series to series.value

      3. add a new target:

        { "target": "series.authorityId", "description": "Authority ID that controlling the series", "subfield": [ "9" ] }

        Result example: 

        "800": [ { "entity": [ { "target": "series.value", "description": "Series Statement", "applyRulesOnConcatenatedData": true, "subfield": [ "a", "b", "c", "d", "e", "f", "g", "h", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "3", "5" ], "rules": [ { "conditions": [ { "type": "remove_ending_punc, trim" } ] } ] }, { "target": "series.authorityId", "description": "Authority ID that controlling the series", "subfield": [ "9" ] } ] } ]
    5. Update rules for subjects. Under fields 600, 610, 611, 630, 650, 651, 655 do:

      1. Surround it with "entity"

      2. Change target from subjects to subjects.value

      3. add a new target:

               { "target": "subjects.authorityId", "description": "Authority ID that controlling the subject", "subfield": [ "9" ] }

        Result example: 

        "600": [ { "entity": [ { "target": "subjects.value", "description": "Subject Headings", "applyRulesOnConcatenatedData": true, "subfield": [ "a", "b", "c", "d", "e", "f", "g", "h", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "x", "y", "z" ], "rules": [ { "conditions": [ { "type": "trim_period, trim" } ] } ], "subFieldDelimiter": [ { "value": " ", "subfields": [ "a", "b", "c", "d", "j", "q", "t", "f", "g", "k", "l", "m", "n", "o", "p", "r", "s" ] }, { "value": "--", "subfields": [ "x", "y", "z", "v" ] }, { "value": "--", "subfields": [] } ] }, { "target": "subjects.authorityId", "description": "Authority ID that controlling the subject", "subfield": [ "9" ] } ] } ]
    6. Send PUT request to /mapping-rules/marc-bib and put in the body the updated JSON