Copyright: (c) CopyRight Martyn Hampson 1993


HGopher Help CONTENTS

  HGopher contents page

User Guide
Read this first.
Basic Usage.
Gopher items that are not documents.
Copying to file.
Gopher Plus Usage.
Using Book Marks.
About Viewers.
Setting preferred Views.
Ask Processing.
Gopher Symbols.
Reference Manual
Gopher Main Screen.
Commands Menu.
Options Menu.
Book Mark Menu.
Gopher Set Up Dialog.
Network Dialog.
Viewer Dialog.
Language Dialog.
Server Dialog.


Read this first
Please read these sections they contain Important Information
What is a Gopher.
What is Gopher+.
What is WinSock.
What is HGopher and HNGopher.
Jump Start Installation.
Bugs and Queries.
Licensing.


The Gopher Set Up Dialog
Click on different areas of the dialog image to find out what they do.


On discovering a directory that has Gopher+ items, HGopher will fetch all the attributes back for those items, even if this requires a second connection to the server.


If HGopher knows (from a previous fetch) that a directory contains Gopher+ items it will fetch all the attributes for those items. However if it finds Gopher+ items in a non Gopher+ directory it will simply mark them with a Plus Symbol. You can then fetch the attributes back explicitly.


HGopher will not retrieve the attributes on a Gopher+ item. It will simply mark them with a Plus symbol and you can fetch them back yourself it you wish.


Restore the setting from the those last saved.


The host name of the gopher server that HGopher will connect to when it is first started. If this is set to NULL then HGopher will display the Initial Bookmark file


Reset the set up options (just the Gopher Setup dialog actually) to a default "out of the box" setting. Only useful if you get in a pickle.


A Bookmark file to be loaded on start up. Bookmark files can be created and edited during normal gopher usage. See the Bookmarks section for details.


You can set this to a gopher Selector and on start up gopher will connect to the Initial Gopher Server and present this string. It is normally NULL but can be set to a value if you don't wish to start at the top level of a Gopher server.


What HGopher displays as the title when it connects to the Initial Gopher Server.


When processing an ASK Item that requires a file upload this option informs HGopher to send the file length encoded. This allows HGopher to send binary as well as text files. However some servers do not seem to support this, therefore the default is to Send ASCII.


HGopher will use the current setting for this session. To save your setting between sessions hit the SAVE button.


This is the TCP/IP port number to contact the Initial Gopher Server on. It is normally the number 70 but it can be any number.


This button saves the current setting so that gopher will use them next session. You will not actually start to use them now until you hit OKAY. If you hit CANCEL instead you will continue to use the old setting,  however this does not undo the save. Once you have saved thats it.


Turns Ask Processing on or off. With ASK processing turned on some gopher+ servers may ask you questions before sending you a document. As shipped ASK processing is turned off, this is because for the novice it can be confusing and insecure. NEVER EVER type in your password no matter what the flipping Gopher server says.


This is the name of a directory where HGopher can write temp file too. In order for HGopher to work this directory must exist and be writable. As some gopher documents may be quite large please make sure you have a reasonable amount of disk space in this directory. If the disk fills up while HGopher is writing to it we just hang. HGopher tries hard to delete temp files it creates when the Viewer has finished with them (but there may be a delay of up to a minute). However if you have not closed the viewer when you exit HGopher the temp files will stay around for ever. Its a good idea to remove any garbage files in this directory once in a while (when HGopher not running).


When processing an ASK Item that requires a file upload this option informs HGopher to send the file terminated with a period. This does not allow you to send binary files but it appears to be all that some gopher servers understand.


Revert back to the previous setting on this dialog. Does not undo a SAVE.


Surf the INTERNET - but don't say Totally Tubular!


The number of seconds HGopher will cache menus for. Gopher items tend to be pretty static so there is not much point go getting a directory every time you what a butchers at it. You can Flush the Cache if you need to.


The Gopher Language Dialog
Click on different areas of the dialog image to find out what they do.


Select the language you wish to edit the Weight of. You must select a language before proceding.


Set the weight of the language. It will effect document selection based on language and only works for Gopher+ items. For details about weights read the section Setting preferred Viewers.


Accept your modification.


Finished setting up languages.


Undo your last bit of typing.


The Gopher Network Dialog
Click on different areas of the dialog image to find out what they do.


Cancel any changes you just made.


Enter whatever you local domain name is (eg mine is cc.ic.ac.uk). If you don't know what yours is consult a local Network guru. However you will probably get away with setting it blank.


Tells HGopher to use its built in DNS. If you are running the winsock version (look in the about box to find out) you will not want to use this, leave it unchecked and turn on the Use Vendor option, also no need to fill out the other fields in this dialog box.  However if you are running PC NFS (at any version including the 5.0 the winsock version) you need to check this box and fill in the rest of the dialog.

 WARNING Do not select this option unless you are running PC NFS, it is known to be buggy.


Tell HGopher to use these settings. No need to reset HGopher.


Tells HGopher to use your vendors name look up system. You should have already configured this when you install whatever it is you are using. Use this in all known implementation except Sun's PC NFS (SUN leading the field again :-)


Enter the IP address of up to three local DNS servers. Note it most be the IP address NOT a name.


The Gopher Server Dialog
Click on different areas of the dialog image to find out what they do.


Add a new server to the Fast category. The Server name must be a fully qualified host name.


Add a new server to the Slow category. The Server name must be a fully qualified host name.


Cancel all the changes you have made (you get back to what you have before you popped up the dialog).


Select one of the servers from the fast or slow list and hit this button to delete it.


This is the list of gopher servers you have defined to be fast.


This is the list of gopher servers you have defined to be slow.


Save the changes and get back to gophering.


Default unknown servers (ie servers not in the fast list or slow list) to Fast.


Default unknown servers (ie servers not in the fast list or slow list) to Slow.


The Gopher Viewer Dialog
Click on different areas of the dialog image to find out what they do.


The command which runs the viewer you are going to use for this view type. Eg for a JPEG view type it would be an application that displays JPEG images. Note that you must pass information to the viewer to tell it what to show you. This is done using a substitution string. Most viewers will require the filename that HGopher has stored the document under, using JPEG as an example again, we might give the command as jpeg %f where %f is  substituted for the file name. A telnet application would probably prefer something like telnet %i %p  where %i is replaced (by HGopher) with the IP address and %p  is replaced with the port number. For a full explanation on substitution string read the section on Viewers


HGopher will make this the working directory when it invokes the viewer. Can be left blank, in which case the viewer will start in HGophers working directory.


You have finished messing about with viewers


Specify the weight of this view type for gopher servers in the category Fast.  For details about weights read the section on Setting preferred Viewers.


Specify the weight of this view type for gopher servers in the category Slow.  For details about weights read the section on Setting preferred Viewers.


Select the Type of view you wish to configure. You must select one of these views before filling in any of the other fields. The view types represent the kinds of information that a gopher server may deliver to you. You can also add new view types, refer to the section About Viewers to find out how.


Undo the changes you have just made to the view type you are editing. Doe not work after you select another view type.


Disable the use of this viewer.


With a Gopher+ item, HGopher usually know exactly what view type its got. With non Gopher+ items it has to guess (eg it may know its an image - but what type of image?). HGopher tries to guess from the extension on the Selector. If the extension matches one of the ones you have put here then we will guess that this is the view type. The format is a comma separated list eg jpg,jpeg


Select the transfer mode required by this document type. Generally text files are okay as ASCII while most other files require BINARY. The UNIX option allows you to save the file with out the extra <CR> on the end of line.


Accept the changes you have just made.


The Gopher Main Screen
Click on different areas of the screen image to find out what they do.


Toggles between view mode and file mode. In view mode, the documents you transfer are presented to the correct viewer for display. In file mode, the document is copied to a local file of your choice.


Go Home, ie fetch the menu that you started with (does not lose your history).


Identifies the item as a Gopher+ item which we have not got the attributes for (yet). A click on this symbol pops down a menu from which you can select the option to go fetch the attributes.


This text describes the gopher item. A single click on the text will highlight it. Some options (such as making a bookmark) operate on the currently selected item. A double  click on the text is the normal why to go and fetch the item. In the case of a Gopher+ item this will fetch the preferred View.


This part of the status bar displays the connections you have in progress. You can have  up to three, although only the last one will be actively transferring data.

The little windows give status information on the progress of the transfer and a green LED flashes when data is received. You can abort a transfer by clicking on the  associated button.


Takes you to the previous menu..


These symbols represent the type of the gopher item. For a complete list refer to the section Gopher Symbols.

If you click on a symbol a menu will pop up. From this menu you can fetch the item, see its technical information and with Gopher+ items its Admin information and Abstract (if its got one).


Provides a rough idea of where you are in GopherSpace.


You will only see this on a Gopher+ item after we have its attributes. Clicking on it will pop up a menu of alternative views for that item. By selecting one you can explicitly fetch a particular view rather than the preferred View.


The Commands Menu
Click on different areas of the menu image to find out what they do.


Move to the previous menu.


Quit the application. Connections in progress are aborted and temp files are removed. Note however that temp files still in use by a viewer are not deleted and never will be - so remember to clean up the TMP directory if you are the habit of doing this. Also HGopher will not let you exit if a blocking network call is in progress (eg a connect) wait until it finished then exit. This is the correct way to leave HGopher, in an emergency you could also use the close option from the system menu, however this does not close connections and may leave your network software in a funny state or cause HGopher to crash.


If you are in History menu or the book mark menu  you get flipped into the gopher menu. If in the gopher menu you get flipped into  the book mark menu. This is the same action as hitting the right mouse button.


Takes you to the home menu (ie the menu you get when you first start HGopher).


Shows information about the currently selected gopher item.


Fetch a gopher item. This is the same a doubling clicking on the text part of the  gopher item in the main screen. It will go and get the gopher item, in the case of a gopher+ item it will get the preferred View.


Displays a menu which is a history of the menus you have retrieved. You can use this to jump to somewhere you have been directory. When you move to previous menus, the history is used to retrace your patch through GopherSpace.


The Options Menu
Click on different areas of the menu image to find out what they do.


Flushes the HGopher menu cache. All menus will then have to be retrieved over the network again. Note that your current menu is not actually in the cache, therefore if you want to refresh that as well, move  to the book mark menu, then flush the cache, then move back again.


The Book Mark Menu
Click on different areas of the menu image to find out what they do.


Makes the currently selected item a book mark at the end of the current book mark menu.


Makes the current menu a single directory item at the end of the current book mark menu.


Removes the currently selected book mark from the book mark menu.


Save the current book mark menu to a file asking for a file name.


Save the current book mark menu to a file using its existing name.


Allows use to edit the selected book mark. You must understand how gopher items work to be able to use this option.


Stops displaying the book mark menu and takes you back to the last gopher menu  you were at. A faster way to do this is to simply click the right mouse button while in the book mark menu.


Load the book mark menu from a file (this file must contain a previously saved book mark menu). The current book mark menu will be lost, however HGopher will give you a chance to save it.


Show the current book mark menu. The current gopher menu is replaced by the book mark menu. A faster way to do this is to simply click the right mouse button while in the gopher menu.


Clears all your book marks from the book mark menu. Probably a good idea to save them first.


Load a book mark file onto the end of you existing book mark menu.


Create a book mark from scratch, typing in all the components that make up a gopher item. You must understand how gopher items work to be able to use this option.


What is a Gopher
Gopher is an INTERNET based document retrieval system.

The basic idea is that you run a Gopher client on your PC which talks over the network to many Gopher Servers. These Gopher Servers provide useful documents which you may like to get access to.

These documents can be just about anything from science papers to recipes for chicken soup. They may be text documents, images, sounds or even video. They may not really be documents at all - they may connect to another computer or to a Telephone/E-mail enquiry system. They may allow searches of a large collection of documents on keywords.

Gopher clients, like HGopher, present you with menus that they get from Gopher Servers You can move around these menus and fetch back information you think looks interesting. You don't need to know where the information is coming from and generally you don't have to supply any information (such as usernumbers) to get it.

Sounds great, and infact it is.

But how to you find what you what? Well you have to be an explorer. Hopefully your Company or University will have set up a local Gopher Server. Connect to that first and start from there. Your local Gopher server will probably have lots of information about local matters. After that, the world is your Gopher. Plan to spend alot of time exploring GopherSpace, its addictive.

If you want to find out more about Gopher, use Gopher. It seems to have more entries on itself than anything else. Also the USENET news group comp.infosystems.gopher is another useful source of information.

Happy Gophering


What is Gopher+
A Gopher Client uses a Computer Protocol to talk to Gopher Servers around the world. This protocol was defined some years ago and works well, but if something is good then we can make it better!

So along comes the Gopher+ Protocol.

The big thing Gopher+ gives you is Attributes. Attributes are extra information associated with a document.

The most useful Gopher+ attribute is the View attribute. With normal Gopher documents (sometimes called items) the gopher server will say - here's a document its text or its an image. But we don't know what kind of text or image, which is a major problem if we are trying to show it to you. With a Gopher+ item we are told exactly what kind of text item it is, eg its PostScript or its plain ASCII. If its an image it could be a GIF or a JPEG or something else. So now we can invoke the right Viewer so that you can see it.

Also a Gopher+ item can have more than one view. For instance it could be available in ASCII or PostScript form and you can choose which one you want to see. If could be available in English or German.

There's more... You can see Admin information such as who wrote the document and when it was last updated it may also have an abstract that you can read instead of the document. With Gopher+, a document can even ask you questions before you get to see it.

Also attributes are extensible, so expect new features to be coming along.

You will be pleased to hear that HGopher is a Gopher+ client, so it understand most if not all of the currently defined attributes. However it only gets these attributes when its talking to a Gopher+ server. There's not many of them about at the moment but that will change.


What is WinSock
Instead of every TCP/IP Windows Vendor providing there own interface to their Network code and every application writer having to cope with ten's of slight different versions of their software, one for each vendor, it would be nice to all agree to do the same thing, right?

Well surprisingly enough we have and its called winsock.

So winsock is an agreed standard for interfacing to the network from windows. Alot of vendor are starting to support it. Infact all the major players. However you  generally need the latest copy of there software as its quite new.

Winsock comes as a windows library called WINSOCK.DLL. Note however that a particular winsock.dll will talk to a particular vendors network. The winsock specification is standard the library implementation winsock.dll is NOT.

This means you CANNOT JUST FTP A WINSOCK.DLL OFF THE NETWORK AND EXPECT IT TO WORK WITH YOUR VENDORS NETWORK CODE. It has to be the right one.

Another common mis-understanding is where to get the winsock.dll from. Its not part of HGopher - you have to buy it from whoever you got your network code from.

Public Domain winsock implementations for Public Domain network stacks are however under development. Infact there is an Alpha release out for the Waterloo stack now.

For the latest breaking news on winsock read the USENET news group alt.winsock. Also sunsite.unc.edu and  microdyne.com  provide a ftp archive of  winsock software.
 sunsite.unc.edu  has some good winsock documents in
  /pub/micro/pc-stuff/ms-windows/winsock

In particular a list of Vendor that support or are planing to support winsock.


What is HGopher and HNGopher
HGopher and HNGopher are more or less the same thing. So I'll tell you what HGopher is and then explain the differences.

HGopher is my attempt at a Gopher+ client for windows. By now it supports most of the things you would expect of a client such as:

A winsock network interface
A large and extensible range of viewers
Support for alternative views
Support for most gopher base types
Automatic preferred view selection
Copying to file
Aborting transfers
Book Marks
Editing Book Marks
Abstract and Admin viewing
Cached Menus
Online Help
Funky little icons to strain your eyes
Ask processing
Bugs (but hopefully not many)

HGopher is really just a easy to use transfer mechanism, it processes gopher directories and displays them itself but normally it hands off document display to an external viewer. Therefore to make good use of HGopher you need a selection of viewers.

HNGopher is the same program but without the winsock interface. The network interface used by HNGopher is the interface provided with Sun's PC NFS. Therefore HNGopher will only work if you have PC NFS. PC NFS at Version 5 has winsock support therefore you can use either version. HNGopher will work with older PC NFS Versions.

 Both HGopher and HNGopher have additional support to ease use with PC NFS. This is the built in DNS. If you are using PC NFS use the built in DNS, if you are not using  PC NFS don't.

Why all this additional support for PC NFS, well its what I had before winsock appeared.

HGopher is in the Public Domain and provided without any Warranties. Please read the Licensing arrangement.


Jump Start Installation
If you are reading this I'm assuming you have decided which version (HGopher or HNGopher) to run, unzipped the package and installed the files in the right place. It is important to install the gopher.ini file, without it all kinds of things will be missing.

You may find that gopher works straight out of the box - then again it may not. It depends on your local set up. Either way you will need to configure it as follows.

From the options menu select  Gopher Set Up and  configure the options in there.

From the options menu select Network Set up and configure the options in there.

From the commands menu select Go Home and voila you should have a gopher menu. Double click on the text of the menu to move around and fetch items.

After you have played around a bit, you might like to read a bit more of the online help to see what else you can fiddle around with. If you have problems read Bugs and Queries.


Bugs and Queries
Report bugs and comments to m.hampson@ic.ac.uk
Winsock related issues can be discussed in the USENET group alt.winsock
PC NFS related issues can be discussed in the USENET group comp.protocols.nfs
Gopher related issues can be discussed in the USENET group comp.infosystems.goper

Here are some common problems found while attempting to use HGopher.

HGopher wont start, it cannot talk to the network or gives a funny message about a DLL.
Sounds like your winsock is not set up correctly, read What is WinSock, consult your vendor manuals or talk to the news group.

HGopher cannot resolve any host names or only local host names.
Sounds like a DNS problem. Check your Network Set up, your winsock set up or consult a local guru.

HGopher does not seems to transfer any data, I am running PC NFS and Vista Exceed.
Don't know what this is - but increasing the RTM heap size to 64 seems to solve the problem.


Licensing
HGopher, HNGopher, it help file and other associated files are in the Public Domain. You may copy them freely and do with them as you wish provided you honor the Copyright arrangements detail below.

If you like HGopher and are desperate to spend 10 dollars, send it to a charity or go down the bar (In the latter case you will be required to buy me a drink should we ever meet).

Any viewers used with HGopher will have their own licensing arrangements and you should honor them.

HGopher is in no way connected with Imperial College of Science, Technology and medicine.
----------------------------------------------------------------------------
CopyRight notices

This version of gopher is not available in source code
form, however future versions maybe.
----------------------------------------------------------------------------

 * Copyright (c) 1993  Martyn Hampson
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgment:
 *	This product includes software developed by Martyn Hampson
 * 4. The name Martyn Hampson
 *    may NOT be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL Martyn Hampson  BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

Some sections of the gopher code are modified versions of existing
software. I include the copyright notices attached to that software below.

* The Resolver routines *

/*
 * Copyright (c) 1985, 1988 Regents of the University of California.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgment:
 *	This product includes software developed by the University of
 *	California, Berkeley and its contributors.
 * 4. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

* Misc utility routines (from Xgopher) *

* Allan Tuchman, University of Illinois at Urbana-Champaign
*                Computing and Communications Services Office
* Copyright 1992 by
*           the Board of Trustees of the University of Illinois
* Permission is granted to freely copy and redistribute this
* software with the copyright notice intact.


Gopher Symbols
Here is a list of the symbols used in HGopher and what they represent.

The glasses symbol represents a gopher item with the gopher base type Text.

The binary symbol represents a gopher item with the gopher base type File.

The note symbol represents a gopher item with the gopher base type Sound.

The CSO symbol represents a connection to a CSO server.

The camera symbol represents a gopher item with the gopher base type Image.

The terminal symbol represents a gopher item with the gopher base type Telnet.

The IBM Terminal symbol represents a gopher item with the gopher base type TN3270.

The forward arrow symbol represents a gopher directory or menu.

The backward arrow symbol represents the previous gopher directory

The house symbol represents go home

The book pointer symbol represents a gopher item with the gopher base type Index.

The film symbol represents a gopher item with the gopher base type Movie.

Some kind of gopher item we don't understand.

This is a gopher+ item, but we don't have the attributes yet.

This gopher item has one or more views (gopher+ only).

This symbol represents a connection.

The eye symbol tell you you are in view mode.

The folder symbol tell you you are in copy to file mode.


Basic Usage
The main HGopher window is split into four areas. The title bar tells you where you are and contains the normal windows buttons for iconizing etc. The menu area below contains pop up menus that can be used to send commands to HGopher. At the bottom is a status bar which tells you about what connections are in progress. The rest of the window is the main viewing area that typically shows you a menu (sometimes called a directory) of gopher items that you can access.

Each gopher item has one or more symbols which tell you what kind of item it is and some text describing it. If you double click on the text, HGopher will attempt to get that item for you. This is called a Fetch.

If you fetch another directory,the [image] symbol, then it will replace the one you are currently viewing in the main viewing area. You can cycle back through previous menus using the previous command. If the gopher item you fetch is something other than a directory then gopher will start a Viewer to display it for you. If you are a bit lost and want to start from the beginning again use the go home command.

Note that to fetch an item you double click on its TEXT. Don't click its symbol, that does something else. Also if you click on the text but all that seems to happen is it gets highlighted, you did not double click fast enough - try again.

When you fetching an item you will notice that one of the boxes in the bottom  status line will start giving you some information. First it tries to connect to the right gopher server and then it will start telling you how much of the document it as transferred.

You can find out what each bit of the main menu and status bar do by looking in the help section Gopher Main Screen and clicking on different bits of the image. You might like to do that now. Don't worry if you don't understand it all, I am about to explain some more.

If you single click on the text of a gopher item, HGopher will highlight it. This is then called the currently selected item. Some commands work on the currently selected item, for example if you pop up the Commands Menu and choose the fetch option the highlighted item will be fetched. This is another way to get an item (but double clicking is easier).

There is more than one way to go home as well. You can choose this option from the commands menu or you can click on the [image] button in the status bar.

Infact there are four ways to get to the previous menu. One is from the  Commands Menu, another is to fetch the previous menu item in the gopher directory and the third is to click on the [image] button in the status bar. What the fourth? Well you can jump to any previous menu using the history command.

If you select history from the Commands Menu you are shown a list of all the previous menus you have. These are normal gopher items and you get fetch them as normal. If you want to get out of the history menu and back to where you were, choose the Flip command or just hit the right mouse button.

Finally, it may happen that a connection will hang or the document is so big you are getting bored waiting for it. You can Abort a connection by pressing the connection button [image] on the left of the box in the status bar.


Copying to File
As well as fetching documents and Viewing them you can tell HGopher that you want to copy them to a file instead. To do this select Copy Mode from the Options Menu or click on the [image] symbol in the status area.

The [image] symbol in the status area will change to a  [image]. This tells you that you are in copy to file mode.

From then on if you fetch a document you will be asked for a file name and HGopher will copy it to that file.

Note that certain types of gopher items are not affect by this. For example directories are not copied to file and neither are telnet items. You can tell what type an item is by looking at its Symbols.

Copy mode is a toggle switch, to get back to normal viewing hit the [image] button  or select Copy Mode again.

Also note that some of the Viewers you are using may also allow you to save to file or print. HGopher does not support printing so you have to do that through a viewer.


Gopher Plus Usage
If a [image] or a [image] pops up next to a gopher item, then its a gopher+ item.

If its the [image] symbol then we don't have its attributes yet. You can pretend you are using a non gopher+ client by ignoring the symbol and proceding as normal, or you can tell HGopher to fetch the attribute by clicking on the [image]. This will cause a pop up menu to appear, select the only option Fetch Attributes.

If its a [image] then we already have the attributes and you can start doing funky things. Refer to Gopher Set Up Dialog to find how to tell gopher to get attributes automatically.

Once we have the attributes you can click on the Type symbol to get a pop up menu. This allows you to see Admin information and maybe an abstract for the item. Clicking on the {bmc viewn.bmpwill show you the alternative views for the document, you can select any of them and have HGopher fetch it for you.

If you do a normal fetch (eg double click on the text), HGopher will bring back your preferred view.


Using Book Marks
Book Marks are a convenient way of saving interesting items or directories so you can go back to them easily without having to retrace the steps you took to find them.

HGopher supports saving and loading book marks from files so you can save your work between sessions. Most of the action with book marks centers around the Book Mark Menu so you might want to have a look at that now.

To create a book mark, select an item and choose mark item from the menu. You can also mark the current gopher menu with the mark menu option. You can toggle between showing the book mark menu and the normal gopher menu using the show bookmarks and hide bookmarks options, however its easier to just click the right mouse button.

Loading and saving book marks to a file is also done via the Book Mark Menu, however you can ask HGopher to load a particular book mark file with it starts up from the Gopher Set Up Dialog.

Finally, if you know a bit about how gopher items are constructed you can  build them from scratch using Create Bookmark or edit an existing book mark. Even if you are not an expert you may still wish to edit a book mark in order to change its description to something you prefer.


Gopher items that are not documents
Gopher Items that are not Documents Some gopher items are not really documents at all. A good example of this is the telnet type [image]. If you fetch such an item HGopher will start its Viewer straight away. For example, with telnet, HGopher will start a telnet application and give it enough information to connect to a host on the network. You may still have to log in.


About Viewers
Viewers are an important part of any gopher client. Currently HGopher does not have any viewers of its own. Its expects you to either use existing Windows applications, buy them or find Public Domain/Shareware applications of the net.

Future versions of HGopher may come with some specially tailored viewers which will be called Gophettes.

A viewer is some application that will process a document that your gopher has gotten for you. Text and image viewers will show you information on screen. Sound viewers will play music to you. Some viewers might just do some background processing, eg a viewer for the view type file/zip might unzip the file into a directory of your choice.

You must be careful in selecting which viewers you use. Remember your viewer is operating on a unknown document. This can cause problems if your viewer treats the document as a program and runs it, its the same as taking a program from a  floppy disk and just running it -- soon or latter you will get a virus.

Fortunately most viewers you use will simply be displaying a document and so this wont be a problem. One to watch out for however is PostScript - remember PostScript is a programming language, the program normally displays pictures or text but it could wipe you files, choose a PostScript viewer that prevents this kind of thing.

Setting up Viewers
Setting up viewers involves using the Viewer Dialog. Have a  look at it now if you like.

Select one of the possible gopher view types and set up how you would like it processed. When HGopher gets a document with that view type it will follow your directions about what to do with it.

The basic thing to tell HGopher is the viewer to run for a view type. This is simply a command to run when HGopher gets such a document. Normally it will display your document for you. Viewers will generally require information as to what to view. This is achieved by passing the viewer one or more parameters. The following parameters can be passed to a viewer by HGopher.

%f	- replaced by the  file name
%h	- replaced by host name
%i	- replaced by hosts IP address (if available)
%p	- replaced by hosts port number
%s	- replaced by gopher selector
%t	- replaced by the gopher type
%d	- replaced by gopher description
%%	- replaced by %

For example, your viewer for ASCII text documents might be the windows notebook in which case you would use the command notebook %f. A telnet viewer is likely to look like telnet %i %p.

As released, HGopher has a number of viewers set up already but disable (as I don't know if you have the applications) some that use standard windows applications are enabled. Note that I am not forcing you to use these viewers nor am I  recommending them.

The view types available in HGopher represent gopher+ defined view types. Non gopher+ documents only have a simple type indication. Non gopher+ item types are mapped into the base type of a gopher+ item in most cases. For example the item type text is mapped into the gopher+ view type text. There are the odd exceptions, for example the item type telnet is mapped to terminal/telnet.

To get more out of non gopher servers, you can override this default mapping using extension guessing. If the gopher server manager has been kind enough to give the gopher item selector a file extension you can use this to determine the view type. An example might make this clear.

Lets say you have defined a GIF viewer for the view type image. Now if you fetch a image item and it happens to be a JPEG your GIF viewer might have a problem with this. What you can do is set up a JPEG viewer for the view type image/jpeg and configure it with an extension guess of jpg. Now if the selector on the JPEG gopher item ends in .jpg your JPEG viewer will be started by HGopher rather than the GIF viewer and life will be sweet. This is a bit of a hack and depends on the gopher server manager setting things up with reasonable extensions, but it seems to work in practice.

Gopher+ items of course ignore any extension guesses, they don't need it.

Another thing about view types is that they have up to two weights associated with them. This allows automatic selection of the type of view you prefer to see for gopher+ items with multiple views. Refer to the section Setting preferred Views to see what this is all about.

Adding View Types
Sooner or later you are going to find a document with a view type HGopher does not already know about. Don't worry you can extend the view types if you are willing to edit a file. Lets say there is a new view type called image/fractal that you wish to add. Exit HGopher and edit the  gopher.ini file in your windows directory. Look for a section called [Views] and add the line image/fractal= and save the file. Now when you reset HGopher this view type will be configurable from the Viewer Dialog.


Setting preferred Views
The whole of this section only applies to gopher+ items.

When a gopher+ item has one or more views types associated with it you can go to the [image] symbol and select any of the views types you want. However you can also double click on the text as in a normal fetch and bring back your  preferred view.

HGopher selects which view you want to see using a weight system. With this system you can say things like.

Always bring back PostScript if its available.

Always bring back PostScript from hosts on my fast local ethernet but for other machines get ascii.

If its a choice between a JPEG and a GIF get the GIF unless its bigger than the  JPEG by more than 200K.

If the documents available in French, I'd prefer that to English.

This is how it works.

Various things can have a weight associated with them. This weight is generally an integer number. When HGopher has to pick one of many views it 'weights" each view type and the one with the biggest weight is the one that gets fetched.

Weights with languages
To select your preferred language you need to invoke the Language Dialog. You can then set a weight for each language you prefer. For example if you like to see things in French, failing that German and last of all English, you would set the French weight to 10 (say) the German to 5 and the English to 1. Now if the documents only available in English you still  get it, but the other languages are preferable.

Weights with View Types
From the Viewer Dialog you can can set two weights for a particular view type. One for machines designated Fast and one for machines that are slow. If you only specify one weight, that is used for both types of machines.

An example of setting view type weights is if you set  image/jpeg to 1000 and image/gif to 900 you will always get a jpeg over a gif if there is one available. Note in order for the view type to be considered in the "weighing" it must have a viewer command and not be disabled.

Now what is all this fast, slow stuff? Well using the Server Dialog you can categories all the hosts in the world into two camps, fast and slow. Then using the Viewer Dialog you can give different weights for each type. Note that fast/slow does not refer to the speed of the machine but to how fast or slow you think the network access to it is. A Cray might be the fastest machine in the world but if its on the end of a 2400 baud line to you it slow.

One more thing about a weight, generally its an integer but it can be an expression containing the symbols +, - and $(SIZE). You should know what the first two mean, the $(SIZE) represents the estimated size of the item in KiloBytes as given by the gopher server.

Okay, so now we are ready for a complex example. Lets say you have a viewer for GIFs and a viewer for JPEGs. Now your JPEG viewer takes three times as long to show the image as a the GIF viewer, so you would prefer to get a GIF unless its very big and going to take a long time to transfer. You have a local gopher server called gopher.here.edu that's directly connected to you by FDDI.

Here is a good set up. Using the Server Dialog set up gopher.here.edu as a fast server and default to slow. Give the view type image/gif a fast weight of 10000 and a slow weight of 10000-$(SIZE). Give the view type image/jpeg a slow weight of 9700-$(SIZE).

Now you will always get a GIF over a JPEG from the high speed machine gopher.here.edu. You will get a GIF from all other machines unless the difference in size is greater that 300K.

Managing Weights
You can do what you like with weights but you might end up with some strange choices. Its a good idea to try and band your weights, eg put all text weights in the range 20000-30000, your images weight in the range 10000-15000 and so on. Remember you can always use the [image] symbol to explicitly get a view.


Ask Processing
Ask Processing is a gopher+ extension and only applies to gopher+ items.

The idea here is that a gopher item can ask you questions and use this  information in some way. What questions it asks you and why I cannot say. Hopefully it will be clear from the gopher item itself. It may also ask you for a filename which HGopher will send to the server.

The questions are presented to you by HGopher using a windows dialog box so you should be able to use it easily.

Ask processing is by default turned off, you can enable it from the  Gopher Set Up Dialog. Its turn off because it can be dangerous.

Remember you are sending this information to God know whom, so don't give away any sensitive information such as your password or home telephone number or upload a file of under cover field operatives or your credit card number etc.


Using a length encoding the client first tell the server the number of bytes in a file and then sends that number of bytes.


Cache Flushing
HGopher keeps copied of menus for a given time. If you think these copies are  out of date, you can remove them from the Options Menu.


USENET
A large distributed information system that many INTERNET sites (and others) have access to. You read USENET News using a news reader such as rn or on a PC under Windows, WinTrumpet.


A term used to mean all the things you can access via gopher.


Internet
A large collection of connected networks running TCP/IP.


Selector
One of the components of a gopher item. The one that the client gives to the server to request a particluar document. If some sense like a file name.