Showing posts with label OpenURL. Show all posts
Showing posts with label OpenURL. Show all posts

Wednesday, 15 August 2007

OpenURL and COinS

I've improved the bioGUID OpenURL service, based on my experience with the OpenURL Referrer extension for FireFox. This extension takes COinS links in HTML and inserts a link to an OpenURL resolver. The EDIT scratchpads being developed by Vince Smith and colleagues at the Natural History Museum contain COinS (see the APOL - Abyssal Polychaetes OnLine bibliography, for an example). I installed the OpenURL Referrer extension, but my OpenURL resolver broke. Turned out the the COinS want OpenURL 1.0, whereas I supported the much simpler version 0.1 (Caveat Lector pretty much sums up how I feel about this). Anyway, a quick hack of my code and it now works.



If you add http://bioguid.info/openurl.php as a profile, you can then use my OpenURL resolver (there's even a little button to click on at http://bioguid.info/images/openurl.png). Once installed, scratchpads such as APOL - Abyssal Polychaetes OnLine bibliography now have links to the OpenURL resolver.

Why use bioGUID's service? Well, in addition to supporting papers that have DOIs, I'm adding other sources, as mentioned earlier in this blog, and on iPhylo. Some 9000 freely available full text articles are now available through this service. There's still a lot more to do to this service, such as supporting other identifiers (e.g., PubMed and SICIs).

Thanks to Julius Welby for reminding me about COinS.

Tuesday, 29 May 2007

OpenURL resolver for Psyche



Following on from first efforts with Journal of Arachnology described on iPhylo, I've added Psyche to my OpenURL resolver. Psyche is the journal of the Cambridge Entomological Club. What makes it easy to add is that there are full text PDFs available for most articles, Jonathan Rees has created a series of XML files for each issue (e.g., 103.xml), listing metadata for each article, and the URLs for the PDFs are easy to construct from the metadata. So, it was simply a case of harvesting the XML files, extracting the metadata, and adding this to a local MySQL database.

There were some minor "gotchas", such as the presence of entities in the XML (e.g. é for the character é). These weren't declared, so I needed to stick these into each XML file:

<!ENTITY aelig "&#230;" >
<!ENTITY ldquo "&#8220;">
<!ENTITY rdquo "&#8221;">
<!ENTITY lsquo "&#8220;">
<!ENTITY rsquo "&#8221;">
<!ENTITY ouml "&#246;">
<!ENTITY uuml "&#252;">
<!ENTITY mdash "&#8212;">
<!ENTITY eacute "&#233;">
<!ENTITY euml "&#235;">
<!ENTITY oelig "&#339;">
<!ENTITY OElig "&#338;">
<!ENTITY AElig "&#198;">
<!ENTITY acir "&#226;">
<!ENTITY oacute "&#243;">
<!ENTITY iacute "&#237;">
<!ENTITY aacute "&#225;">
<!ENTITY ndash "&#8211;">
<!ENTITY atilde "&#227;">
<!ENTITY uacute "&#250;">
<!ENTITY auml "&#228;">
<!ENTITY ocirc "&#244;">

Now, my OpenURL resolver will check if you are trying to resolve a link to an article in Pysche, and if it knows where the PDF is you will be taken there. For example, this link http://bioguid.info/openurl.php?sid=paracite&aulast=Gardner&aufirst=B&atitle=Observations on three species of Phidippus jumping spiders (Araneae: Salticidae)&title=Psyche, Camb.&date=1965&year=1965&volume=72&spage=133&epage=147 goes to the PDF of this paper on Phidippus.