[gopher] Proposal for a gopher++ TITLE resource
Kim Holviala
kim at holviala.com
Thu Apr 1 11:43:02 UTC 2010
A proposal for a method to include titles in gopher++ menus
===========================================================
1. The problem
Gopher0 (RFC 1436) menus have no titles. When one is browsing around the
gopherspace this make no difference, but it is a big problem for
bookmarking and for automated crawlers like Veronica-2.
2. Gopher++ TITLE resource definition
A TITLE resource in a gopher++ menu is defined as follows:
type - "i" (without quotes)
name - the actual text of the title
selector - "TITLE" (without quotes)
host,port - dummy values
A TITLE resource is identical to a regular info resource, only the
selector is set to a specific string, "TITLE".
An example of a TITLE resource:
iTitle for this Gopher resource<TAB>TITLE<TAB>dummy.host<TAB>0
3. Conforming client requirements
Conforming clients will use the first info resource with the word
"TITLE" in the selector as the title of the menu. All following TITLE
resources should be ignored.
Non-conforming clients will see a normal info resource and present it as
normal informational text. This provides near-perfect backwards
compatibility.
4. Conforming server requirements
Conforming server may include a TITLE resource as the first line of any
menu it provides to the client. A server should not send more than one
TITLE resource as a conforming client will ignore all but the first one.
5. Compatibility
The TITLE resource described here should be fully backwards compatible
with both old gopher servers and clients.
If an non-conforming server supports gophermaps, it's possible for an
author to include TITLE resources even if the server doesn't
specifically support them.
If a non-conforming client receives a TITLE resouce, it will simply
render it as informational text. As the TITLE should be on the first
line of any menu it will look like a title to the user even if the
client doesn't specifically render it as such.
6. Example code
The Gophernicus Server version 0.5-beta (and later) automatically
inserts TITLE resources for all menus where a gophermap doesn't exist.
There is also a patch for the NSCA Mosaic 2.7ck8 gopher client which
adds support for parsing & rendering the TITLE resources.
gopher://gophernicus.org/1/software/gophernicus/server/
gopher://gophernicus.org/1/software/patches/gopher++/
More information about the Gopher-Project
mailing list