At last I have actually got around to doing it.
The 2.04 version of the library, if compiled
appropraitely, and linked with freeWAIS libraries
client.a and wais.a, will directly grok wais:* urls
and search and retrieve from WAIS servers.
As a quite separate thing, whether or not you have the
wais protocol linked in, there is a parser for wais
source files which, apart from formatting them a little,
puts a link to the wais index itself. So any 2.04+
client coming across a application/x-wais-source type
file (as it assumes .src files to be) will do the
necessary.
I am not 100% happy about the way it works.
Firstly, to be 100% portable it does not cache source
files, so when you follow a link to a wais database
there is nothing much to display to the user: just the
database name. This is the old problem that a wais database
does not describe itself, you have to happen to have the
source file somewhere. I am told that in Z30.50-9X
the EXPLAIN function will cover this. If in the mean time
I do cache source files, I wonder where would be a good
place to put them.
Secondly, the WAIS urls are still really messy, with stuff
in there which dosn't seem apropriate. One of the things
is the format of the data, because in wais this is returned
at search time and so (as in Gopher0 and half in Gopher+)
must be stored in the link.
BTW, does anyone have a definitive list of all WAIS type
fields and all Gopher type characters?
Anyway, the code is there for anyone who wants to play.
It may be buggy yet. You can all go write wais: URLs.
Those who don't have the wais code compiled in remember
to
setenv WWW_wais_GATE http://info.cern.ch:8001/
which should wouk on all the old clients.
(That gateway won't grok new clients bt I'll fix that)
Enjoy...
Tim