Monthly Archives: October 2009

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:
  2. Register your website (e.g.
  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!)


If SWORD is the answer, what is the question?

I’ve just had a new collaborative paper published: ‘If SWORD is the answer, what is the question?’ (DOI: 10.1108/00330330910998057). It covers the most recent iteration of the SWORD repository deposit standard, looks briefly at some issues around the present lack of adoption of SWORD, and most usefully presents seven use cases of SWORD written by their developers:

Lewis, S., Hayes, L., Newton-Wade, V., Corfield, A., Davis, R., Donohue, T., Wilson, S., If SWORD is the answer, what is the question?: Use of the Simple Web-service Offering Repository Deposit protocol, Program: electronic library and information systems, 2009,  Vol 43, Issue 4, pp: 407 – 418, 10.1108/00330330910998057, Emerald Group Publishing Limited

Of course a copy is available open access in our repository:


Purpose – The purpose of this paper is to describe the repository deposit protocol, Simple Web-service Offering Repository Deposit (SWORD), its development iteration, and some of its potential use cases. In addition, seven case studies of institutional use of SWORD are provided.

Design/methodology/approach – The paper describes the recent development cycle of the SWORD standard, with issues being identified and overcome with a subsequent version. Use cases and case studies of the new standard in action are included to demonstrate the wide range of practical uses of the SWORD standard.

Findings – SWORD has many potential use cases and has quickly become the de facto standard for depositing items into repositories. By making use of a widely-supported interoperable standard, tools can be created that start to overcome some of the problems of gathering content for deposit into institutional repositories. They can do this by changing the submission process from a “one-size-fits-all” solution, as provided by the repository’s own user interface, to customised solutions for different users.

Originality/value – Many of the case studies described in this paper are new and unpublished, and describe methods of creating novel interoperable tools for depositing items into repositories. The description of SWORD version 1.3 and its development give an insight into the processes involved with the development of a new standard.

The seven case studies include a thesis submission system, a SWORD plugin for moodle, an automated laboratory data repository deposit tool, a desktop deposit tool, the BibApp repository integration module, a custom deposit tool for a technical report series, and the Facebook SWORD deposit tool.pass-cracker

SWORD PHP Library version 0.9 released + moved to github

I have just released version 0.9 of the SWORD PHP library. It has a few fixes and changes, the most noteworthy being:

  • Changed swordappservicedocument to build the servcedocument from the xml response rather than having the swordappclient do the work. This allows the service document to be parsed at a later time.
  • Changed the swordappclient deposit method to stream the file being deposited straight from disk rather than via memory to avoid using excessive memory and potentially exceeding the PHP memory limit. I’ve successfully tested this against DSpace with deposits of 600MB CD images.
  • Added some validation to the SWAP/METS packager to allow it to cope with filenames and metadata containing ampersands

These changes have come about following bug reports from other users of the code, and from some enhancements we needed for an exciting configurable SWORD web client that we’ll be unleashing on the world in the next week or two from the University of Auckland Library.

An important change is that the new code is now stored in a git repository at github (although it can still be downloaded from

I’m new to git, so if anyone who knows git better than I do notices that I’m not using in an optimal way, I’d love to hear about

Library Mashups book – Chapter 17 now Open Access

Library Mashups book cover imageA new book ‘Library Mashups – Exploring new ways to delivery library data‘ has now been published. The book, edited by Nicole Engard, has a great list of 25 authors from all across the globe, including well known names in the library-tech world such as Tim Spalding, Ross Singer, Bess Sadler and Bonaria Biancu. The chapters cover subjects from the basics such as ‘What is a mashup?’ and ‘Making your data available to be mashed up’, to loads of very specific library-oriented chapters such as ‘Mashing up with librarian knowledge’, ‘Breaking into the OPAC’ and ‘Mashups with Worldcat affiliate services’. There is also a section of the book about interacting with other types of services such as maps, pictures and videos.

Why am I writing about this? Well, for three reasons:

1) The book is great. I’ve learned a lot from it, and have enjoyed reading it. I particularly like this quote by Tim Spalding (of in his chapter “Breaking into the OPAC”:

As a computer programmer with no experience of the library world, I figured this [helping libraries to add LibraryThing data to their catalogues] would be a simple problem to solve. Of course I found out that the library world was different. The code behind its systems was closed and unextensible, with virtually no APIs in or out.

Read his chapter to hear his experiences and answers.

2) The second reason is that I am one of the lucky authors who has been able to contribute to the book. Chapter 17 is “The Repository Mashup Map” which looks at the development of the Repository66 mashup map of Open Access repositories across the world. The chapter explores why the mashup was created, how it was created, and (hopefully) most usefully some of the design decisions that need to be taken into account when making a mashup (decisions related to when and how to download the data, how to match sources, and when and where to manipulate the data etc).

3) However, the main reason for this blog post is to say that a copy of the chapter has now been published online ‘Open Access’. You can find it in the DSpace repository we run at the University of Auckland Library:

Download URL:

I hope that you find it useful.

[UPDATE 2/Nov/2009]: Chapter 2 of the book ‘Behind the Scenes: Some Technical Details’ by Bonaria Biancu is now also available open access: