Skip to end of banner
Go to start of banner

Update of mapping to adjust punctuation handling for 1xx/7xx contributors R2 2023 Poppy release

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 16 Next »

MODDICORE-347 - Getting issue details... STATUS

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

  • Update mapping rules for the classification field to adjust punctuation handling for contributor name.

Script for updating such mapping:  MODDICORE-355 - Getting issue details... STATUS

Steps:

  1. If library tenant is using default mapping rules with NO changes (no customizations), then call PUT  /mapping-rules/marc-bib/restore endpoint
  2. If library tenant is using default mapping rules, WITH changes (local customization), then follow the next step
    1. Send a GET request to /mapping-rules/marc-bib to retrieve the mapping rules
    2. Under 100, 110, 111, 700, 710, 711, 720 fields update rule for contributor name (section where target = "contributors.name") for the "type" property replace "trim_period, trim" value with "trim_punctuation" value

      before changes:

      "rules": [
        {
          "conditions": [
            {
              "type": "trim_period, trim"
            }
          ]
        }
      ]


      after changes:

      "rules": [
        {
          "conditions": [
            {
              "type": "trim_punctuation"
            }
          ]
        }
      ]  
    3. Send PUT request to /mapping-rules/marc-bib and put in the body the updated JSON

Note, that the array of the section for "720" field contains three "type" properties so the value for each of them should be updated.

Example of mapping for "720" field with updated "type" properties
"720": [
    {
      "indicators": {
        "ind1": "1",
        "ind2": "*"
      },
      "entity": [
        {
          "target": "contributors.contributorNameTypeId",
          "description": "Type for Personal Name",
          "applyRulesOnConcatenatedData": true,
          "subfield": [],
          "rules": [
            {
              "conditions": [
                {
                  "type": "set_contributor_name_type_id",
                  "parameter": {
                    "name": "Personal name"
                  }
                }
              ]
            }
          ]
        },
        {
          "target": "contributors.contributorTypeId",
          "description": "Type of contributor",
          "applyRulesOnConcatenatedData": true,
          "subfield": [
            "4",
            "e"
          ],
          "rules": [
            {
              "conditions": [
                {
                  "type": "set_contributor_type_id_by_code_or_name",
                  "parameter": {
                    "contributorCodeSubfield": "4",
                    "contributorNameSubfield": "e"
                  }
                }
              ]
            }
          ],
          "alternativeMapping": {
            "target": "contributors.contributorTypeText",
            "description": "Contributor type free text",
            "ignoreSubsequentSubfields": true,
            "subfield": [
              "e"
            ]
          }
        },
        {
          "target": "contributors.primary",
          "description": "Primary contributor",
          "applyRulesOnConcatenatedData": true,
          "subfield": [
          ],
          "rules": [
            {
              "conditions": [],
              "value": "false"
            }
          ]
        },
        {
          "target": "contributors.name",
          "description": "Personal Name",
          "applyRulesOnConcatenatedData": true,
          "subfield": [
            "a"
          ],
          "rules": [
            {
              "conditions": [
                {
                  "type": "trim_punctuation"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "indicators": {
        "ind1": " ",
        "ind2": "*"
      },
      "entity": [
        {
          "target": "contributors.contributorNameTypeId",
          "description": "Type for Personal Name",
          "applyRulesOnConcatenatedData": true,
          "subfield": [],
          "rules": [
            {
              "conditions": [
                {
                  "type": "set_contributor_name_type_id",
                  "parameter": {
                    "name": "Personal name"
                  }
                }
              ]
            }
          ]
        },
        {
          "target": "contributors.contributorTypeId",
          "description": "Type of contributor",
          "applyRulesOnConcatenatedData": true,
          "subfield": [
            "4",
            "e"
          ],
          "rules": [
            {
              "conditions": [
                {
                  "type": "set_contributor_type_id_by_code_or_name",
                  "parameter": {
                    "contributorCodeSubfield": "4",
                    "contributorNameSubfield": "e"
                  }
                }
              ]
            }
          ],
          "alternativeMapping": {
            "target": "contributors.contributorTypeText",
            "description": "Contributor type free text",
            "ignoreSubsequentSubfields": true,
            "subfield": [
              "e"
            ]
          }
        },
        {
          "target": "contributors.primary",
          "description": "Primary contributor",
          "applyRulesOnConcatenatedData": true,
          "subfield": [
          ],
          "rules": [
            {
              "conditions": [],
              "value": "false"
            }
          ]
        },
        {
          "target": "contributors.name",
          "description": "Personal Name",
          "applyRulesOnConcatenatedData": true,
          "subfield": [
            "a"
          ],
          "rules": [
            {
              "conditions": [
                {
                  "type": "trim_punctuation"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "indicators": {
        "ind1": "2",
        "ind2": "*"
      },
      "entity": [
        {
          "target": "contributors.contributorNameTypeId",
          "description": "Type for Corporate Name",
          "applyRulesOnConcatenatedData": true,
          "subfield": [],
          "rules": [
            {
              "conditions": [
                {
                  "type": "set_contributor_name_type_id",
                  "parameter": {
                    "name": "Corporate name"
                  }
                }
              ]
            }
          ]
        },
        {
          "target": "contributors.contributorTypeId",
          "description": "Type of contributor",
          "applyRulesOnConcatenatedData": true,
          "subfield": [
            "4",
            "e"
          ],
          "rules": [
            {
              "conditions": [
                {
                  "type": "set_contributor_type_id_by_code_or_name",
                  "parameter": {
                    "contributorCodeSubfield": "4",
                    "contributorNameSubfield": "e"
                  }
                }
              ]
            }
          ],
          "alternativeMapping": {
            "target": "contributors.contributorTypeText",
            "description": "Contributor type free text",
            "ignoreSubsequentSubfields": true,
            "subfield": [
              "e"
            ]
          }
        },
        {
          "target": "contributors.primary",
          "description": "Primary contributor",
          "applyRulesOnConcatenatedData": true,
          "subfield": [
          ],
          "rules": [
            {
              "conditions": [],
              "value": "false"
            }
          ]
        },
        {
          "target": "contributors.name",
          "description": "Personal Name",
          "applyRulesOnConcatenatedData": true,
          "subfield": [
            "a"
          ],
          "rules": [
            {
              "conditions": [
                {
                  "type": "trim_punctuation"
                }
              ]
            }
          ]
        }
      ]
    }
]





  • No labels