Displaying citation counts in DSpace

In the repository world we’ve known for a while now that unless the repository provides value to a researcher, they won’t use it. Nothing pleases a researcher more than to see nice big citation counts for their papers. Wouldn’t it be nice if DSpace repositories could display the citation count for archived papers?


I received an email yesterday about the Scopus API, so thought I’d play with it for a bit of a ‘Friday afternoon experiment’. So here is a quick recipe for adding citation counts to DSpace’s JSPUI:

  1. Register for the Scopus API service: http://searchapi.scopus.com/
  2. Register your website (e.g. http://dspace.example.com/): https://searchapi.scopus.com/developerProfile.url
  3. Download and save this patch (it only edits two files – display-item.jsp and header-default.jsp)
  4. Edit the patch and insert your developer ID where you see XXXXXXXXXXX in the Javascript
  5. Apply the patch to your DSpace instance
  6. Re-build, and redeploy your DSpace instance
  7. Visit any item that has a DOI stored in the dc.identifier.doi field
  8. Look out for the citation count appearing at the top (if the item has a count of more than 0!)


14 thoughts on “Displaying citation counts in DSpace

  1. Stuart Post author

    Hi Ronee,

    Yes – it should work fine. The snippet of code that inserts the Javascript on the page and grabs the DOI will need changing slightly, but otherwise it will work OK.

    Apparently SCOPUS are developing a new citation REST API which should be available early next year, so once that is released I’ll probably rewrite the code to make use of that, and will implement it in the XMLUI too.



  2. moturi


    I am having a problem with applying the patch file.

    I saved it in the server as mods.diff.txt and ran the command

    $ patch < mods.diff (for the file defaultheader.jsp)

    I got the following errors:

    bash-2.05$ patch < mods.diff.txt
    bash: mods.diff.txt: No such file or directory
    bash-2.05$ patch < mods.diff.txt
    Looks like a unified context diff.
    Hunk #1 failed at line 66.
    Hunk #2 failed at line 108.
    2 out of 2 hunks failed: saving rejects to header-default.jsp.rej
    The next patch looks like a unified context diff.
    File to patch: header-default.jsp
    Hunk #1 failed at line 107.
    Hunk #2 failed at line 160.
    2 out of 2 hunks failed: saving rejects to header-default.jsp.rej

    Can you please help?

    Thanks in advance.


  3. Stuart Post author

    Hi Moturi,

    It might be that you are trying to patch an old version of the code as the patch is designed for DSpace version 1.6. You could just apply the changes to the file by hand, as there aren’t many. Just add the lines from the patch file which start with a ‘+’, and remove the lines that start with a ‘-‘. To find the position of the lines, look at the extra lines before and after each change.



  4. jhoyce

    Hi Sir Stuart,

    I recently implemented the SCOPUS citation in our dspace. I have a question in mind,
    1.) if the item has zero (0) citations, will the message “This item has been cited xx times…” ? or it will only show if the citations has more than 0… Because in our repository, that message is not appearing.

    Note: in our repository, we customized the submission form such that the “initial questions” were removed, does that affect the citation count? Because I’ve read from the manual that the initial questions control the DC field such as date.issued, publisher, and identifier.citation.

    Thank you very much for your attention.

  5. Stuart Post author


    Yes – it will only show a citation count if an item has 1 or more citations. I thought that nobody would want a heading saying ‘This item has no citations’.

    The citations will also only display if there is a valid DOI stored in the in the identifer.doi field. This will not get set or removed depending upon the initial questions, you just need to make sure that it is collected somehow.



  6. fatima

    I would like know about adding assigned DOI Number to already published
    article. Can we modify the published digital copy to add DOI number.

    Reply is appreciated.

  7. fatima

    I am confused regarding DOI and handle-server. DOes it mean that if we don’t apply for a DOI service or any handle-service for our repository, then it’s impossible for us to use SCOPUS citation in our dspace instance? Thank you.

  8. Stuart Post author


    You do not need to use handles to identify item in your repository to be able to do this. What you do need to do, is to hold the DOI of the item in the metadata, in order to look it up at Scopus.

    For example, if you hold a copy of journal article ‘X Y Z’ in your repository, you need to record it’s publisher DOI in the metadata. This is used to look it up with Scopus. However you do not need to assign that record a handle in your repository (http;//hdl.handle.net/123456/123).

    I hope that helps,


  9. Jorge

    H Stuart, i have implemented this tool on my dspace(1.7.2 + Oracle DB) i have resolved a problem on my dspace with this tool for incompatibility of jquery and prototype.js using $.
    Now the scritp runs but im receiving this on debug:
    Search submitted: query=doi:10.1016/j.apcata.2008.04.041

    Results recieved by callback…

    …looking good

    runSearch: error occured durring search

    Checking for timedout search…

    …search had already compleated

    But i still dont find the error, maybe its the format of the DOI?

    Thx in advance.

Leave a Reply

Your email address will not be published. Required fields are marked *