I been learning SFX administration - adding some features here and there... last week I added the Google Books covers service - which turned out to be quite satisfactory. It got me thinking that there must be a similar service for journal covers. Apparently not.
However, some colleagues in the Twitterverse recommended using the journal covers supplied by Elsivier. It's not an API call, nor am I able to directly call the images remotely - but I have some space - so I decided to download and link them locally.
All the files are named XXXXXXXX.gif - where XXXXXXXX is the ISSN of the journal. (I've since renamed the files to XXXX-XXXX.gif to support the way that SFX deals with ISBN's). After downloading and untarring the image files, I placed them in a web-accessible directory.
Then, it was simply a matter of linking, unobtrusively, to the images in SFX (or presumably from any application that deals with ISSN's). For SFX, I inserted the following - but this code would work for any page as long as you can insert the desired ISSN in the appropriate places:
<!-- SKA EXPERIMENTAL - Adding journal cover images -->In my case, I inserted this code in sfxmenu.tmpl, just after the area where the Google Books cover would load. The <TMPL_IF ISSN> prevents this portion from being rendered if the item in question does not have an identified ISSN (for example - if it were a book, or other work).
<!-- Will show image if available, or will show 0 height 1px image otherwise -->
<!-- Note: Without Javascript in IE, will show no-image icon if image does not exist -->
<TMPL_IF ISSN>
<a href="http://lab.cisti-icist.nrc-cnrc.gc.ca/anthonys/journalcover/<TMPL_VAR NAME="ISSN" ESCAPE='HTML'>.gif">
<img src="http://myserver.mydomain.ca/journalcovers/<TMPL_VAR NAME="ISSN" ESCAPE='HTML'>.gif" height=90 alt="" onerror="this.src='http://myserver.mydomain.ca/journalcovers/px.gif'; this.height='0';">
</a>
</TMPL_IF>
<!-- END SKA EXPERIMENTAL -->
One could certainly that the portions - removing the <TMPL> portions that are specific to SFX, and insert this code anywhere. In most cases, if the ISSN image is not available, it will display px.gif (which is a 1 pixel white image). In Firefox it's totally transparent - but in IE, it will show a broken image if the ISSN image is not found - and the user has disabled JavaScript. I hope to resolve that problem eventually.
Some examples:
Example 3 (No cover available)