Kiwi R3 2021 Release: Updates on default mapping rules

MODSOURMAN-563 - Getting issue details... STATUS

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

  • 019$a and 035$z mapped to Instance Identifier type = Cancelled System Control Number 

This change relies on new default Identifier type values available in Kiwi, in Settings/Inventory/Instances:

  • Cancelled system control number

Mandatory or Optional: Optional

Steps:

  1. Send GET request to  /mapping-rules/marc-bib to retrieve the mapping rules
  2. Place rule for 019 field in the received json (place it before the rule for "020" field for readability)

"019": [
  {
    "entityPerRepeatedSubfield": true,
    "entity": [
      {
        "target": "identifiers.identifierTypeId",
        "description": "Type for Cancelled system control number",
        "subfield": [
          "a"
        ],
        "rules": [
          {
            "conditions": [
              {
                "type": "set_identifier_type_id_by_name",
                "parameter": {
                  "name": "Cancelled system control number"
                }
              }
            ]
          }
        ]
      },
      {
        "target": "identifiers.value",
        "description": "Cancelled system control number",
        "subfield": [
          "a"
        ],
        "rules": [
          {
            "conditions": [
              {
                "type": "trim"
              }
            ]
          }
        ]
      }
    ]
  }
],

       3. Extend the rule for "035" field (add only the section marked in green)

"035": [

  {
"entityPerRepeatedSubfield": true,
"entity": [
{
"target": "identifiers.identifierTypeId",
"description": "Type for System Control Number",
"subfield": [
"a"
],
"rules": [
{
"conditions": [
{
"type": "set_identifier_type_id_by_value",
"parameter": {
"names": [
"System control number",
"OCLC"
],
"oclc_regex": "(\\(OCoLC\\)|ocm|ocn|on).*"
}
}
]
}
]
},
{
"target": "identifiers.value",
"description": "System Control Number",
"subfield": [
"a"
]
}
]
},

  {
    "entityPerRepeatedSubfield": true,
    "entity": [
      {
        "target": "identifiers.identifierTypeId",
        "description": "Type for Cancelled system control number",
        "subfield": [
          "z"
        ],
        "rules": [
          {
            "conditions": [
              {
                "type": "set_identifier_type_id_by_name",
                "parameter": {
                  "name": "Cancelled system control number"
                }
              }
            ]
          }
        ]
      },
      {
        "target": "identifiers.value",
        "description": "Cancelled system control number",
        "subfield": [
          "z"
        ],
        "rules": [
          {
            "conditions": [
              {
                "type": "trim"
              }
            ]
          }
        ]
      }
    ]

  }

],

4. Send PUT request to /mapping-rules/marc-bib and put in the body the updated json



MODDICORE-172 - Getting issue details... STATUS

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

  • 024/Ind1=1, $aq mapped to Instance Identifier type = UPC
  • 024/Ind1=1, $zq mapped to Instance Identifier type = Invalid UPC
  • 024/Ind1=2, $aq mapped to Instance Identifier type = ISMN
  • 024/Ind1=2, $zq mapped to Instance Identifier type = Invalid ISMN

This change relies on new default Identifier type values available in Kiwi, in Settings/Inventory/Instances:

  • UPC
  • Invalid UPC
  • ISMN
  • Invalid ISMN

Steps:

  1. Send GET request to  /mapping-rules/marc-bib to retrieve the mapping rules
  2. Extend rule for 024 field in the received json (add the section marked in green)

"024": [

  {
"entity": [
{
"target": "identifiers.identifierTypeId",
"description": "Type for Other Standard Identifier",
"applyRulesOnConcatenatedData": true,
"subfield": [
"a",
"c",
"d",
"q",
"z",
"2"
],
"rules": [
{
"conditions": [
{
"type": "set_identifier_type_id_by_name",
"parameter": {
"name": "Other standard identifier"
}
}
]
}
]
},
{
"target": "identifiers.value",
"description": "Other Standard Identifier",
"applyRulesOnConcatenatedData": true,
"subfield": [
"a",
"c",
"d",
"q",
"z",
"2"
],
"rules": [
{
"conditions": [
{
"type": "trim"
}
]
}
]
}
]

  },
  {
    "indicators": {
      "ind1": "2",
      "ind2": "*"
    },
    "entity": [
      {
        "target": "identifiers.identifierTypeId",
        "description": "Type for Resource identifier types",
        "subfield": [
          "a"
        ],
        "rules": [
          {
            "conditions": [
              {
                "type": "set_identifier_type_id_by_name",
                "parameter": {
                  "name": "ISMN"
                }
              }
            ]
          }
        ]
      },
      {
        "target": "identifiers.value",
        "description": "ISMN",
        "subfield": [
          "a"
        ],
        "rules": [
          {
            "conditions": [
              {
                "type": "concat_subfields_by_name, trim",
                "parameter": {
                  "subfieldsToConcat": [
                    "q"
                  ]
                }
              }
            ]
          }
        ]
      }
    ]
  },
  {
    "indicators": {
      "ind1": "2",
      "ind2": "*"
    },
    "entityPerRepeatedSubfield": true,
    "entity": [
      {
        "target": "identifiers.identifierTypeId",
        "description": "Type for Resource identifier types",
        "subfield": [
          "z"
        ],
        "rules": [
          {
            "conditions": [
              {
                "type": "set_identifier_type_id_by_name",
                "parameter": {
                  "name": "Invalid ISMN"
                }
              }
            ]
          }
        ]
      },
      {
        "target": "identifiers.value",
        "description": "Invalid ISMN",
        "subfield": [
          "z"
        ],
        "rules": [
          {
            "conditions": [
              {
                "type": "concat_subfields_by_name, trim",
                "parameter": {
                  "subfieldsToConcat": [
                    "q"
                  ]
                }
              }
            ]
          }
        ]
      }
    ]
  },
  {
    "indicators": {
      "ind1": "1",
      "ind2": "*"
    },
    "entity": [
      {
        "target": "identifiers.identifierTypeId",
        "description": "Type for Resource identifier types",
        "subfield": [
          "a"
        ],
        "rules": [
          {
            "conditions": [
              {
                "type": "set_identifier_type_id_by_name",
                "parameter": {
                  "name": "UPC"
                }
              }
            ]
          }
        ]
      },
      {
        "target": "identifiers.value",
        "description": "UPC",
        "subfield": [
          "a"
        ],
        "rules": [
          {
            "conditions": [
              {
                "type": "concat_subfields_by_name, trim",
                "parameter": {
                  "subfieldsToConcat": [
                    "q"
                  ]
                }
              }
            ]
          }
        ]
      }
    ]
  },
  {
    "indicators": {
      "ind1": "1",
      "ind2": "*"
    },
    "entityPerRepeatedSubfield": true,
    "entity": [
      {
        "target": "identifiers.identifierTypeId",
        "description": "Type for Resource identifier types",
        "subfield": [
          "z"
        ],
        "rules": [
          {
            "conditions": [
              {
                "type": "set_identifier_type_id_by_name",
                "parameter": {
                  "name": "Invalid UPC"
                }
              }
            ]
          }
        ]
      },
      {
        "target": "identifiers.value",
        "description": "Invalid UPC",
        "subfield": [
          "z"
        ],
        "rules": [
          {
            "conditions": [
              {
                "type": "concat_subfields_by_name, trim",
                "parameter": {
                  "subfieldsToConcat": [
                    "q"
                  ]
                }
              }
            ]
          }
        ]
      }
    ]

  }
],

3. Send PUT request to /mapping-rules/marc-bib and put in the body the updated json



MODDICORE-184 - Getting issue details... STATUS

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

For Inventory Resource Type (called instanceTypeID in the instance schema), assign based on the first 336$b if it exists, otherwise derive from the first 336$a if it is recognized; otherwise assign zzz (Unspecified)

Steps:

  1. Send GET request to  /mapping-rules/marc-bib to retrieve the mapping rules
  2. Update rule for "336" field (add elements marked in green)

"336": [

  {
"target": "instanceTypeId",
"description": "Instance type ID",
"ignoreSubsequentFields": true,
"ignoreSubsequentSubfields": true,

          "applyRulesOnConcatenatedData": true,

    "subfield": [

               "a",

      "b"
],

          "subFieldDelimiter": [
                {
                 "value": "~",
                "subfields": ["a","b"]
               }
         ],

    "rules": [
{
"conditions": [
{
"type": "set_instance_type_id",
"parameter": {
"unspecifiedInstanceTypeCode": "zzz"
}
}
]
}
]
}
],

3. Send PUT request to /mapping-rules/marc-bib and put in the body the updated json