Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/natlibfi/marc-record-merge-melindautils
Utility functions to apply for MARC records during deduplication in Melinda
https://github.com/natlibfi/marc-record-merge-melindautils
melinda
Last synced: 9 days ago
JSON representation
Utility functions to apply for MARC records during deduplication in Melinda
- Host: GitHub
- URL: https://github.com/natlibfi/marc-record-merge-melindautils
- Owner: NatLibFi
- License: agpl-3.0
- Created: 2015-04-17T07:34:56.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-10-25T19:19:41.000Z (over 7 years ago)
- Last Synced: 2024-11-20T19:53:33.303Z (2 months ago)
- Topics: melinda
- Language: JavaScript
- Homepage:
- Size: 85 KB
- Stars: 0
- Watchers: 10
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Utility functions to apply for MARC records during deduplication in Melinda
A javascript module to be used in addition to [marc-record-merge module](https://github.com/natlibfi/marc-record-merge). Handles Melinda-specific sanity checks and modifications of the duplicate records to be merged. This module is part of the larger marc record deduplication system.
## Installation
```
npm install marc-record-merge-melindautils
```## Usage
```
var MergeUtilsMelinda = require('marc-record-merge-melindautils');
var mergeUtils = new MergeUtilsMelinda(config);example config:
{
authority_db: {
Xendpoint: 'http://melinda.kansalliskirjasto.fi/X'
},
bib_db: {
Xendpoint: 'http://melinda.kansalliskirjasto.fi/X'
}
}
```
Both dbs are expected to be Aleph ILS instances. The authority_db is used to query for authorized formats of authors while bib_db is used for checking host/component record relations.Use function canMerge(record1, record2) to check whether 2 marc-record-js objects can be merged in Melinda
```
mergeUtils.canMerge(record1, record2).then(function(result) {
// Everything is ok, merging is possible
}).catch(function(error) {
// Merging is not possible, error.message contains the reason(s).
}).done();
```After merging 2 records using marc-record-merge, Melinda specific post merge modifications can be made to the merged record.
This function will modify the mergedRecrod.
```
mergeUtils.applyPostMergeModifications(record1, record2, mergedRecord).then(function() {
// post merge modifications were applied to mergedRecord. So its ready to be saved to the database or whatnot.
}).catch(function(error) {
// handle any errors
}).done();```
## Contribute
The grunt default task will run jshint, tests and coverage for the module. Tests can be found from test/ directory. Checking the tests may also be a good place to see how the module works.
Tests are currently executed using the Melinda test instance, so to run the tests a internet connection is required.## License and copyright
Copyright (c) 2015, 2017 **University Of Helsinki (The National Library Of Finland)**
This project's source code is licensed under the terms of **GNU Affero General Public License Version 3** or any later version.