Kiwi R3 2021 Release: Updates on default mapping rules
- MODSOURMAN-563Getting 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:
- Send GET request to /mapping-rules/marc-bib to retrieve the mapping rules
- 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-172Getting 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:
- Send GET request to /mapping-rules/marc-bib to retrieve the mapping rules
- 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-184Getting 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:
- Send GET request to /mapping-rules/marc-bib to retrieve the mapping rules
- 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