Re: URL +1, LSID -1

    Wow, that's a bunch of errors!

    Yes, someone else had already mentioned that collecting the right 
jar files was a challenge. A decent build script would take care of that.

     Also, I would say that one should never get exceptions like "array 
out of bounds" from a library like the LSID stack. You should instead 
get exceptions such as "Authority not found" or "invalid LSID" out of 
the stack, that you then treat and present to your user. So that's is 
definitely one point for improvement of that code. Maybe we should set 
up some unit/smoke JUnit tests to make some improvement in that front.

     I am now curious to know what would have happened if you had chosen 
HTTP instead of SOAP to resolve those ids. I know that several of those 
authorities only implemented resolution over HTTP. Other LSIDs are just 
broken as I said in my previous email. But as I said in the paragraph 
above, the toolkit should tell you what is broken about them, and not 
say "array out of bounds".

    Anyway, thanks much for being more specific. That was really 
valuable feedback.

    Cheers,

Ricardo


Benjamin Good wrote:
> Hi Ricardo,
>
>  The only real problems were tracking down all of the relevant jar 
> files.  In particular, the javadns file was problematic because the 
> link in the client doc was broken.  I missed the "old" directory the 
> first time I went to http://www.dnsjava.org/download/ and hence could 
> not find the version used in the lsid client (1.3.2).  The code failed 
> at various places with different (much more recent) versions of this 
> jar.  I think, all that is really needed is a decent build script to 
> pull in all of the relevant third party jar files and to update the 
> lsid code to reflect changes in them.  A better documented and tested 
> client program would be nice (with working examples), but I managed to 
> get theirs going so it must not be that bad :).   These issues are 
> just basic tasks for a "living" software project - happy to hear that 
> you are tending to this.
>
> I tested a few of the examples you sent, but didn't get much 
> satisfaction (lots of different errors though!): Below are the results 
> produced using the testAuthority method in the LSIDTestClient class.
>
> System.err.println(testAuthority("urn:lsid:gdb.org:GenomicSegment:GDB132938",SOAP));
>
> Retrieving document at 'localhost'.
> Retrieving document at 'LSIDAuthorityServiceHTTPBindings.wsdl', 
> relative to 'localhost'.
> Retrieving document at 'LSIDPortTypes.wsdl', relative to 
> 'LSIDAuthorityServiceHTTPBindings.wsdl'.
> Retrieving document at 'LSIDAuthorityServiceSOAPBindings.wsdl', 
> relative to 'localhost'.
> Retrieving document at 'LSIDPortTypes.wsdl', relative to 
> 'LSIDAuthorityServiceSOAPBindings.wsdl'.
> Retrieving document at 'localhost'.
> Retrieving document at 'LSIDDataServiceHTTPBindings.wsdl', relative to 
> 'localhost'.
> Retrieving document at 'LSIDPortTypes.wsdl', relative to 
> 'LSIDDataServiceHTTPBindings.wsdl'.
> Retrieving document at 'LSIDDataServiceSOAPBindings.wsdl', relative to 
> 'localhost'.
> Retrieving document at 'LSIDPortTypes.wsdl', relative to 
> 'LSIDDataServiceSOAPBindings.wsdl'.
> urn:lsid:gdb.org:GenomicSegment:GDB132938
> Error: 0
> java.lang.ArrayIndexOutOfBoundsException: 0
> at 
> com.ibm.lsid.client.LSIDResolver.getMetadataFromPort(LSIDResolver.java:717)
> at com.ibm.lsid.client.LSIDResolver.getMetadata(LSIDResolver.java:553)
> at com.ibm.lsid.client.LSIDResolver.getMetadata(LSIDResolver.java:524)
> at LSIDTestClient.testAuthority(LSIDTestClient.java:213)
> at LSIDTestClient.main(LSIDTestClient.java:167)
>
> System.err.println(testAuthority("urn:lsid:ubio.org:classificationbank:1164063",SOAP));
>
> Retrieving document at 'localhost'.
> urn:lsid:ubio.org:classificationbank:1164063
> Error: null
> java.lang.NullPointerException
> at 
> com.ibm.lsid.wsdl.LSIDWSDLWrapper.extractPorts(LSIDWSDLWrapper.java:785)
> at com.ibm.lsid.wsdl.LSIDWSDLWrapper.<init>(LSIDWSDLWrapper.java:178)
> at 
> com.ibm.lsid.client.LSIDResolver.resolveAuthority(LSIDResolver.java:157)
> at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:761)
> at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java:331)
> at LSIDTestClient.testAuthority(LSIDTestClient.java:209)
> at LSIDTestClient.main(LSIDTestClient.java:168)
>
> System.err.println(testAuthority("urn:lsid:tdwg.gbif.org:dharma:10298322400",SOAP));
>
> Error getting WSDL for authority: null, will attempt default bindings
> urn:lsid:tdwg.gbif.org:dharma:10298322400
> Error: 500 :  Root Cause: org.apache.axis.AxisFault ; nested exception 
> is: 
> java.net.UnknownHostException: tdwg.gbif.org
> com.ibm.lsid.LSIDException: 500 :  Root Cause: 
> org.apache.axis.AxisFault ; nested exception is: 
> java.net.UnknownHostException: tdwg.gbif.org
> at com.ibm.lsid.soap.SOAPUtils.processAxisFault(SOAPUtils.java:119)
> at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:857)
> at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:774)
> at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java:331)
> at LSIDTestClient.testAuthority(LSIDTestClient.java:209)
> at LSIDTestClient.main(LSIDTestClient.java:169)
> printStackTrace(pw): com.ibm.lsid.LSIDException
> STACK TRACE FOR INNER EXCEPTION: org.apache.axis.AxisFault
> AxisFault
>  faultCode: 
> {http://schemas.xmlsoap.org/soap/envelope/}Server.userException 
> <http://schemas.xmlsoap.org/soap/envelope/%7DServer.userException>
>  faultSubcode: 
>  faultString: java.net.UnknownHostException: tdwg.gbif.org
>  faultActor: 
>  faultNode: 
>  faultDetail: 
> {http://xml.apache.org/axis/}stackTrace:java.net.UnknownHostException 
> <http://xml.apache.org/axis/%7DstackTrace:java.net.UnknownHostException>: 
> tdwg.gbif.org
> at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
> at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:430)
> at java.net.Socket.connect(Socket.java:516)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at 
> org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:135)
> at 
> org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:99)
> at 
> org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:131)
> at 
> org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:370)
> at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:88)
> at 
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
> at org.apache.axis.client.AxisClient.invoke(AxisClient.java:147)
> at org.apache.axis.client.Call.invokeEngine(Call.java:2719)
> at org.apache.axis.client.Call.invoke(Call.java:2702)
> at org.apache.axis.client.Call.invoke(Call.java:2378)
> at org.apache.axis.client.Call.invoke(Call.java:2301)
> at org.apache.axis.client.Call.invoke(Call.java:1758)
> at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:840)
> at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:774)
> at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java:331)
> at LSIDTestClient.testAuthority(LSIDTestClient.java:209)
> at LSIDTestClient.main(LSIDTestClient.java:169)
>
> {http://xml.apache.org/axis/}hostname:Benjamin-Goods-Computer.local 
> <http://xml.apache.org/axis/%7Dhostname:Benjamin-Goods-Computer.local>
>
> java.net.UnknownHostException: tdwg.gbif.org
> at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
> at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:97)
> at 
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
> at org.apache.axis.client.AxisClient.invoke(AxisClient.java:147)
> at org.apache.axis.client.Call.invokeEngine(Call.java:2719)
> at org.apache.axis.client.Call.invoke(Call.java:2702)
> at org.apache.axis.client.Call.invoke(Call.java:2378)
> at org.apache.axis.client.Call.invoke(Call.java:2301)
> at org.apache.axis.client.Call.invoke(Call.java:1758)
> at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:840)
> at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:774)
> at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java:331)
> at LSIDTestClient.testAuthority(LSIDTestClient.java:209)
> at LSIDTestClient.main(LSIDTestClient.java:169)
> Caused by: java.net.UnknownHostException: tdwg.gbif.org
> at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
> at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:430)
> at java.net.Socket.connect(Socket.java:516)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at 
> org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:135)
> at 
> org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:99)
> at 
> org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:131)
> at 
> org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:370)
> at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:88)
> ... 14 more
>
> System.err.println(testAuthority("urn:lsid:lsid.zoology.gla.ac.uk:predicates:isBasionymOf",SOAP));
>
> Retrieving document at 'localhost'.
> urn:lsid:lsid.zoology.gla.ac.uk:predicates:isBasionymOf
> Error: null
> java.lang.NullPointerException
> at 
> com.ibm.lsid.wsdl.LSIDWSDLWrapper.extractPorts(LSIDWSDLWrapper.java:785)
> at com.ibm.lsid.wsdl.LSIDWSDLWrapper.<init>(LSIDWSDLWrapper.java:178)
> at 
> com.ibm.lsid.client.LSIDResolver.resolveAuthority(LSIDResolver.java:157)
> at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:761)
> at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java:331)
> at LSIDTestClient.testAuthority(LSIDTestClient.java:209)
> at LSIDTestClient.main(LSIDTestClient.java:170)
>
> System.err.println(testAuthority("urn:lsid:ipni.org:names:30000959-2",SOAP));
>
> Error getting WSDL for authority: null, will attempt default bindings
> urn:lsid:ipni.org:names:30000959-2
> Error: 500 :  Root Cause: org.apache.axis.AxisFault ; nested exception 
> is: 
> java.net.ConnectException: Operation timed out
> com.ibm.lsid.LSIDException: 500 :  Root Cause: 
> org.apache.axis.AxisFault ; nested exception is: 
> java.net.ConnectException: Operation timed out
> at com.ibm.lsid.soap.SOAPUtils.processAxisFault(SOAPUtils.java:119)
> at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:857)
> at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:774)
> at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java:331)
> at LSIDTestClient.testAuthority(LSIDTestClient.java:209)
> at LSIDTestClient.main(LSIDTestClient.java:171)
> printStackTrace(pw): com.ibm.lsid.LSIDException
> STACK TRACE FOR INNER EXCEPTION: org.apache.axis.AxisFault
> AxisFault
>  faultCode: 
> {http://schemas.xmlsoap.org/soap/envelope/}Server.userException 
> <http://schemas.xmlsoap.org/soap/envelope/%7DServer.userException>
>  faultSubcode: 
>  faultString: java.net.ConnectException: Operation timed out
>  faultActor: 
>  faultNode: 
>  faultDetail: 
> {http://xml.apache.org/axis/}stackTrace:java.net.ConnectException 
> <http://xml.apache.org/axis/%7DstackTrace:java.net.ConnectException>: 
> Operation timed out
> at java.net.PlainSocketImpl.socketConnect(Native Method)
> at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
> at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
> at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
> at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:430)
> at java.net.Socket.connect(Socket.java:516)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at 
> org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:135)
> at 
> org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:99)
> at 
> org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:131)
> at 
> org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:370)
> at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:88)
> at 
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
> at org.apache.axis.client.AxisClient.invoke(AxisClient.java:147)
> at org.apache.axis.client.Call.invokeEngine(Call.java:2719)
> at org.apache.axis.client.Call.invoke(Call.java:2702)
> at org.apache.axis.client.Call.invoke(Call.java:2378)
> at org.apache.axis.client.Call.invoke(Call.java:2301)
> at org.apache.axis.client.Call.invoke(Call.java:1758)
> at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:840)
> at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:774)
> at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java:331)
> at LSIDTestClient.testAuthority(LSIDTestClient.java:209)
> at LSIDTestClient.main(LSIDTestClient.java:171)
>
> {http://xml.apache.org/axis/}hostname:Benjamin-Goods-Computer.local 
> <http://xml.apache.org/axis/%7Dhostname:Benjamin-Goods-Computer.local>
>
> java.net.ConnectException: Operation timed out
> at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
> at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:97)
> at 
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
> at org.apache.axis.client.AxisClient.invoke(AxisClient.java:147)
> at org.apache.axis.client.Call.invokeEngine(Call.java:2719)
> at org.apache.axis.client.Call.invoke(Call.java:2702)
> at org.apache.axis.client.Call.invoke(Call.java:2378)
> at org.apache.axis.client.Call.invoke(Call.java:2301)
> at org.apache.axis.client.Call.invoke(Call.java:1758)
> at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:840)
> at com.ibm.lsid.client.LSIDResolver.fetchWSDL(LSIDResolver.java:774)
> at com.ibm.lsid.client.LSIDResolver.getWSDLWrapper(LSIDResolver.java:331)
> at LSIDTestClient.testAuthority(LSIDTestClient.java:209)
> at LSIDTestClient.main(LSIDTestClient.java:171)
> Caused by: java.net.ConnectException: Operation timed out
> at java.net.PlainSocketImpl.socketConnect(Native Method)
> at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
> at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
> at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
> at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:430)
> at java.net.Socket.connect(Socket.java:516)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at 
> org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:135)
> at 
> org.apache.axis.components.net.DefaultSocketFactory.create(DefaultSocketFactory.java:99)
> at 
> org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:131)
> at 
> org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:370)
> at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:88)
> ... 14 more
>
> and just to show that it can possibly work
>
> System.err.println(testAuthority("urn:lsid:biomoby.org:objectclass:DNASequence:2001-09-21T16-00-00Z",SOAP));
>
> Retrieving document at 'localhost'.
> Retrieving document at 'LSIDAuthorityServiceHTTPBindings.wsdl', 
> relative to 'localhost'.
> Retrieving document at 'LSIDPortTypes.wsdl', relative to 
> 'LSIDAuthorityServiceHTTPBindings.wsdl'.
> Retrieving document at 'LSIDAuthorityServiceSOAPBindings.wsdl', 
> relative to 'localhost'.
> Retrieving document at 'LSIDPortTypes.wsdl', relative to 
> 'LSIDAuthorityServiceSOAPBindings.wsdl'.
> Retrieving document at 'localhost'.
> Retrieving document at 'LSIDDataServiceHTTPBindings.wsdl', relative to 
> 'localhost'.
> Retrieving document at 'LSIDPortTypes.wsdl', relative to 
> 'LSIDDataServiceHTTPBindings.wsdl'.
> Retrieving document at 'LSIDDataServiceSOAPBindings.wsdl', relative to 
> 'localhost'.
> Retrieving document at 'LSIDPortTypes.wsdl', relative to 
> 'LSIDDataServiceSOAPBindings.wsdl'.
> urn:lsid:biomoby.org:objectclass:DNASequence:2001-09-21T16-00-00Z
> metadata bytes read: 4665
> metadata expires: Thu Jul 12 06:02:56 PDT 2007
> metadata format: application/xml+rdf
> Data Read: 2472 bytes of data.
>
>
>
>
> On Jul 12, 2007, at 12:20 PM, Ricardo Pereira wrote:
>
>>     Dear Benjamin,
>>
>>     Please see my answers below (inline).
>>
>> Benjamin Good wrote:
>>> I managed to get the Java client code from IBM 
>>> (http://tinyurl.com/2hvjf6 ) running this morning, but a) it was a pain 
>> Maybe we should make the client libraries easier to use. I don't know 
>> exactly how easy it is to use the resolution (client) part of the 
>> Java stack, but the Perl one is dead simple to use.
>>
>> In any case, could you please be more specific and tell us (of just 
>> me off list if you want) what were the major hurdles you had to hop? 
>> That will help us address the issues more quickly.
>>> and b) of the few lsids I had on hand, only one of them worked.
>> Did you try and test these LSIDs on Rod Page's LSID tester 
>> (http://linnaeus.zoology.gla.ac.uk/~rpage/lsid/tester/) or the TDWG 
>> LSID on-line resolver (http://lsid.tdwg.org/)? Many LSIDs, especially 
>> those from BioPathways are "broken" after they've switched off their 
>> LSID site.
>>
>> In any case, here are a few that work:
>>
>> urn:lsid:col2005.gbif.org:col2005:tc-(t.1246388)(d.)(cn.)(r.) 
>> <http://linnaeus.zoology.gla.ac.uk/%7Erpage/lsid/tester/?q=urn:lsid:col2005.gbif.org:col2005:tc-%28t.1246388%29%28d.%29%28cn.%29%28r.%29>
>> urn:lsid:ubio.org:namebank:11815 
>> <http://linnaeus.zoology.gla.ac.uk/%7Erpage/lsid/tester/?q=urn:lsid:ubio.org:namebank:11815>
>> urn:lsid:lsid.zoology.gla.ac.uk:predicates:isBasionymOf 
>> <http://linnaeus.zoology.gla.ac.uk/%7Erpage/lsid/tester/?q=urn:lsid:lsid.zoology.gla.ac.uk:predicates:isBasionymOf>
>> urn:lsid:tdwg.gbif.org:dharma:10298322400 
>> <http://linnaeus.zoology.gla.ac.uk/%7Erpage/lsid/tester/?q=urn:lsid:tdwg.gbif.org:dharma:10298322400>
>> urn:lsid:ubio.org:namebank:11815 
>> <http://lsid.tdwg.org/urn:lsid:ubio.org:namebank:11815>
>> urn:lsid:ubio.org:classificationbank:1164063 
>> <http://lsid.tdwg.org/urn:lsid:ubio.org:classificationbank:1164063>
>> urn:lsid:indexfungorum.org:Names:213649 
>> <http://lsid.tdwg.org/urn:lsid:indexfungorum.org:Names:213649>
>> urn:lsid:gdb.org:GenomicSegment:GDB132938 
>> <http://lsid.tdwg.org/urn:lsid:gdb.org:GenomicSegment:GDB132938>
>> urn:lsid:ipni.org:names:30000959-2 
>> <http://lsid.tdwg.org/urn:lsid:ipni.org:names:30000959-2>
>>
>> There are more LSIDs that work listed at: 
>> http://lsids.sourceforge.net/resources/authorities/
>>
>>> I'm pretty new (and hesitant to join) the standards wars, but I 
>>> think there is really a lot of power in the "he who codes first [and 
>>> best]" wins" argument.  For those of you arguing for the adoption of 
>>> LSIDs, IMHO, the most powerful thing you could really do at this 
>>> point would be to step up and take over the development of the (as 
>>> far as I can tell) abandoned code stack at the often-discussed 
>>> sourceforge site.   Given their experience using lsids, the BioMoby 
>>> team (sorry Ed..) is really the most likely candidate to do this 
>>> effectively.
>> You are absolutely right. However, we, from the biodiversity 
>> information community, are also interested pushing LSIDs forward. We 
>> have now updated the LSID website (now at http://lsids.sf.net - to be 
>> formally annouced shortly) and created a new SF developer site 
>> (http://sf.net/projects/lsids) to carry out new development.
>>
>> On the source code front, we have some colleagues who have modified 
>> the Java stack to work with their WebWork/Struts server. We will take 
>> a look at their work and try to make it more general so others can use.
>>
>> You will definitely hear more about all this shortly.
>>
>> Cheers,
>>
>> Ricardo
>>
>>
>

Received on Thursday, 12 July 2007 22:43:49 UTC