Dear Nicky,
I would only regard (1) as a HTTP proxy, as it can take any LSID and resolve it. Hence, a proxy needs all the paraphernalia of DNS SRV, WSDL, etc.
If you only want to provide a clickable link to the LSID metadata, then it's not really a proxy, it's a URL. I notice that Zoobank has URLs like this:
http://zoobank.org:80/?lsid=urn:lsid:zoobank.org:act:6FFAFC2C-D46B-4959-BA03...
which could be rewritten to something cleaner, as you suggest. Rich Pyle has been clever, in that if I try
http://zoobank.org:80/?lsid=urn:lsid:ipni.org:names:20012728-1:1.1
I get bounced to
http://lsid.tdwg.org/summary/urn:lsid:ipni.org:names:20012728-1:1.1
which means if the user tries to use http://zoobank.org:80/?lsid= as a general LSID proxy, they don't get an ugly error, they still get what they were after (albeit not served from Zoobank).
Perhaps this would be the simplest thing for IPNI to implement?
Regards
Rod
On 21 Apr 2009, at 17:41, Nicola Nicolson wrote:
Hi,
I've been looking into setting up an HTTP proxy for the ipni.org LSIDs. I've read the usage recommendations at http://wiki.tdwg.org/twiki/bin/view/GUID/LsidHttpProxyUsageRecommendation but want to ask a question re the design of the proxy itself, ie: Should an HTTP proxy for LSIDs behave as: (1) a webapp that acts as an LSID "client" or (2) a mechanism to issue redirects to the metadata address as specified in the LSID authority WSDL The latter is simple - I can just set up a mod_rewrite rule so that http://lsid.ipni.org/%5Blsid] is redirected to the HTTP URL for the metadata for the specified LSID. This will of course only work for LSIDs for which ipni.org is the authority, but I think that is OK. If the former, I'll need to encode the resolution process: ie parse the LSID, extract the authority, do the DNS lookup, get the WSDL, construct the address etc, BUT it will mean that the HTTP LSID proxy is dependent upon correct functioning of the LSID infrastructure (DNS SRV records, authority WSDL etc). I guess the TDWG LSID proxy behaves this way, but that is to be expected as it can be used as an HTTP proxy for *any* LSID. In summary option (1) treats the proxied LSID as *an LSID*, the other really just treats it as a character string. Which is preferred? cheers, Nicky
- Nicola Nicolson
- Science Applications Development,
- Royal Botanic Gardens, Kew,
- Richmond, Surrey, TW9 3AB, UK
- email: n.nicolson@rbgkew.org.uk
- phone: 020-8332-5766
tdwg-tag mailing list tdwg-tag@lists.tdwg.org http://lists.tdwg.org/mailman/listinfo/tdwg-tag
--------------------------------------------------------- Roderic Page Professor of Taxonomy DEEB, FBLS Graham Kerr Building University of Glasgow Glasgow G12 8QQ, UK
Email: r.page@bio.gla.ac.uk Tel: +44 141 330 4778 Fax: +44 141 330 2792 AIM: rodpage1962@aim.com Facebook: http://www.facebook.com/profile.php?id=1112517192 Twitter: http://twitter.com/rdmpage Blog: http://iphylo.blogspot.com Home page: http://taxonomy.zoology.gla.ac.uk/rod/rod.html