MediaWiki Extension: Pubmed
The Pubmed extension can fetch literature data from scientific articles stored in PubMed (www.pubmed.org), and generate a reference list or box. The extension can create, in addition to the primary data like author, article title, journal, year, pages, etc., links like back to PubMed or to WorldCat.org by ISSN or to the full text at the publisher's page (if a DOI is specified). Further links can be defined using the layout template.
<pubmed> 15980568 </pubmed> will result:
Andreas Bohne-Lang, Wolf-Dieter Groch, Rene Ranzinger
AISMIG--an interactive server-side molecule image generator.
Nucleic Acids Res.: 2005, 33(Web Server issue);W705-9
[PubMed:15980568] [WorldCat.org] [DOI] (I p)
The extension ist hosted on http://www.mediawiki.org/wiki/Extension:Pubmed
URN checksum calculation
The checksum can be calculated with one line of code in PHP :-)
# Andreas Bohne-Lang / 2016
# Compact URN checksum calculation (in:$test_urn, out:$purn)
# Distributed by CC0
for($code="3947450102030405060708094117############1814191516212223242542262713282931123233113435363738########43", $i=$sum=0, $pos=1; $i<strlen($test_urn); $i++, $sum += ($v1==0)?$v2*$pos++:$pos++*$v1+$v2*$pos++, $purn=$sum/$v2 % 10) list($v1,$v2)=[substr($code,(ord(strtoupper(substr($test_urn,$i,1)))-45)*2,1),substr($code,(ord(strtoupper(substr($test_urn,$i,1)))-45)*2+1,1)];
printf("%s %s => %s (%s)\n", $test_urn,$purn,$test_urn.$purn,$test_urn.$purn==$test_org?"OK":"Error");
Libsquid - A proof of concept
A software for libraries to manage e-media access to publisher URLs using free open source software.
LibSquid is a proof-of-concept that should demonstrate that free standard open source software can be used in libraries to manage access to licensed e-media content on publisher web pages - like OCLC's EZProxy does.
Using this software a library can offer access to e-media on subscribed publishers' pages for their users who are working from home. The software supports a free API for authentication and authorization.
Download: LibSquid.v10.tgz (Version 1.0 from Feb. 2012)
The idea is to use a combination of Squid and Apache to do this job. Apache provides a proxy.pac file that contains the licensed publishers' URLs. Squid holds this list as well and forwards content to the users'
browsers if the respective request is allowed.
- only free open source software is used
- only requests to subscribed publishers' URLs pass the proxy
- users are automatically perceived as users belonging to the university IP range
- proxy.pac files can be used on operation system level
- no problems with dynamic web pages that encode URLs on-the-fly
- authentication/authorization using a library system is technically possible
- proxy.pac file has to be set in browser manually
- only possible if no other proxy.pac file exists
- proxy.pac file can be large
- white list of allowed domains has to be kept up to date
- no data encryption between browser and squid by default (at the moment only possible by stunnel)
- by default the user can not see on which way (directly or by Squid proxy) he/she accesses a page
LibSquid components are compiled from sources and by default configured to a system that listens only on localhost on the server. Thus it can be tested without opening a firewall (no risk). For testing you can use a ssl-tunnel to the localhost. (Windows user can use Putty for ssh connection to the server.)
Difference to rewriting reverse proxies like EZProxy: these software is rewriting URLs (rewriting proxy) whereas our concept is using the pac (proxy auto-config) file in combination with a reverse proxy. Thus the administrator has to check if it is an alternative.
Tested on Debian Sparc64 Linux, Debian x86 Linux and Solaris 9.
Please cite it with:
E-Medienzugriffsregelung mit Open Source Software - LibSquid
ABI-Technik, 2012, 32 (3), 135-140