These scripts and plug-ins enable an EPrints repository to retrieve and store citation counts from Scopus, Web of Science and Google Scholar.
Your institution requires a subscription to Scopus and Web of Science in order to use the plug-ins for their services. Google Scholar is freely accessible, but requests that robots do not extract data from its web site (so you should only use the plug-in to conduct searches triggered manually). See the web sites listed below for the details for each service.
The Scopus plug-in uses the Scopus Document Search API (the XML web service that underpins the JavaScript APIs). Your institution requires a developer key for the API. See http://dev.elsevier.com/
The Web of Science plug-in uses Web of Science Web Services Premium. Access to Web Services Premium is automatic once you are subscribed to Web of Science and InCites. Note: Web Services Lite is not supported by the plugins as it no longer provides citation data. terms of use are at http://www.google.com/accounts/TOS. This plugin
Before using the import plug-ins, you need to install the following from CPAN:
Unicode::Normalize
(for Scopus)SOAP::Lite
(for Web of Science)WWW::Mechanize::Sleepy
(for Google Scholar)URI
. It is recommended that you upgrade the URI package by updating the one packaged with EPrints in perl_lib or by deleting that one and using the latest from CPAN. NOTE: ensure thatURI::OpenURL
remains installed.
Installation steps:
- Copy all of the files in the eprints sub-directory into the root directory
of your EPrints installation, e.g.
cp -R eprints/* /opt/eprints3/
1. Transfer the contents of *eprint_fields.pl.inc* into your *eprints_fields.pl*
2. Transfer the contents of *datasets.pl.inc* into your *datasets.pl*
3. Update *scapi.pl* to include your Scopus developer key
4. Check the options in *scapi.pl*, *wos.pl* and *gscholar.pl*
5. If you want to view and manipulate citation objects via the "Manage
Records" interface, add the lines "+citation/view" and
"+citation/destroy" the appropriate user roles in *user_roles.pl*
6. Enable the relevant plugins; e.g.
```perl
$c->{plugins}{'Import::CitationService::Scopus}{params}{disable} = 0;
```
You may also want to look through the import plug-ins themselves and ensure that their use of eprint types and fields is suitable for your archive.
You can import citation data into your database using the import_citationdata and update_citationdata scripts.
import_citationdata requests data for a given list of eprint IDs.
update_citationdata is intended to be run as a daily or hourly cron job, and implements a schedule that requests data for every eprint once per month.
See the Perl documentation for each script for details on how to invoke the
scripts, i.e. use perldoc /opt/eprints3/bin/import_citationdata
.
All citation data is stored in a dataset called citation. The most recent
counts for any given eprint are cached in the scopus, wos and gscholar
fields of that eprint. E.g. to display Scopus' citation count on an eprint's
summary page, put <epc:print expr="scopus_impact"/>
in the appropriate place
of your summary_page.xml.
For general support enquiries please use the EPrints Tech List at http://www.eprints.org/tech.php/
Bugs and and feature requests can be logged in GitHub.
The citation count import plug-ins were developed by the Library eServices Applications and Development Team at the Queensland University of Technology in Brisbane, Australia. For more about us, see https://www.library.qut.edu.au/.
Maintainer:
Original Developers:
Updates:
Copyright (c) 2011-2017 Queensland University of Technology, Queensland, Australia
The plug-ins are free software; you can redistribute them and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
The plug-ins are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with EPrints 3; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
May 2017 (phluid61)
- Scopus: improved search parameterisation
- Removed old GScholar code
-
October 2015 (phluid61)
- Scopus: update to use new api.elsevier.com API endpoint
-
May-June 2013 (MrkGrgsn w/sf2)
- Refactored
process_eprints()
to improve the abstract-concrete class interaction. - bin script: removed
parse_retry
functionality - Scopus: added query fallbacks to Scopus - EID to DOI to metadata - improves match success rate and handle changed EIDs.
- Scopus: corrected encoding of multi-byte characters in the query string w/URI 1.60
- Scopus: added a call() method to Scopus to perform HTTP requests with retry on transport failure
- Scopus: added a workaround for Scopus return malformed XML error responses
- Scopus: refined metadata querystring generation to handle more special characters
- WoS: configured Web Services Premium by default (Lite doesn't work)
- WoS: added DOI filtering to remove ones with mismatched parenthesis that WoS can't interpret
- WoS: fixed a character escaping issue in the userQuery element
- WoS: modified
get_session()
and dispose() to use$plugin->call()
- WoS:
get_uri_for_eprint()
now links direct to the record via the WoS OpenURL URI
- Refactored
-
May 2013 (sf2)
- Scopus: don't fail if an EPrint has no title
- WoS: if an EPrint's UT has changed, re-do a search instead of die()'ing
-
December 2012 (sf2)
- WoS: added support for v3 of the API
- WoS: added restrictions for the maximum number of requests per seconds (2) and per session (10,000)
- WoS: Unicode patch for queries
- Scopus: support for updated API / End-points
- bin script: if 'filename' is omitted, the script will process all the items in the live archive