Kiwi R3 2021 Release: Updates on default mapping rules
MODSOURMAN-563: Add MARC-Instance field mapping for Cancelled system control numberClosed
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-172: Add MARC-Instance field mapping for New identifier typesClosed
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-184: Update the MARC-Instance field mapping for InstanceType (336$a and $b) KIWI BFClosed
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