From: gilbertd@sunflower.bio.indiana.edu (Don Gilbert)
Subject: Default client values for Gopher+ Ask/Choose queries?
Organization: Biology, Indiana University - Bloomington
Date: Mon, 14 Dec 1992 17:34:51 GMT


I would like to suggest an addition to the Gopher+ protocol (hold
your moans, please :).   This will be an optional addition, so
that clients that do not implement it won't break, but those that
do may well make Gophering much nicer for their users.

In the Ask and Choose query protocols, I would like to have a
server be able to ask the client for certain user preference
values unique to that user.  These will be things like 
 person's name, e-mail address, land mail address, phone number, etc.
 
Of course we can just put up an Ask box asking for this info,
and let the user type it in.  I however would like to make life
a bit easier for the user, on the chance that some of this
personal info becomes a frequently asked question by gopher servers
(my server has some intentions there).

If the gopher server supplies a default value, with a certain
preceding symbol, then the gopher client can look into it's preference
(or .rc) file and supply appropriate user values, if they exist.

Here is how I suggest that Gopher+ servers & clients can deal
with user-specific default values in the +ASK attribute block:

    +INFO: 0inquisitive<tab>Address book selector<tab>host2<tab>port2<tab>+
    +ADMIN
     Admin: Frank Gophermeister <fng@bogus.edu>
     Mod-Date: August 15, 1992 <19920815185503>
    +ASK: 
     Ask: What is your name?<tab>$name
     Ask: What is your e-mail address?<tab>$e-mail
     Ask: What is your land mail address?<tab>$mail
     Ask: What is your organization?<tab>$organization
     Ask: What is your phone number?<tab>$phone
     Ask: What is your hat size?<tab>$hat-size
     

Then the client will look into its user preferences file,
and replace $name with a user name, $e-mail with a user e-mail
address, etc.  The user then still has the option to change
these default values before sending this data back to the
server.  If a client doesn't have a matching value, it can
present nothing as a default.

I envision using this for 

(a) links to e-mail type services
where the client can send in a request that may take a long
time to process or that needs to go elsewhere, and the server
will send the answer to the user via e-mail.

(b) a quick way to build address books at a server of the
people that use the services.

(c) possible addition of a more complete Network News-In-Gopher
service (since it seems many like to read news via gopher), which
would allow people to post/respond to news items via Gopher also
(this ain't my pidgin but others might want it).

(d) [insert your pet project here]

If this sounds useful, then client & server authors need to
agree on a syntax and some perhaps standard list of user pref
variables.  I volunteer those above as ones that will suit
my needs, and welcome other suggestions.


To refresh your memory, here is a description of Ask and Choose
from the Gopher+ protocol document:

So when the user selects a query item, the client quickly
connects to the server and requests the Attribute Information
for the item.  Then the client extracts the information in the
+ASK attribute block. Here's an example:

    +INFO: 0inquisitive<tab>moo moo selector<tab>host2<tab>port2<tab>+
    +ADMIN
     Admin: Frank Gophermeister <fng@bogus.edu>
     Mod-Date: August 15, 1992 <19920815185503>
    +ASK: 
     Ask: How many volts?
     Choose: Deliver electric shock to administrator now?<tab>Yes<tab>Not!
  
The client will use all lines in the order they appear in the
+ASK attribute block.  The content will be presented to the user
as questions or prompts or dialogs or something like that.

The "Ask" presents the user with a question, supplies a default
text answer if it exists.

The "Choose" presents the user with a few short choices; ideal
for a dialog box with a couple or three buttons.

-- 
Don Gilbert                                     gilbert@bio.indiana.edu
biocomputing office, biology dept., indiana univ., bloomington, in 47405
Newsgroups: comp.infosystems.gopher