[Alachua FreeNet]

How to write text menus for Alachua Free-net

by J Bryan Kramer, president ACCUG Inc. jbkramer@afn.org

Updated (9/13/95) and edited by Bro


Introduction

This document is intended to show you how to write menus for the Alachua Free-net (AFN) menu system. You can produce menus for your organization.

The goal of this tutorial is to show you:

  1. How a menu is constructed,
  2. and explain the different parts of menus.
  3. notably 12 objects and types
  4. and an example .list file
  5. How to create a place for your menu to go on AFN
  6. How to write a disclaimer file
  7. How to upload your new menu. And finally,
  8. How to let the AFN technical staff know when your menu is ready to be installed.

Do not let yourself be intimidated by the process of creating a menu. While the process looks complex, in reality it's not all that difficult. It is just like following a recipe to make a cake. Just relax and read the following tutorial.

This tuturial is only intended to cover the text style menu system such as the one that AFN itself uses. The more graphical HTML (Hypertext Markup Language) style of homepages is covered elsewhere.


The parts of a menu

In general you will need three types of files for your menu:

1) List Files:
This is a file which describes how your menu will look to the system. It will list all document ( text ) files you use, all remote Internet sites you want to use, and will specify a unique disclaimer file for each and every remote site that you use.

Each menu will have one and only one list file in that menu space.

2) Doc files:
This are text files that you want people to read, they might be a description of your organization, a calendar of events or any other text file you want to display.

In general most of you will use only use doc files in your menus.

3)Disclaimer Files:
Each remote site must have its own disclaimer file: One disclaimer file for each site you use. If you do not use any remote resources ( you only use doc files) then you will not need any disclaimer files.

A remote site is a Internet resource that is located somewhere other than AFN. This can be a gopher, WWW, FTP of other type of site. We will cover all these different types below but most of you will not use remote sites but will only use local doc files.

We will now look at how to write a list file.

[Top]


How to Write a List File

A list file is a description of how you want your menu to look. It is just like a recipe that you create for us to use to create a menu for you.

We take the list file and compile it into a form that AFN will use as a menu.

Lets start by learning one very important rule: a list file can only contain 15 lines. This does not count the title line.

More lines will produce a non-working menu. Fewer lines are OK.

The Parts of a List file line

Each list file consists of at least 2 and no more than 16 lines. Since each list file must have one title line and at least one subject line this gives us the lower 2 line boundary.

(The maximum size comes from one title line and the maximum 15 subject lines that I mentioned above. )

Lets look at the anatomy of a list file line:

3:0:The Zork Explorer's Club      ( Menu = zork ):zork.sh:title

 			 figure 1 

There are five parts or fields to all list file lines these parts are:

1) The Menu level, (generally you will use a 3 in this field).
This number shows how far down the menu is from the top level menu.

The top level menu, or level 0, is the first or main menu that you see when you log on AFN. Computer programmers always start counting at zero so your organizational menu will usually be 4 levels down or 0, 1, 2, 3. Thus the 3. If you have submenus under your main menu these would be level 4 and so on. Don't worry too much about this field, we will fix any problems so just start with a 3.

2) Line Number
This is the number that will appear in front of the menu selection ( see figure 2 ).
The title line is always number 0, other lines are numbers from that 1..2..3... etc.

3) Description
This is the description that will appear in your menu after the line number.

4) Object field
There are 12 object types which we cover in detail below.

5) Type
There are 12 types which happen to be the same as the 12 object types. This field tells freenet how to treat the object in field 4. Again we will detail them below.
	The Zork Explorer's Club      ( Menu = zork )
           *  option is planned for future implementation
                   
               1. What is the Zork Club
               2. What is xxzzy?
               3. Common questions about UR-GRUE
               4. The Coconut of Quendor Web site
               5. How to grow Morgia Root
               6. Zork Telnet site
               7. Zork newsgroup
               8. Moss of Marelion

			figure 2

[Top]


The 12 Object types

Lets look at the twelve different types of objects. Since these are the same as the type, we will also be looking at the 12 type types.

These types are:


The first object type is the title line:

1) The Title line

title:
Each list file you produce must have exactly one title line. The title line is just the text that appears at the top of the menu, above your menu selections ( see figure 2 ). An example title line would look like this:

     3:0:The Zork Explorer's Club      ( Menu = zork ):zork.sh:title
  
Note the ( Menu = zork )
This is a convention for all menu titles and allows the user to know what menu he is in.
The M in Menu should be capitalized.
Note there is only one title per list file and it is always the first line.
Also note the line number is zero (0), this is required for title lines.

[Top] [List of types]

2) The doc type

doc:
as already described above this is a text file.
The object is the name of the doc file:
                 
      3:1:What is the Zork Club:zork.doc:doc
  

3)The exe type

exe:
an executable program, it is unlikely that you will use this type.
The object is the .exe file name.

[Top] [List of types]

4) The menu type

menu:
this is a reference to another menu on AFN.
The menu that you refer to will have an extension of .sh.
With this type you can call submenus from your menu.

When the user selects this item AFN will jump to the other menu. For instance if the zork menu called another menu called xxzzy the line would look like this:

      3:2:What is xxzzy? :xxzzy.sh:menu

The sh extension indicates to afn that this is another menu, you must append the .sh to the name of the menu.

5) The script type

script:
This menu type is restricted to AFN workers at this time.

[Top] [List of types]

6) The remote gopher site type

gopher:
This is remote Internet gopher site.
The object in this case is the address of the gopher:
                  
    3:3:Common questions about UR-GRUE:gopher.zork.com;urgrue.disclaimer:gopher

NOTE: that the object in this case has a semicolon and the file name of the disclaimer file ;urgrue.disclaimer. We will talk about disclaimers below, but all the types from here on down will require disclaimer files ( except future ).

[Top] [List of types]

7)The remote WWW http type

http:
This is a off AFN Internet World Wide Web site.
The object in this case is the address of the WWW site:
  3:4:Coconut of Quendor Web site://www.quendor.edu;coconut.disclaimer:http 

Note the address in http site has a // before it, this is required.

8)The remote or local http type

html:
This points to a html file ( HyperText Markup Language ):
               
     3:8:Moss of Marelion://www.afn.org/~zork/;moss.disclaimer:html

[Top] [List of types]

9) The remote FTP site type

ftp:
This is a remote Internet ftp site.
The object in this case is the address of the ftp site:
                  
  3:5:How to grow Morgia Root:ftp.morgia.org;root.disclaimer:ftp

10)The remote telnet site type

telnet:
This is a off-AFN Internet telnet site.
The object in this case is the address of the telnet site:
                  
 3:6:Zork Telnet site:zork.com;telnet.disclaimer:telnet

NOTE: This type is restricted and you'll have to get permission to use a telnet site in your menu.

[Top] [List of types]

11)The future type

future:
This is used for an item which will be added in the future:
In this case AFN does not look at the object field but none the less you must put something there even though it is only a filler. I usualy put in future.doc as a filler, this file future.doc does not have to exist because AFN will never look for it. The file future.doc does not have to exist.

12)The usenet newsgroup type

usenet:
This is the name of a usenet newsgroup.
The newsgroup will have to be activated and may take a few days for it to work after the menu is created:
                   
     3:7:Zork newsgroup:alt.game.zorkworld;zorkworld.disclaimer:usenet

[Top] [List of types]

The 12 type varieties

The twelve types are exactly the same as the twelve objects:

	title		script		telnet
	doc		gopher		future
	menu		http		usenet
	exe		ftp		html

[Top] [List of types]


Example .list file

What does our final list file look like?

3:0:The Zork Explorer's Club :zork.sh:title
3:1:What is the Zork Club:zork.doc:d 
3:2:What is xxzzy? :Xxzzy.sh:menu     
3:3:Common questions about URGRUE:gopher.zork.com;urgrue.disclaimer:gopher
3:4:Coconut of Quendor Web site://www.quendor.edu;coconut.disclaimer:http
3:5:How to grow Morgia Root:ftp.morgia.org;root.disclaimer:ftp
3:6:Zork Telnet site:zork.com;telnet.disclaimer:telnet
3:7:Zork newsgroup:alt.game.zorkworld;zorkworld.disclaimer:usenet
3:8:Moss of Marelion://www.afn.org/~zork/;moss.disclaimer:html
This list file generates the afn menu that we see in figure 2 .

[Top]


How to write a disclaimer file

As we mentioned above you need a separate and unique disclaimer file for each off-AFN site you use.

All HTML files either local or on a remote site require a disclaimer file.

Now lets look at a template of a generic disclaimer file:

 
INSTRUCTIONS FOR REMOTE SYSTEMS

DISCLAIMER NOTICE: You are leaving the Alachua FreeNet to connect to another
Internet site. Material inappropriate for children and objectionable for adults 
may possibly be found there. Parental supervison may be advisable.

SYSTEM NAME:        < PUT THE NAME OF YOUR SITE HERE >  

INTERNET NAME:      < THE OBJECT FIELD FROM YOUR LIST FILE > 

DATA AVAILABLE:     < A 2 OR 3 LINE DESCRIPTION OF THE SITE CAN > 
                    < GO HERE ANY SPECIAL INSTRUCTION ALSO GO HERE > 
                    < SUCH AS INSTRUCTIONS ON HOW TO FIND A FILE > 

EXIT SEQUENCE:      q exits back to Alachua Free-Net

SPECIAL NOTES:      Use the arrow ( cursor ) keys to move up or down menus
                    then press the < Enter > key or use the right arrow to select.
                    Use the left arrow return to a previously selected item.
                    Press the < SPACE > bar to see the next page

MENU MADE BY: 	   < PUT YOUR EMAIL ADDRESS HERE >       updated:< DATE > 


			figure 3 

OK, some comments:

a) The border is just to show the boundary of the disclaimer.
The brackets < and > are also just to show where the field is don't include them in your file.
b) Fields:
1) DISCLAIMER NOTICE: this must appear in every disclaimer exactly as shown above.
2) SYSTEM NAME: put the name of your site here, the description from your list file can be used.
3) INTERNET NAME: this is the object field from your menu.
4) DATA AVAILABLE: a brief description
5) The EXIT SEQUENCE: unless you know its different use this exactly as shown.
6) SPECIAL NOTES: do not change these
7) MENU MADE BY: put your email address here so people can contact you with questions and comments. It will be something like afn0099@afn.org
8) UPDATED: Put the date the file was created here

My advice is to cut the above template out and just change the fields that need entries. You then save the file with the new file name: zork.dis or whatever you want to name the file.

[Top]


How to make a place for your menu on AFN

OK, now you have created your list file, all your doc files and one disclaimer file for each off-AFN site: you are ready to upload your files!

What is a menuspace?
A menuspace is a subdirectory on AFN for your menu. Each menu has its own menuspace and when you create a menuspace you will be able to edit the menu files from your own home directory. Remember each menu you create neeeds its own menuspace.

Here is how to do it.

  1. ) Have all your files ready to upload, log on AFN, you'll see this opening screen:
         Alachua Free-Net Main Menu   (Menu = main)
         *  option is planned for future implementation
    
         1.   About Alachua Free-Net (Overview, HELP, & News)
         2.   About Alachua County, Florida           
         3.   Community Calendars                     
         4.   Setting Up and Maintaining Your Account 
         5.   Mail Service for Registered Users       
         6.   Local Free-Net Services 
         7.   Information by Subject (A - L)          
         8.   Information by Subject (M - Z)          
         9.   Disabilities Information                
        10.   Additional Internet Services               
    
         (m) main menu  (p) previous menu   (x) Exit 
         Your Choice:
    
    		figure 4        
    
  2. ) Select item 6 or type in 'local' you'll see this:
       Alachua Free-Net Local Services     (Menu = local)  
         *  option is planned for future implementation
    
           1.   About Local Services                    
           2.   pre of registered users             
           3.   Listing of users currently logged on    
           4.   'Talk' Service               (Menu = talk)
           5.   Home Directory File Services (Menu = homefiles)
           6.   Home Directory File Services (alternate view)
           7.   Customizing Your Environment (Settings and Options)
           8.   Instructions on creating a menu         
           9.   Format of the .list file                
           10.   Create a menu space
           11.   Problem Reporting                       
    	
    			figure 5
    
  3. ) Select 10: Create a Menu Space.
    AFN will ask you for the name of the menu.
    Type it in and hit enter.

    Now a note on menu names.

    If you look in the upper right corner of the menu you'll see a notation: (Menu = local).

    This is the name of the menu space this menu uses. You can just type in that name and jump directly to that menu. As you may recall, I told you that you could type in 'local' to jump to this menu. Try to pick menu names that relate to the menu that you want your menu to appear under.

    For instance: if I want zork to appear under the menu called hobby then I could name it hobby-zork. The 8.3 character name limit in DOS does not apply to unix so you can have long file and directory names.

    By naming the menus in a way that is simular to the parent menu you will make it easier for AFN workers to work with your menus since they will all be located close together in the directory.

    [Top]

  4. ) After you create a menu space you will come back to the same menu as in figure 5, select 5 or type in homefiles to jump to this:
       HOME DIRECTORY FILE SERVICES   (Menu=homefiles)
        Current Directory is your home directory
    
          1.   List All Files (abbreviated display)
          2.   List All Files (unix display)
          3.   View A File
          4.   Delete A File
          5.   Download A File
          6.   Upload A File
          7.   Edit a File
          8.   Rename a File
          9.   Change to a subdirectory
         10.   Change to home directory
         11.   Create a sub directory
         12.   Encoding and Decoding Files
    
         (m) main menu  (p) previous menu  (x) Exit  
         Your Choice:  
    		figure 6
    
  5. ) Select 9 and when asked type in the name of your menu space: hobby-zork for example.
    You will still see the above menu ( homefiles ) after this.
  6. ) Upload all the files your menu needs using item 6 above. You will be queried for a transfer protocol, if your terminal software supports kermit-text, I have found it to be the most trouble free. Zmodem usually works though if you don't have kermit. All the files, list, doc and disclaimer go into the same subdirectory. Notes on uploading:

    8) When you are done, use item one to check that all the files needed are there. The files that should be there are:

    Here is more information on troubles you may encounter while Uploading

  7. ) If you are doing more than one menu then YOU MUST SELECT: 10 CHANGE TO HOME before selecting a subdirectory to upload more files. You'll have to do it over if you don't do this. Do not upload more than one list file to a menuspace.

[Top]


OK I'm done -- now what?

When you are done send a message to newsupplier telling us that you are ready to install a menu. We need to know the following:

And thats it. We look forward to seeing your menu up in AFN cyberspace for all to use and enjoy.

[Top]


Hypertext formatted by Intersoft Solutions, Inc. as a public service to AFN.
Updated Sept 13, 1995