Thursday, 24 November 2011

New issue of Amicus Curiae in SAS Open Journals

I'm delighted to be able to say that issue 86 of Amicus Curiae is now available. This is the first issue that was 'born' within the SAS Open Journals system, and safely deposited from there into the SAS-Space repository. It includes articles from Vernon Bogdanor on the coalition government's constitutional reforms; and on the European Convention on Human Rights, the history of copyright law, fictional courtroom film as a teaching resource, and on recent change to insurance law.

Wednesday, 2 November 2011

Integrating OJS and SNEEP

A little while ago I blogged about the implementation of SNEEP (Social Networking Extensions for Eprints) in the SAS-Space repository.With thanks to Rory McNicholl, here is a report on the next step. Rory writes:

"The next step was to integrate SNEEP content from SAS-Space into the OJS interface. Thankfully SNEEP has a RESTful API (more than by happy accident than by design), so making requests of it was reasonably straightforward. A proxy script (sneep_proxy.php) that utilised cURL was added to the OJS docroot to deal with any inter-domain AJAX requests. Using the SWORD-deposit condition within the OJS article template the necessary javascript and html was inserted. This allowed OJS to display tags and comments associated with the repository item. See it in action here.

There is a caveat: this rather simple integration with SNEEP only uses the publicly accessible content and functions. The private notes that users can add in SAS-Space are not displayed. Neither is it yet possible for users to add tags and comments in OJS directly. 

Further integration of SNEEP and OJS would require more work on the sharing of authentication. Single sign-on for SNEEPish authentication was one of the matters explored in the JJISC-funded PICT project. However in this case we wanted the user-generated content to be the same between the OJS and Repository pages; a different relationship to the one set up by PICT. In this particular case, the fact that both SAS-Space and SAS Open Journals use the University of London LDAP authentication server may mean that there is scope for overcoming SNEEP user-identification-from-a-far, with further work, with different funding.

Tuesday, 1 November 2011

Making OJS and EPrints play nicely

Our main tasks at ULCC during the SAS Open Journals project were

- to set-up the instance of PKP's OJS software
- to enable SWORD deposits to the SAS-Space repository
- to configure OJS such that digital objects were referenced from the repository where possible.

The first two steps were straightforward enough. We installed OJS-2.3.4 which has a generic SWORD plugin. However in order to retain as much metadata richness as possible during the SWORD transfer we opted to use EPXML to describe the object rather than METS. Although the generic SWORD plugin only deposited using METS, we were comfortable in forgoing using the METS standard since there was only to be a single deposit point (SAS-Space) and deposits would be managed solely by OJS administrators.

The changes made to OJS mentioned below and in "Integrating OJS and SNEEP"  can be obtained at the project site:

in the form of a patch and some additions to OJS-2.3.4


A form field (formatNS) was added to the deposit point template plugins/generic/sword/depositPointForm.tpl. This allowed the administrator to specify the schema used to describe the item metadata. Values for this can be "" or the default "".  Changes were made to plugins/generic/sword/ to handle this new form field and  to classes/sword/ to make a decision on the sort of XML file to be included in the SWORD deposit package based on the new parameter. The file lib/pkp/lib/swordapp/packager_epxml_swap.php was added and this handled the construction on the EPXML file.

Another issue we faced using the generic SWORD plug-in was that it did not appear to store information on deposit items within the OJS system. This was essential in order to allow objects to be referenced by OJS from the repository. To achieve this we cannibalised an old version of the SWORD OJS plugin and added classes/sword/ which allowed us to keep a record of deposited items within OJS.

With this record in the OJS system we could add a getSwordDeposit function to classes/article/ which would check to see if a SWORD deposit was available and that the address recorded for the file resolved, before redirecting requests to the repository.

And then, finally, some changes to the article template, and the first three tasks were complete.

There is however a caveat: the embedded plugin PDF viewer, invisibly redirecting to a third party (ie SAS-Space) seemed to fall foul of some browser's security regimes. If the security was based on the domain, then we were on safe ground as the redirect was from the journal domain ( to the repository ( However Internet Explorer (at least, as installed on SAS desktop machines) did not seem to like the redirect within the embedded viewer. For this we implemented a fall back to the local OJS copy.