Présentation
Le module LI-ADD-UNPAYWALL permet d’ajouter des enrichissement ‘Unpaywall’ celui-ci étant récupéré par le web service ‘biblio-tools/v1/unpaywall/corhal’. L'objectif est de récupérer la ou les URL(s) pointant vers le fulltext si celui-ci est librement disponible sur Internet, URL(s) accompagnée(s) des informations détaillées (is_oa, oa_status, oa_type, etc.)
Fonctionnement
Le module effectue les opérations suivantes :
- Récupération en entrée d'un docObject, ainsi que d'une callback cb.
- Vérifier si l'objet docObject.doi exist.
- Envoyer au webservice unpaywallWsUrl définit dans le fichier config.js le doi pour chercher les enrichissement unpaywall.
- Ajouter le résultat de la recherche a l'objet 'enrichments.openAccess.unpaywall'
Arborescence
.
├── node_modules
│ └── ...
├── config/
│ └── config.js // Configuration pour l'environnement de production
├── test
│ └── run.js // Ensemble des tests à effectuer
├── .eslintrc.json // Configuration pour eslint
├── .gitignore
├── README.md // Le fichier que vous lisez actuellement
├── index.js // Script principal contenant la méthode doTheJob
└── package.json // Fichier contenant les dépendances NPM
Annexes
Options via NPM
-
npm install Installe les dépendances NPM présente dans le
./package.json
- npm test Lance l'ensemble des tests unitaires (écrits en JavaScript -mocha-)
Exemple d'un docObject accepté en entrée
{
…
doi: '10.15282/ijame.14.4.2017.7.0368'
}
Exemples du fichier json en sortie
Remarquez l'ajout de l'objets enrichments
.
Exemple de modification de fichier json sans problème
{
…
doi: '10.15282/ijame.14.4.2017.7.0368',
enrichments: {
openAccess: {
unpaywall: [...]
}
},
},
Exemple de sortie du docObject avec problème
Remarquez l'ajout de errCode
et errMessage
dans le docObject :
{
…
doi: '10.15282/ijame.14.4.2017.7.0368',
"errCode":"HTTPError",
"_errMsg":"Erreur dans la requête du webservice ADD-UNPAYWALL"
}
Codes d'erreur : Lib GOT
Code | Signification | Note(s) |
---|---|---|
UnsupportedProtocolError | Protocole du webservice ADD-UNPAYWALL non pris en charge. | |
HTTPError | Erreur HTTP du webservice ADD-UNPAYWALL. | |
ParseError | Erreur du parsing de résultat du webservice ADD-UNPAYWALL. | |
RequestError | Erreur dans la requête du webservice ADD-UNPAYWALL. | |
TimeoutError | Erreur de Timeout dans la requête du webservice ADD-UNPAYWALL | |
CancelError | La requête du webservice ADD-UNPAYWALL a été annulée | |
BadResponse | Le webservice ADD-UNPAYWALL renvoie une réponse incorrecte |