Bulk Operations Data Import job profile
- Aliaksei Harbuz
To perform data import of updated MARC records mod-bulk-operation creates own job profile.
The job profile is created for every bulk edit of MARC records, after data import is performed the job profile will be removed.
Creation of job profile consists from several steps :
Creation of mapping profile to update instance
{
"name" : "Bulk operations data import update instance mapping profile",
"description" : "Bulk operations data import update instance mapping profile",
"incomingRecordType" : "MARC_BIBLIOGRAPHIC",
"existingRecordType" : "INSTANCE",
"mappingDetails" : {
"name" : "instance",
"recordType" : "INSTANCE",
"mappingFields" : [ {
"name" : "discoverySuppress",
"enabled" : "true",
"required" : false,
"path" : "instance.discoverySuppress"
}, {
"name" : "staffSuppress",
"enabled" : "true",
"required" : false,
"path" : "instance.staffSuppress"
}, {
"name" : "previouslyHeld",
"enabled" : "true",
"required" : false,
"path" : "instance.previouslyHeld"
}, {
"name" : "hrid",
"enabled" : "false",
"required" : false,
"path" : "instance.hrid"
}, {
"name" : "source",
"enabled" : "false",
"required" : false,
"path" : "instance.source"
}, {
"name" : "catalogedDate",
"enabled" : "true",
"required" : false,
"path" : "instance.catalogedDate"
}, {
"name" : "statusId",
"enabled" : "true",
"required" : false,
"path" : "instance.statusId"
}, {
"name" : "modeOfIssuanceId",
"enabled" : "false",
"required" : false,
"path" : "instance.modeOfIssuanceId"
}, {
"name" : "statisticalCodeIds",
"enabled" : "true",
"required" : false,
"path" : "instance.statisticalCodeIds[]"
}, {
"name" : "administrativeNotes",
"enabled" : "true",
"required" : false,
"path" : "instance.administrativeNotes[]"
}, {
"name" : "title",
"enabled" : "false",
"required" : false,
"path" : "instance.title"
}, {
"name" : "alternativeTitles",
"enabled" : "false",
"required" : false,
"path" : "instance.alternativeTitles[]"
}, {
"name" : "indexTitle",
"enabled" : "false",
"required" : false,
"path" : "instance.indexTitle"
}, {
"name" : "series",
"enabled" : "false",
"required" : false,
"path" : "instance.series[]"
}, {
"name" : "precedingTitles",
"enabled" : "false",
"required" : false,
"path" : "instance.precedingTitles[]"
}, {
"name" : "succeedingTitles",
"enabled" : "false",
"required" : false,
"path" : "instance.succeedingTitles[]"
}, {
"name" : "identifiers",
"enabled" : "false",
"required" : false,
"path" : "instance.identifiers[]"
}, {
"name" : "contributors",
"enabled" : "false",
"required" : false,
"path" : "instance.contributors[]"
}, {
"name" : "publication",
"enabled" : "false",
"required" : false,
"path" : "instance.publication[]"
}, {
"name" : "editions",
"enabled" : "false",
"required" : false,
"path" : "instance.editions[]"
}, {
"name" : "physicalDescriptions",
"enabled" : "false",
"required" : false,
"path" : "instance.physicalDescriptions[]"
}, {
"name" : "instanceTypeId",
"enabled" : "false",
"required" : false,
"path" : "instance.instanceTypeId"
}, {
"name" : "natureOfContentTermIds",
"enabled" : "true",
"required" : false,
"path" : "instance.natureOfContentTermIds[]"
}, {
"name" : "instanceFormatIds",
"enabled" : "false",
"required" : false,
"path" : "instance.instanceFormatIds[]"
}, {
"name" : "languages",
"enabled" : "false",
"required" : false,
"path" : "instance.languages[]"
}, {
"name" : "publicationFrequency",
"enabled" : "false",
"required" : false,
"path" : "instance.publicationFrequency[]"
}, {
"name" : "publicationRange",
"enabled" : "false",
"required" : false,
"path" : "instance.publicationRange[]"
}, {
"name" : "notes",
"enabled" : "false",
"required" : false,
"path" : "instance.notes[]"
}, {
"name" : "electronicAccess",
"enabled" : "false",
"required" : false,
"path" : "instance.electronicAccess[]"
}, {
"name" : "subjects",
"enabled" : "false",
"required" : false,
"path" : "instance.subjects[]"
}, {
"name" : "classifications",
"enabled" : "false",
"required" : false,
"path" : "instance.classifications[]"
}, {
"name" : "parentInstances",
"enabled" : "true",
"required" : false,
"path" : "instance.parentInstances[]"
}, {
"name" : "childInstances",
"enabled" : "true",
"required" : false,
"path" : "instance.childInstances[]"
} ]
},
"hidden" : true
}
Creation of action profile to update instance using mapping profile to update instance as detail profile
{
"profile": {
"name": "Bulk operations data import update instance action profile",
"description": "Bulk operations data import update instance action profile",
"action" : "UPDATE",
"folioRecord" : "INSTANCE",
"hidden" : true,
"remove9Subfields" : true
} ,
"addedRelations": [{
"masterProfileId": null,
"masterProfileType": "ACTION_PROFILE",
"detailProfileId": null,
"detailProfileType": "MAPPING_PROFILE"
}
]
}
Creation of mapping profile to update SRS
{
"name" : "Bulk operations data import update srs mapping profile",
"description" : "Bulk operations data import update srs mapping profile",
"incomingRecordType" : "MARC_BIBLIOGRAPHIC",
"existingRecordType" : "MARC_BIBLIOGRAPHIC",
"mappingDetails" : {
"name" : "marcBib",
"recordType" : "MARC_BIBLIOGRAPHIC",
"marcMappingOption" : "UPDATE"
},
"hidden" : true
}
Creation of action profile to update SRS using mapping profile to update SRS as detail profile
Creation of match profile
Actions profiles to update instance and SRS, match profiles are used to set up job profile to import updated MARC records.
Actions profiles from job profile are processed separately one by one. The changes are not reverted for applied action profile.