Update of mapping to change how Relator term is populated on instance record R1 2023 Orchid release

MODSOURMAN-837 - Getting issue details... STATUS

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

  • Map specific MARC fields to instance contributors. For subfield "e" as name:

    • 100
    • 110
    • 700
    • 710

    For subfield "j" as name:

    • 111
    • 711

Mandatory or Optional: Mandatory

Steps:

  1. If library tenant is using default mapping rules with NO changes (no customizations), then call PUT  /mapping-rules/marc-bib/restore
  2. If library tenant is using default mapping rules, WITH changes (local customization), then follow the next steps:
    • Send a GET request to /mapping-rules/marc-bib to retrieve the mapping rules
    • Update rules for contributor types for subfield "e". Under fields 100, 110, 700, and 710 remove targets "contributors.contributorTypeId" and "contributors.contributorTypeText" and add updated "contributors.contributorTypeId" target:

      {
        "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
      }

      Result example:

        "100": [
          {
            "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": "true"
                  }
                ]
              },
              {
                "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"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]

       

    • Update rules for contributor types for subfield "j". Under fields 111 and 711 remove targets "contributors.contributorTypeId" and "contributors.contributorTypeText" and add updated "contributors.contributorTypeId" target:

      {
        "rules": [
          {
            "conditions": [
              {
                "type": "set_contributor_type_id_by_code_or_name",
                "parameter": {
                  "contributorCodeSubfield": "4",
                  "contributorNameSubfield": "j"
                }
              }
            ]
          }
        ],
        "target": "contributors.contributorTypeId",
        "subfield": [
          "4",
          "j"
        ],
        "description": "Type of contributor",
        "alternativeMapping": {
          "target": "contributors.contributorTypeText",
          "subfield": [
            "j"
          ],
          "ignoreSubsequentSubfields": true
        },
        "applyRulesOnConcatenatedData": true
      }

      Result example: 

        "711": [
          {
            "entity": [
              {
                "target": "contributors.authorityId",
                "description": "Authority ID that controlling the contributor",
                "applyRulesOnConcatenatedData": true,
                "subfield": [
                  "9"
                ]
              },
              {
                "target": "contributors.contributorNameTypeId",
                "description": "Type for Meeting Name",
                "applyRulesOnConcatenatedData": true,
                "subfield": [
                ],
                "rules": [
                  {
                    "conditions": [
                      {
                        "type": "set_contributor_name_type_id",
                        "parameter": {
                          "name": "Meeting name"
                        }
                      }
                    ]
                  }
                ]
              },
              {
                "rules": [
                  {
                    "conditions": [
                      {
                        "type": "set_contributor_type_id_by_code_or_name",
                        "parameter": {
                          "contributorCodeSubfield": "4",
                          "contributorNameSubfield": "j"
                        }
                      }
                    ]
                  }
                ],
                "target": "contributors.contributorTypeId",
                "subfield": [
                  "4",
                  "j"
                ],
                "description": "Type of contributor",
                "alternativeMapping": {
                  "target": "contributors.contributorTypeText",
                  "subfield": [
                    "j"
                  ],
                  "ignoreSubsequentSubfields": true
                },
                "applyRulesOnConcatenatedData": true
              },
              {
                "target": "contributors.primary",
                "description": "Primary contributor",
                "applyRulesOnConcatenatedData": true,
                "subfield": [
                ],
                "rules": [
                  {
                    "conditions": [],
                    "value": "false"
                  }
                ]
              },
              {
                "target": "contributors.name",
                "description": "Meeting Name",
                "subfield": [
                  "a",
                  "b",
                  "c",
                  "d",
                  "f",
                  "g",
                  "k",
                  "l",
                  "n",
                  "p",
                  "t",
                  "u"
                ],
                "applyRulesOnConcatenatedData": true,
                "rules": [
                  {
                    "conditions": [
                      {
                        "type": "trim_period, trim"
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ]
    • Send PUT request to /mapping-rules/marc-bib and put in the body the updated JSON