MODSOURMAN-837
-
Getting issue details...
STATUS
Update to the default MARC Bib-to-Inventory Instance MAP:
Mandatory or Optional: Mandatory
Steps:
- If library tenant is using default mapping rules with NO changes (no customizations), then call PUT /mapping-rules/marc-bib/restore
- 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
2 Comments
Sobha Duvvuri
Kateryna Senchenko : Thank you for updating the documentation with steps. Assuming the library is not using default mapping rules, can we get a script to make the adjustments above?
Sobha Duvvuri
Meeting Summary: This is a mandatory mapping rule change that impacts all libraries and needs to be done as part of the upgrade from Nolana to Orchid.
TODO: A script will be provided by Folijet to automate this process. Thanks Kateryna Senchenko . Spitfire and Folijet to discuss about overlapping contributor fields.
Nice to have: For future releases, Folijet to think about how to automate these as part of the module upgrade itself if its a mandatory mapping rule change that affects all libraries