(This document is brought to you by the Computing and Communications Office
of the University of Illinois at Urbana-Champaign.)
                   
                     THE CCSO NAMESERVER (PH)

                                by
                   Lynn Ward and Carolyn Gedney


                            INTRODUCTION

The CCSO Nameserver is a large database containing information 
about people and things at the University of Illinois.  An 
electronic version of the "University Student/Staff Directory" 
(the campus telephone book) makes up the bulk of the database.  In 
addition, the Nameserver holds lots of other useful data, 
including the complete University course timetable for the fall, 
spring, and summer semesters; a guide to local restaurants; area 
codes for major cities and regions in the U.S.; weather conditions 
and forecast information for many Illinois cities and larger 
metropolitan areas throughout the country; and special entries 
created on request, such as organizations within departments and 
student clubs and organizations.  

The CCSO Nameserver is really a pair of programs: one that manages 
the actual data (this program is called "qi," for query 
interpreter) and another program (or rather a group of programs--
one for each computing platform on the campus network) that 
handles end-user requests.  The programs that handle user requests 
are usually called "ph "  (or "ph clients"), which stands for 
phone book.  Because ph is the name of the software familiar to 
most end users, many people refer to the CCSO Nameserver itself as 
ph or use the terms Nameserver and ph interchangeably.

This user guide will introduce you to the basic features of the 
CCSO Nameserver.  You will learn how to request, or extract, 
information from CCSO's Nameserver database as well as from 
similar nameservers maintained at other institutions across the 
Internet.  You will also learn how to update the information that 
the Nameserver keeps about you.  For example, if you change 
offices in the middle of the year, you can put your new address 
information in the Nameserver immediately, so others can view up-
to-date information about you.  Finally, you will learn about some 
of the policies and procedures involved in updating and 
maintaining the Nameserver database.

The primary author of the CCSO Nameserver program is Steven 
Dorner.  Paul Pomes, Senior Research Programmer at CCSO, now 
maintains Steve's original code.


Limitations of this User Guide
------------------------------
When the CCSO Nameserver was first created, the database could 
only be reached through a user interface developed for computers 
running the Unix operating system.  Over the years, ph software 
has been developed for many different computer platforms and 
operating systems.  Some of these newer applications were modeled 
on the original Unix interface and operate nearly identically to 
it, and others do not.  Due to space limitations, specific 
instructions on how to access and/or change Nameserver data in 
this user guide apply only to the Unix interface and the ph 
program on CCSO's IBM mainframe, VMD.  Where differences exist 
between the operation of the Unix interface and that on VMD, they 
will be noted.  Much of the information in this guide is quite 
general in nature, however,  and should be useful to anyone who 
uses the Nameserver, regardless of platform or interface. 


                  1. HOW THE CCSO NAMESERVER WORKS

The CCSO Nameserver uses the "client/server" model.  This means 
that the database for all Nameserver information resides on one 
CCSO minicomputer known as the "server."  The program that manages 
the database, "qi", runs on this computer as well.  Mainframes and 
desktop computers can transparently access server data over 
UIUCnet, the campus network, using special software designed to 
talk to the server.  Machines running such software (and the end-
user software itself) are typically called "ph clients."  The 
client takes care of sending the user's requests to the server and 
presenting the results of that request in a digestible form.  
Thus, the end-user need know little or nothing about how the 
server works or how the client actually interacts with it.  
Instead, the client presents the user with a friendly (or 
reasonably friendly) interface for requesting, displaying, and 
manipulating Nameserver data.


                       2. AVAILABILITY OF PH

2.1 Users with Accounts on CCSO Mainframes and/or a UIUCnet 
------------------------------------------------------------
Connection
----------
Ph client software is installed on all of CCSO's computers (e.g., 
uxh, ux1, uxa, ux4, VMD).  Thus, users with accounts on these 
machines can use ph. To access ph from any CCSO machine, simply 
log in to your account and enter ph commands as described in later 
sections of this user guide.

Ph is also installed on many non-CCSO computers across the campus.  
Ph client programs are now available for almost all of the 
mainframe and desktop computing platforms found on the UIUC campus 
including Unix, VM/CMS, VMS, PC (DOS), Macintosh, NeXT, and X 
Windows.  For information on how to obtain ph client software for 
your desktop computer or workstation, see Appendix A.


2.2 Free Public Access to Ph
----------------------------
If the computer you use doesn't have ph software installed on it, 
you can still use ph by connecting to the free public access 
"phones" account on the CCSO Unix machine, ux1.  You may connect 
to this free ph account from another machine on UIUCnet (through a 
telnet connection to  "ux1.cso.uiuc.edu"), through Sytek LocalNet 
("call 1600"), or through a dial-up connection to a CCSO terminal 
server (after accessing the terminal server, enter "ux1").  For 
AISS system users, at the PROFS main menu, enter the command 
"tcp", clear the screen, and then enter the command "telnet 
ux1.cso.uiuc.edu".  

Once connected to and prompted for a login by ux1, enter the login 
name "phones".  (If you accessed the "phones" account through the 
terminal server and your terminal type wasn't already specified, a 
prompt will appear requesting it.  Enter the name of your terminal 
type, such as "vt100".  If you are uncertain about your terminal 
type,  call the CCSO System Consultants at 333-6133 for 
assistance).  Finally, a ph> prompt will  appear.  You may then 
enter standard ph commands to obtain desired information.  You may 
also change information in your ph entry through this public 
account (see section 5).
  
Further directions and explanations may also be obtained on line 
by entering "help" at the ph> prompt.  To leave the public access 
ph account on ux1, enter "quit" at the ph> prompt.

Modem users can also access the "phones" account directly from the 
terminal server by typing the command "ph" at the terminal server 
prompt.  You will not be prompted for a login when accessing the 
"phones" account in this manner, but you will still be asked to 
enter your terminal type.


2.3 Accessing Ph through Gopher
-------------------------------
The CCSO Nameserver (as well as electronic directories at many 
other institutions) can also be accessed through Gopher, a popular 
client/server application for accessing files and services on the 
Internet.  For basic information on how to use Gopher, see the 
document "Gopher at the University of Illinois," available at the 
CCSO Resource Center, 1420 DCL.  The CCSO Nameserver and other 
electronic directories can be found under the Phone Books (PH) 
menu on UIUC's main gopher server.  The method for querying the 
Nameserver will vary from one gopher client to the next.  See the 
client documentation or on-line help for details.


                3. THE TWO MODES OF THE PH PROGRAM

The ph user interface has two modes: command-line mode and 
interactive mode.  Command-line mode permits the user to process 
ph queries from the operating system prompt or so-called command-
line.  To use ph in command-line mode, one must type "ph" at the 
operating system prompt followed by a standard ph query expression 
(see the next section of this guide for details).  Command-line 
mode can only be used to view public information in the Nameserver 
database.  To change a Nameserver entry or view privileged 
information about your own entry, interactive mode is required.

Interactive mode allows you to interact with a separate ph 
interface, characterized by a ph> prompt.   If the command ph is 
entered at the operating system prompt without any arguments, ph 
enters interactive mode, where it prompts for, executes, and 
displays the results of Nameserver commands.  Interactive mode is 
most commonly used to view and change information in your own 
entry, but it can also be used to process simple queries.  If you 
access ph through the free public account on CCSO's Unix machine, 
ux1, you will enter interactive mode by default.  To exit 
interactive mode and return to the operating system prompt, enter 
the command "quit" at the ph> prompt.  


              4. USING PH TO ACCESS INFORMATION 
                  IN THE NAMESERVER DATABASE

The process of sending a request to the Nameserver to retrieve 
specific information about a person or thing is referred to as 
making a "query"(or doing a "lookup").  Regardless of whether you 
are in command-line mode or interactive mode, the simplest form a 
query can take is:  "ph name", where 'name' is the full or partial 
name of the person or item that you want to find in the database.  
Ph queries can also include additional information to broaden or 
narrow the scope of the query.  This section will cover some of 
the more common options that can be used when executing a query 
and describe how to extract particular types of information from 
the Nameserver.  


4.1 Information about people at UIUC
------------------------------------


4.1.1 A Simple Query
--------------------
To use ph to obtain information about an individual on campus, you 
must be logged in to a machine with a ph client program installed 
on it (see section 2).  

At the machine's normal system prompt or at the ph> prompt, enter 
the command "ph name", where 'name' consists of the first and last 
name (separated by a space) of the person about whom you want 
information.  Be careful to type the person's official name as he 
or she is known to the University and not a nickname or shortened 
version of the name (e.g., use "ph douglas jones" instead of "ph 
doug jones").  (For more information about the use of nicknames in 
ph, see section 5.11.3.)  Ph will respond with data about that 
person in the form of an entry, for example:

ux1 1> ph paul pomes
------------------------------
         name: pomes paul b
        phone: (217) 333-6262
      address: 1429 DCL, MC 256
             : 1304 West Springfield Avenue
             : Urbana, Illinois  61801-2910
office_location: 1429 Digital Computer Lab
     department: computing and communications services office
          title: sr res programmer
          hours: Mon: 9:00 to 17:00
               : Tue-Fri: 13:00 to 18:00
       email to: p-pomes@uiuc.edu (paul@uxc.cso.uiuc.edu)
------------------------------

Note that in a ph entry such as the one above, information about 
the person is organized into discrete pieces of information called 
fields.  Each field has a name (the text preceding each colon) 
describing the contents of the field.  For example, the field 
called address contains the campus address of the person in 
question.

When a simple query is executed, ph looks for and displays every 
entry in the Nameserver database whose 'name' or 'nickname' field 
contains the name(s) specified in the query.  Matching in ph is 
not sensitive to upper and lower case letters and is done on a 
word-by-word basis.  That is, both the query expression and the 
entry are broken up into words, and the individual words are 
compared.  Thus, the commands "ph paul pomes", "ph pomes paul", 
and "ph Paul Pomes" will all produce the same results.

If you only know a person's last name (or even only a first name), 
you may query ph using only the one name (e.g., "ph pomes"), 
although this often results in multiple matches.  See the next 
section for instructions on how to deal with multiple matching 
entries.


4.1.2 Queries Resulting in Multiple Matches/Narrowing the Scope of 
------------------------------------------------------------------
a Query
-------
Queries on common names (e.g., John Smith) or just a first or last 
name will often produce multiple matches.  When multiple entries 
match a query expression, ph will display the list of matching 
entries one screen at a time.  To advance to the next screen of 
entries on Unix systems, press the spacebar.  To advance to the 
next screen on VMD, press the clear key or its equivalent on your 
keyboard.

If there are more than 25 matches for a particular name, the 
Nameserver will not list the matching entries, but instead will 
return the response "Too many entries to print."  This is to 
prevent the ph program from being used to generate mailing lists.  
To get around this problem, provide the Nameserver with additional 
information, such as a phone number or address, in order to narrow 
the range of possible matches.  This additional element is 
included in the query command using the form "ph name  
field=value", where 'name' is the person's first and/or last name, 
and 'field' is an existing field name (typed exactly as the field 
name appears in ph) with 'value' being that field's value (or a 
portion thereof) as listed in the Nameserver entry.  For example, 
if you were trying to look up an acquaintance named Paul who works 
in the DCL building, you could use the command "ph paul 
address=dcl".  This would result in a list of matching entries for 
all persons named Paul whose address field contains the character 
string "dcl", one of which is the entry for Paul Pomes.  It is 
also possible to use more than one field specifier in a query 
expression, e.g., "ph paul address=dcl phone=333-6262 ".  The 
object here is to make the query specific enough so that it does 
not generate more than 25 matches.

Another easy way to narrow a search on a person is to include a 
middle initial (without a period) as part of the name, for 
example: "ph paul b pomes".


4.1.3 Adding a Return Clause to a Query Expression
--------------------------------------------------

A Nameserver entry may actually contain more information (in 
additional fields) than is displayed by executing a query in the 
form ph name.  Ph will only return a default list of fields unless 
a return clause is added to the query expression.  A return clause 
consists of the word "return" followed either by the word "all" or 
a list of the fields in which you are interested.  If the word 
"all" is used, all viewable fields from the entries matching the 
first part of the query will be displayed, for example:

ux1 2> ph paul pomes return all
------------------------------
             alias: p-pomes
              name: pomes paul b
             email: paul@uxc.cso.uiuc.edu
             phone: (217) 333-6262
      office_phone: (217) 333-6262
        home_phone: (217) 359-0881
               fax: (217) 244-7089
           address: 1429 DCL, MC 256
                  : 1304 West Springfield Avenue
                  : Urbana, Illinois  61801-2910
    office_address: 1429 DCL, MC 256
                  : 1304 West Springfield Avenue
                  : Urbana, Illinois  61801-2910
   office_location: 1429 Digital Computer Lab
      home_address: 717 West Washington Street
                  : Champaign, IL  61820-3334
             proxy: !!
          nickname: pbp paulp avatar
         no_update: !!
        department: computing and communications services office
             title: sr res programmer
             hours: Mon: 9:00 to 17:00
                  : Tue-Fri: 13:00 to 18:00
            family: Kali, Dylan Freeman, Alanna Ruth, Roku & Suza
       high_school: Downers Grove South, 1976
              type: person phone
           created: 1/1988
          kerberos: p-pomes
              slip: 128.174.22.63
------------------------------

If the word "return" is followed by a specific list of field names 
(separated by spaces), only the specified fields will be 
displayed, for example:

  ux1 1> ph paul pomes return name phone
------------------------------
            name: pomes paul b
           phone: (217) 333-6262
------------------------------


4.1.4 Searching on Fields other than 'name' and 'nickname'
----------------------------------------------------------
It is possible to look up information in the Nameserver database, 
not by name, but by searching for information held in another 
field of an entry.  Such queries must be in the form "ph 
field=value", where the specified 'field' has both the Indexed and 
Lookup attributes. (Section 5.6 explains how to determine the 
attributes of a field.)  At the time of this writing, the 
following fields were so designated: 'name', 'nickname', 'alias', 
'callsign', 'email', 'office_phone', 'proxy', 'high_school', 
'kerberos', 'text', and 'slip'.  For example, 'office_phone' is an 
Indexed Lookup field, and a query like "ph office_phone=333-6262" 
will yield the entry for Paul Pomes, whose office phone number is 
333-6262.


4.1.5 Problem Spellings
-----------------------
Although ph doesn't care about capitalization of words, it 
generally requires words to match exactly, with no characters left 
over.  For example, a query on the character string "john" will 
not match entries for "johnson."  However, special symbols, or so-
called "wildcard" characters, can be used in a ph query to find an 
entry for which only a few letters of a name are known.  

The "*" (asterisk) is used in place of one or more unknown 
characters in a name.  For example, to find the ph entry for S. 
Dorner, where the remainder of the first name is not known, an 
appropriate command would be:  "ph  s*  dorner" .

When only one character of a name is unknown, the "?" (question 
mark) can be used in place of the character.  For example, to find 
Gladys Johnson (or is that JohnsEn?), one could use the command:   
"ph  gladys  johns?n" .

When using ph in command-line mode on Unix machines, expressions 
with wildcards must be surrounded by double quote marks; thus, the 
query "ph s* dorner" should be typed 

     ph "s*" dorner 

from the Unix operating system prompt.  Similarly, the query "ph 
gladys johns?n" should be entered as

     ph gladys "johns?n" 

at the Unix prompt.  When in command-line mode on VMD or 
interactive mode on either VMD or a Unix machine, quotation marks 
should not be used in the query.


4.2 Information about People at Other Institutions
--------------------------------------------------
Many other universities and institutions on the Internet have 
adopted the ph program to maintain their own student/staff 
directories and e-mail routing information.  The Unix ph client 
can query these remote ph Nameservers for name, phone number, 
address, e-mail address, and any other field information contained 
in the remote database (currently this feature is not implemented 
on VMD).  To see a current list of ph servers and associated 
sites, enter the query:  "ph ns-servers".  A list of the publicly 
accessible ph sites as of this writing is given in Appendix C.

To query a remote ph server, get to the operating system prompt 
and enter a query in the form "ph -s server.name name", where 
'server.name' is the domain name of the server you want to query 
and 'name' is the name of the person you want to look up.  All of 
the options described for queries in section 4.1 of this guide 
also apply to remote queries--i.e., you can use wildcards, specify 
fields, etc.  For example, to get ph information for a "John 
Smith" at Princeton University, one would enter the command:

     ph -s princeton.edu john smith

The query will be directed to the ph server specified after the  
"-s" option (Princeton University, in the above example), instead 
of the local ph server, and all matching entries will be 
displayed.  

To enter interactive mode on a remote server, type the name of the 
server but do not specify the name of a person or thing.  For 
example, the command:

     ph -s ns.nwu.edu

will connect you to the Nameserver at Northwestern University.  
Once connected, all queries typed at the ph> prompt will search 
Northwestern's database.


4.3 Other Types of Information in the Nameserver
------------------------------------------------
When searching the Nameserver database for information about 
things other than people, it is often helpful to let the 
Nameserver know specifically what type of information you want to 
find.  Every Nameserver entry has a field named 'type' that 
describes the kind of information it contains.  One or several of 
the following types may be found in the 'type' field of a 
Nameserver entry

     Type      Description
     ----      -----------
     person    Information about a human being.

     unit      Information about a campus unit (e.g., department,
               college, etc.).
     areacode  Information about a telephone area code.

     food      Information about a Champaign-Urbana restaurant.

     phone     Information typically found in a university or 
               standard telephone book. The    "phone" type is 
               used together with the following other types: 
               "person," "unit," "areacode," and "food."

     weather   Information about current weather conditions.

     timetable The UIUC course timetable.  Also listed under types 
               "fall," "spring," and "summer."

If a query is executed without any field specifiers, ph searches 
the entire database for all entries whose 'name' and/or 'nickname' 
fields match the query expression.  Usually, a simple query 
expression will deliver the desired results.   However, 
occasionally a simple query can produce too many matches, several 
or many of which may have nothing to do with the data type for 
which one is searching.  For instance, the query "ph english" 
displays the names of six people whose last name is English, the 
names of two campus units, and the titles of 59 courses in the 
University timetable.  In such cases, it can be helpful to include 
a 'type' field specifier in the query expression.  The general 
syntax for using the 'type' field specifier is: "ph type=name-of-
desired-type name", where 'name-of-desired-type' is one of the 
types listed above and 'name' is the full or partial name of the 
thing you want to find.

In the example given above (i.e., "ph english"), you could use the 
'type' field specifier to see only those records matching the data 
type indicated.  For example, if you were only searching for the 
entries of campus units, you could use the command: "ph type=unit 
english."
 
   Note: The 25 entry limit applied to searches on people 
   (type=person) does not apply to the other types of data in the 
   Nameserver database.  Thus, if 50 timetable entries match a 
   query, all 50 will be displayed.


4.4 Information about UIUC Campus Units
---------------------------------------
The Nameserver database contains information for every campus unit 
(i.e., departments, colleges, schools, administrative offices, 
etc.) that appears in the printed version of the Student/Staff 
Directory.  The 'name' field of a campus unit entry contains the 
official name of the unit as it is given in the printed directory.  
The 'phone' and 'address' fields contain the main telephone number 
and address for the unit.  Any additional information about the 
unit that appears in the printed directory (e.g., the names, phone 
numbers, and addresses of personnel within the unit; the names, 
addresses, and phone numbers of offices, divisions, special 
programs, or special facilities within the unit; etc.) is listed 
in the 'text' field.

To do a lookup on a campus unit, enter a query in the form: "ph 
type=unit name", where 'name' is the full or partial name of the 
unit about which you want information.  The clause "type=unit" is 
not required in the query, but its use will limit the search to 
those items in the Nameserver database that are explicitly campus 
units.  Since the names of campus units often have words in common 
with the names of courses in the University timetable, the 'type' 
field specifier is especially useful for filtering out unwanted 
timetable entries that would otherwise match the query expression. 
For example:

ph>  ph type=unit landscape architecture
------------------------------
   name: Landscape Architecture, Dept of
  phone: 333-0176
address: 214 Mumford Hall, 1301 W Gregory, U, MC-710
   text: Head: Vincent J. Bellafiore, 214 Mumford Hall, MC-710,
       :  333-0176
       :   Staff secy: Ada Siler, 214 Mumford Hall, MC-710,
       :    244-1698
       : Asst head: Natalie B. Alpert, 202 Mumford Hall, MC-710,
       :  244-1701
       : Grad coord: Terence Harkness, 1205 W Nevada, U, MC-710,
       :  333-3612
       : Library: 203 Mumford Hall, MC-710, 333-0424
------------------------------



4.5 University Timetable Information
------------------------------------

UIUC course timetable information for the current fall, spring, 
and summer semesters is available through the CCSO Nameserver.  
The University timetable database is identical to the printed 
version and is searchable both by course number and words found in 
course titles.  

To do a timetable lookup by course number, set the 'type' field 
specifier to "fall"  (to search the fall timetable), "spring" (to 
search the spring timetable), "summer" (to search the summer 
timetable), or "timetable" (to search all available timetables), 
followed by the desired course number.  The course number itself, 
which usually consists of an abbreviated department or program 
name followed by a three-digit number, should be typed as a single 
entity with no spaces between the characters.  For example, the 
command "ph type=timetable chem337"  will yield the complete 
timetable listing for Chemistry 337, Organic Chemistry.  
Similarly, the command  "ph type=fall ece350" will display the 
timetable listing for the fall offering of Electrical and Computer 
Engineering 350, entitled Lines, Fields and Waves.  To view all 
200-level art history courses offered over summer session, you 
could include a wildcard in the query; e.g., "ph type=summer 
arthi2*" .

To do a timetable lookup by course title, set the 'type' field 
specifier to the desired timetable type (e.g., "type=fall"), 
followed by any significant word(s) in the course title.  For 
example, the command  "ph type=timetable introduction spanish" 
will yield the timetable listings for all courses containing both 
"introduction" and "spanish" in their titles. 

4.6 Local and National Weather Information
------------------------------------------
Ph can display weather information for many locations throughout 
the state and country.  It also offers some special options for 
local weather information.  The weather information is downloaded 
from a commercial service.  The raw data is fed to a CCSO computer 
and is the source for several CCSO weather-related services 
including that provided by ph.  Ph weather information is updated 
as it arrives on the data feed.  Weather conditions for a 
particular location are requested with the syntax:

     ph type=weather airport_code conditions
or
     ph type=weather city_name conditions

where 'airport_code' or 'city_name' specifies the name of the 
location in which you are interested.  The airport codes and 
corresponding city names for which information is available are 
given below:

      ALN   alton        DSM   desmoines    MWA   marion
      ARR   aurora       FNT   flint        MVN   mtvernon
      BLV   belleville   GBG   galesburg    NBU   glenview
      BMI   bloomington  IND   indianapolis ORD   chicago ohare
      BOS   boston       JFK   newyork      PIA   peoria
      CGX   meigs        LAX   losangeles   PDX   portland
      CMI   champaign    MDH   carbondale   RFD   rockford
      CMX   houghton     MDW   midway       SFO   sanfrancisco
      COU   columbia     MLI   moline       SPI   springfield
      CPS   eaststlouis  MMO   marseilles   STL   stlouis
      DEC   decatur      MSN   madison      SYR   syracuse
      DPA   dupage       MSY   new orleans  UIN   quincy

Note that city names consisting of more than one word are 
sometimes written as a single entity with no spaces (e.g., 
sanfrancisco) and other times are not (e.g., new orleans).  Due to 
this inconsistency, it may be easiest to use the three letter 
airport code instead.  The following example shows a request for 
Champaign weather conditions along with the query results:

ux1 11> ph type=weather cmi conditions
------------------------------
     name: CMI champaign conditions
     text: CMI SA 1145 M60 BKN 100 OVC 6H 74/71/2310/986
         : CMI SA 1245 M55 BKN 120 OVC 7 75/72/2210/987
         : Mon Jul 13 at 12:45GMT (07:45CDT).
         :   Weather: Cloudy
         :      Temp:  75F ( 23C)
         :  Humidity:  90%                  Dewpoint: 72F (22C)
         :   Ceiling: meas   5500ft            Visibility: 7 mi
         : Barometer: 29.87inHg (101.2KPa)
         :      Wind: SW 12mph (10kt) (19km/h)
------------------------------

The first two lines of the 'text' field in the example above 
consist of the raw weather data.  In the remaining lines, the raw 
data has been parsed and given labels so that it is easier to 
understand.

Ph can also display radar summaries, special weather 
announcements, and 36 hour as well as extended forecast 
information.  These services are largely limited to the state of 
Illinois.  The sample queries in the left-hand column will yield 
the results listed in the right-hand column:

    Query                                Result
    -----                                ------
    ph type=weather radar                St. Louis and Marseilles
                                         radar summaries

    ph type=weather forecast             36 hour and extended 
                                         forecast for Illinois

    ph type=weather special              Special weather 
                                         advisories from the 
                                         National Weather Service 
                                         in Springfield and 
                                         Peoria

    ph type=weather illinois conditions  Tabular report of 
                                         conditions throughout the 
                                         state


4.7 Telephone Area Code Information
-----------------------------------
The Nameserver database contains telephone area codes for major 
cities and regions in the U.S.  The ph area code information comes 
from an old data set and is only sporadically and haphazardly 
updated, so it may not be entirely up-to-date.

To find the area code for a particular U.S. city, set the 'type' 
field specifier to 'areacode' followed by the name of the city, 
for example:

ph> ph type=areacode san francisco
------------------------------
    name: area code 415            
        : Oakland and San Francisco, (Bay Area)  California
------------------------------

The area code data set does not include every city in the U.S.  If 
no matching entries are found using the name of a city, try using 
the name of the state instead.  The area codes for the major 
regions in the state will be displayed, for example:

ph> ph type=areacode new jersey
------------------------------
      name: area code 201
          : Morristown,  and Newark, (Northeast) New Jersey
------------------------------
      name: area code 609
          : Atlantic City, Camden , and Trenton , (Southwest)
          : New Jersey
------------------------------
      name: area code 908
          : Elizabeth, and New Brunswick, (Central) New Jersey
------------------------------


4.8 Local Restaurant Information
----------------------------
The UIUC Nameserver database contains entries for most of the 
restaurants and other types of eating/drinking establishments in 
the Champaign-Urbana area.  The ph entries relating to 
restaurants, pizza parlors, taverns and donut shops are organized 
as follows:

The 'name', 'address', and 'phone' fields are set to the proper 
name, the address, and the phone number of the establishment 
respectively.

The 'nickname' field is set to one or more of the following types 
of eating establishments:

    Nickname    Description
    --------    -----------
    restaurant  An establishment that is primarily a restaurant,
                deli, sweet shop, or bar that serves or delivers 
                food other than pizza.

    bar         An establishment that has a sit-down bar or lounge 
                where liquor is served, but also serves food.

    tavern      An establishment that serves liquor only, no food.

    pizza       An establishment that serves or delivers pizza.

    donut       An establishment that is primarily a donut shop.


If the establishment is a restaurant that also serves pizza, it 
will have both "restaurant" and "pizza" in the 'nickname' field.  
If the establishment is a restaurant with a bar or lounge, then 
both "restaurant" and "bar" will appear in the 'nickname' field, 
and so on.

The 'hours' field is set to the hours that food is served for 
establishments that serve or deliver food.  It is set to the hours 
that liquor is served in the case of taverns.  If the 
establishment is a restaurant with a bar, the bar hours are listed 
in the 'text' field.  Hours are listed as day of the week (Su, Mo, 
Tu, We, Th, Fr, and Sa) followed by the time of day from 0:00 
(midnight) to 23:59.  Hours for a given day are listed with the 
day on which the establishment opens--i.e., if the restaurant 
closes after midnight, there is not a separate listing for the new 
day.

The 'other' field contains a more specific description of the type 
of establishment and can be helpful for narrowing down searches 
for particular types of food, drink, or services.  If the 
'nickname' refers to the establishment as a restaurant, then the 
'other' field will first either refer to it as finedining, family, 
fast, deli, sweets, tavern, or carryout and deliver.  It then will 
attempt to describe its cuisine.  Currently, the possibilities 
include: american, bavarian, cajun, creole, chinese, eclectic, 
italian, french, mexican, middleeastern, pizza, and viennese.  If 
the 'nickname' field is set to pizza or donut, then this is 
reiterated in the 'other' field.  

The 'text' field gives a more detailed description of the 
establishment. It attempts to describe specialties, special hours 
(for example, of the lounge), whether you can get a full meal or 
perhaps just breakfast.  It also attempts to list what beers are 
on tap and what the bar specialties may be.  If reservations are 
accepted or recommended, this is listed too.  Finally, the 'text' 
field indicates whether checks or credit cards (listed as CC) are 
accepted.  Checks may be limited to local checks, and credit cards 
may be limited to a few special cards.

The 'revision' field, if present, states when this information was 
gathered or last revised.  The 'type' field for all items in the 
Nameserver restaurant guide is always set to "food" and "phone."

The restaurant information in the Nameserver was mainly obtained 
from the "Guide to Dining in Champaign-Urbana" published by the 
Champaign-Urbana Visitors' Bureau.  Some information also comes 
from the Champaign County City Clerk's Office.  New restaurants 
were discovered by driving and walking around town.  All of this 
information was verified and expanded upon either by telephone 
calls or in-person visits.  The restaurant information was updated 
in fall of 1992.

  Examples of Restaurant Queries
  ------------------------------

  Example 1.  If you already know the name of the restaurant you
  want to locate, set the 'type' field specifier to "food"
  followed by all or part of the name of the restaurant.  (Note: 
  The 'type' field specifier [i.e., "type=food"] is not required,
  but its use in the query will limit the search to those items in 
  the Nameserver database that are part of the restaurant guide.) 
  For example:
    
       ph type=food original pancake house


  Example 2.  If you want to locate all restaurants that serve a
  certain type of cuisine or offer a particular type of service,
  set the 'other' field specifier to indicate the type of food or 
  service in which you are interested.  In such cases, you must 
  also either give a name or specify one of the five types of 
  eating establishments used in the 'nickname' field of the 
  database: restaurant, bar, pizza, tavern, or donut.  Examples:

       ph type=food other=chinese restaurant
       ph type=food other=finedining restaurant

  Creative use of additional field specifiers in the query can 
  help you identify establishments that meet rather rigid or broad
  criteria as shown in the examples below.

  Example 3.  The following example finds all restaurants that 
  serve Italian food and accept credit cards:

        ph restaurant other=italian text=CC

  Example 4.  The next example finds all bars in Champaign that 
  have Michelob Dry beer on tap:

        ph bar text=michelob text=dry address=champaign

  Example 5.  The final example finds all Urbana pizza parlors
  that offer thick-crust pizza and deliver:

        ph pizza text=thick text=delivery address=urbana


            5. CHANGING INFORMATION IN YOUR PH ENTRY

Changing information in a ph entry requires following a few simple 
steps.  You must first access ph as described in Sections 2 and 4, 
enter interactive mode, and log in to the Nameserver.  When 
logging in, you will be asked to enter two important pieces of 
information: your "ph alias" and your "ph password."  The first 
part of this section will describe how to get your alias and 
password.  Next you will be introduced to the interactive mode 
commands "me" and "fields", which are both very helpful when 
modifying an entry.  Following is a discussion of the ph login 
procedure and, finally, instructions for modifying the information 
in your ph entry.

5.1 How to Get Your Ph Alias
----------------------------
Your ph alias uniquely identifies you to the Nameserver.  No two 
aliases are alike.  A person's alias is usually formed by 
combining his or her first initial, a hyphen, and complete last 
name.  For example, "Paul Pomes" has an alias of "p-pomes."  Some 
people share the same first initial and last name; these people 
typically have a number added to the ends of their aliases, so 
that their aliases remain unique.  For example, "John Doe" might 
have an alias of "j-doe1," and "Jane Doe" might have an alias of 
"j-doe2."  It is possible for the owner of a ph entry to change 
his or her alias by logging in to ph and modifying the 'alias' 
field; thus, some people have aliases that do not follow the 
conventions just described, such as the alias "SueG." 

To discover your own alias, do a ph lookup on yourself as 
described in section 4.1 of this guide.  For example, if John Doe 
wanted to find out his alias, he could enter the command:

% ph john doe
------------------------------
           name: doe john
   office_phone: 333-3333
 office_address: 194 DCL, MC 256
     department: ccso-computing 
       email to: j-doe1@uiuc.edu (doe@garcon.cso.uiuc.edu)
------------------------------


The alias is the first element in the email to  line, before the 
"@uiuc.edu."  In the above example, the alias is "j-doe1."  If 
more than one entry is displayed, you must find the entry that 
belongs to you.

A more direct way to find an alias is to specify the fields you 
want to see by adding a return clause to the query.  Only fields 
that follow the word "return" will be displayed, as shown below:

% ph john doe return name alias
------------------------------
           name: doe john
          alias: j-doe1
------------------------------


5.2 How to Get Your Ph Password
-------------------------------
Every entry in the Nameserver database is password protected, so 
when you log in to change information in your own entry, you will 
be asked to enter your unique ph password.  There is one exception 
to this rule, which currently applies to users with registered 
Unix or VMD accounts.  If you log in to ph from the Unix or VMD 
account that appears in the 'email' field of your ph entry, you 
will not be asked to enter a password during the login process.  
This exception is addressed in greater detail in section 5.3, 
Logging In to Ph.

If you log in to ph from the Unix or VMD account shown in your 
'email' field, you can give yourself a password (see section 
5.10). Otherwise, to obtain your ph password, present a valid 
University ID to a staff member at one of the desks in the CCSO 
Resource Center, 1420 DCL, 1304 W. Springfield, Urbana.  While you 
are there, you can also ask the staff member to make changes to 
your ph entry for you.  Or, if your building network administrator 
has proxy rights to your ph entry (see Section 7.4 in this user 
guide), he or she can assign a password to your ph entry for you.  
For instructions on how to change your password in ph, see section 
5.10.

5.3 Logging In to Ph
--------------------
Once you know your ph alias and password, you can log in to the 
Nameserver.  To log in, you must first enter ph's interactive mode 
by entering the command ph at the operating system prompt.  The ph 
status message will appear and then you will see the ph> prompt.  
Enter the command "login your-alias", where 'your-alias' is your 
unique ph alias.  After entering your alias, you will probably be 
prompted for your password.  When you enter your password, it will 
not be echoed to the screen.  Paul Pomes's login session would 
look something like this:

     % ph
     [ph status message appears here]
     ph> login p-pomes
     Enter nameserver password: [paul's-secret-password]
     200:p-pomes:Hi how are you?
     ph> 

Note:  If you are using ph from the account listed in your 'email' 
field, you may not have to give a password when logging in to ph.  
This feature works on VMD and on all Unix machines on which the 
system administrator has installed ph 5.0  (or a later version) as 
a privileged program.  All CCSO Unix machines have been configured 
in this manner. 

5.4 Logging Out of Ph
---------------------
To log out of ph without exiting interactive mode, enter the 
command "logout" at the ph> prompt.   To log out and exit 
interactive mode entirely, enter the command "quit".

5.5 The "me" Command
--------------------
Before editing your ph entry, it's a good idea to examine its 
current contents to determine exactly which fields should be 
changed or added.  This can be accomplished with the interactive 
mode command called "me."  The "me" command allows you to view 
every field in your Nameserver entry including sensitive fields 
that cannot be viewed by other users.  To use "me", simply enter 
"me" at the ph> prompt. The contents of your entire entry will be 
displayed.

The "me" command does not show fields that are empty (do not 
exist) in your entry.  The Nameserver can hold much more 
information for a person than is automatically entered into the 
database during Nameserver updates.  Refer to section 5.6 and 
Appendix B for information on what fields are available for 
modification or addition to your ph entry.

When using the "me" command, the display of an entry will be 
slightly different from the display for a standard query.  For 
example, if John Doe were to do a me command while in interactive 
mode, it would look like this:

ph> me
------------------------------
           alias: j-doe1
            name: john doe
           email: doe@garcon.cso.uiuc.edu
           phone: 333-3333
         address: 1000 dcl
                : CAMPUS MC 256
      department: ccso-computing 
           title: res programmer
           hours: 8-5, M-F
------------------------------

The 'alias' and 'email' fields are displayed as separate elements, 
whereas, during a normal query, these two fields are combined into 
the single pseudo-field  'email to'.  When adding or changing e-
mail account information in your ph entry, do NOT put something 
like "j-doe1@uiuc.edu (doe@garcon.cso.uiuc.edu)" in your 'email' 
field.  Your 'email' field should contain the specific account at 
which you receive mail (in the above case, "doe@garcon 
.cso.uiuc.edu") and nothing else.  

5.6 The "fields" Command
------------------------
Since the "me" command only shows the fields that already contain 
information in your ph entry, you may also want to know the names 
of fields that can be added to your entry.  This can be done with 
the "fields" command.  The "fields" command is used to view the 
list of all of the fields that are defined in the Nameserver 
database.  To use the command, enter ph's interactive mode and 
then enter "fields" at the ph> prompt.  The output of the "fields" 
command consists of a series of two-line entries describing each 
field.  For example, here are the lines that describe the 
'office_phone' field:

     -200:32:office_phone:max 60 Indexed Lookup Public Change
     -200:32:office_phone:Office telephone number.

Each line begins with a Nameserver reply code of "-200"; this can 
be safely ignored.  The next thing in each line is the field id 
number (in this case, "32").  This too is of little interest.  
Next comes the name of the field ("office_phone").  From this 
point on, the two lines differ.  The first line continues with the 
maximum length of the field (in this case, "max 60," meaning the 
field can contain no more than 60 characters), followed by a set 
of field attributes ("Indexed Lookup Public Change").  The second 
line is a brief description of what the field is intended to hold.

A field's attributes determine how the field behaves.  Here is a 
list of the attributes you are likely to encounter and their 
meanings:

 Attribute    Description  
 ---------    -----------

 Change       The field can be changed by the owner of the entry.

 Default      The field is always displayed except for queries 
              that include a return clause. 

 Encrypt      The field must be encrypted before transmission.

 ForcePub     The field is viewable/searchable regardless of the
              contents of the suppress field.

 Indexed      The field appears in the Nameserver's index; all 
              Nameserver lookups must include at least one indexed 
              field

 Lookup       The field can be used in queries.

 NoPeople     No entry of type "person" may include this field;
              i.e., the field is limited to non-person entries
              such as campus units, groups, weather information,
              etc.

 Public       Anyone is allowed to see the contents of the field.


To view the description for a single field rather than the entire 
list of fields defined in the Nameserver database, specify the 
name of the field you want to see after the "fields" command, 
e.g., "fields email".  In order to change the contents of any 
field, it must have the 'Change' attribute.   A complete list of 
the fields available in the Nameserver database as of this writing 
is provided in Appendix B.


5.7 Modifying Information in Your Ph Entry Using the "edit"
-----------------------------------------------------------
Command
-------
If you are logged in to ph, you can both modify existing 
information and add new fields (from a set of pre-defined fields) 
to your entry.  There are two methods for changing standard field 
information and a couple of special exceptions that will be 
addressed later. 

One way to change the data in a field, or to add a new field that 
doesn't appear in your entry, is to use the edit command.  To use 
"edit", you must be logged in to the Nameserver.  Then, to change 
any field in your entry (or to add a field that doesn't appear in 
the entry), simply enter the command: "edit field_name", where 
'field_name' is the exact name of the field you want to change or 
add.  You will be placed in the default text editor (usually vi on 
Unix machines and XEDIT on VMD) and allowed to make changes to the 
field.  When you have finished editing the text in the specified 
field, save your changes and exit the text editor.  Your changes 
will immediately be registered and you will be returned to the ph> 
prompt.  If you change your mind about editing the field, simply 
exit the editor without saving the changes; by doing so, ph will 
not record your changes.

To remove a field with the "edit" command, follow the procedure 
described above and delete all text from the field before saving.  
(Note to VMD Users:  To delete an existing field, VMD users MUST 
leave at least one blank space in the field.  If all lines or 
characters are deleted from a field on VMD, the temporary file 
containing the field information cannot be saved, and the entry 
will not be updated.)

After adding or editing a field with "edit", use the "me" command 
to verify your changes.   To leave the interactive mode of ph, 
enter the "quit" command.  If you are using the public "phones" 
account as described in section 2.2, entering "quit" will log you 
out of the system entirely.

  Examples of the "edit" Command:

  Example 1.  John Doe logs in to the Nameserver and uses the 
  "edit" command to change the contents of the 'home_address'
  field in his entry:

       ph> login j-doe1
       200:j-doe1:Hi how are you?
       ph> edit home_address
       102:There was 1 match to your request.
       "/tmp/ph010352" 2/37
       [vi was used to change John's home address to "222 Main
       Street/Urbana, IL 61801"]
       "/tmp/ph010352" 2/33
       200:1 entry changed.
       ph> 

  Example 2.  John Doe decides to add a NEW field to his ph 
  entry.  The procedure is nearly identical to the example 
  above, except that, when the text editor is invoked, an empty 
  file is displayed, and John must insert the new information 
  instead of changing existing information:

        ph> login j-doe1
        200:j-doe1:Hi how are you?
        ph> edit fax
        102:There was 1 match to your request.
        -508:1:  fax: Not present in entry.
        "/tmp/ph010352" 0/0
        [vi was used to add John's fax number "(217)333-3333"]
        "/tmp/ph010352" 1/14
        200:1 entry changed.
        ph> 

Only fields with the "Change" attribute may be changed by a user.  
Most fields have this attribute; two that do not are name and 
curriculum.  If you wish to make a change to one or both of these 
fields, present your valid University ID card to a staff member at 
the Accounting and Distribution Desk in the CCSO Resource Center 
in 1420 DCL, 1304 W. Springfield, Urbana.  

5.8 Modifying Information in Your Ph Entry Using the "make" 
------------------------------------------------------------
Command (for Unix Users Only)
-----------------------------
If you are unfamiliar with text editors, you may prefer to use the 
"make" command to change or add information to your entry.   To 
use "make", you must be logged in to the Nameserver from a Unix 
machine.  Then, to change any field in your entry (or to add a 
field that doesn't appear in the entry), simply enter the command: 
   
   make field_name="value-of-field"

where 'field_name' is the exact name of the field you want to 
change or add and " value-of-field " is the text you want to 
appear in that field.  Note that the "value-of-field" part of the 
command should be enclosed in double quotation marks.

If you want to remove a field from your entry, give the field an 
empty value by typing two consecutive double quotation marks for 
"value-of-field" (e.g., make address="").  Ph will then remove the 
field from your entry.

If you want the contents of a field to appear on more than one 
line (such as in an address), type the characters  "\n"  where the 
new line is to begin, directly followed by the data to be printed 
on that line.  

  Examples of the "make" Command:

  Example 1. Change the 'email' field to pomes@uxc.cso.uiuc.edu:

       make email="pomes@uxc.cso.uiuc.edu"


  Example 2.  Remove the 'home_phone' field from the ph entry:

       make home_phone=""


  Example 3.  Enter three separate lines of data in the 
  'address' field:

       make address="1429 DCL\n1304 W. Springfield\nUrbana"


  Note: the resulting address will be displayed on three
  separate lines as follows: 
 
       1429 DCL
       1304 W. Springfield
       Urbana


  Example 4.  Create a new 'hours' field:

       make hours="2-4 Tues, Thurs"


Only fields with the "Change" attribute may be changed by a user.  
Most fields have this attribute; two that do not are name and 
curriculum.  If you wish to make a change to one or both of these 
fields, present your valid University ID card to a staff at the 
Accounting and Distribution Desk in the CCSO Resource Center in 
1420 DCL, 1304 W. Springfield, Urbana.  

After adding or editing a field with make, use the "me" command to 
verify your changes.   To leave the interactive mode of ph, enter 
the "quit" command.  If you are using the public "phones" account, 
entering "quit" will log you
 out of the system entirely. 
 
5.9 Updating Your 'email' Field with the "register" Command 
-----------------------------------------------------------
(for Unix Users Only)
---------------------
If you receive your mail on a Unix machine, an easy way to update 
the 'email' field is to use the "register" command.   To use 
"register", you must first log in to the Nameserver from the 
account you want listed in your 'email' field.  Then, simply type 
"register" at the ph> prompt.  The account into which you are 
currently logged will automatically be entered into your 'email' 
field.  For example, if you logged in to ph from the CCSO 
mainframe ux1 and your login on ux1 was "smythe," the "register" 
command would put the following information into your 'email' 
field: "smythe@ux1.cso.uiuc.edu".  If a different address is 
already in your 'email' field, the register command will overwrite 
it with your current account information.


5.10 Changing Your Ph Password with the "passwd" Command
--------------------------------------------------------
Unlike most fields in your ph entry, your 'password' field cannot 
be viewed, even while logged in to the Nameserver, nor can it be 
changed with the "edit" or "make" commands.  The only way to 
change your password is to issue the "passwd" command.  To use 
"passwd", you must first log in to the Nameserver.  Then, enter 
the command "passwd" at the ph> prompt.  You will be asked to 
enter your new password twice.

Good passwords are at least six characters long and contain a 
variety of characters, both upper and lower case.  Ph will 
complain if your password is too short or contains only numbers.  
It is also best to avoid names or any word found in any 
dictionary.  One good scheme for creating passwords is to make an 
acronym from some phrase you can remember.  For example, you might 
think of "a rose By any other name would smell..." and use 
"arBaonws" as your password.

5.11 Important Ph Fields
------------------------
There are several fields in ph that are important to know about so 
that you can better control your own entry, the ease with which 
others can find you in the Nameserver database, and the manner in 
which your e-mail address appears in the printed version of the 
Student/Staff Directory. They are the 'email', 'no_update', 
'nickname', 'proxy', and 'paper' fields.  

5.11.1 The 'email' Field
------------------------
The 'email' field should contain the specific account and machine 
name at which you receive your electronic mail.  The information 
in the 'email' field is NOT automatically filled in during regular 
Nameserver database updates.  You, as the owner of your ph entry, 
are entirely responsible for making sure that your 'email' field 
is filled in and up-to-date.  Because the 'email' field is used by 
the Nameserver electronic mail delivery service, it is especially 
important that the contents of this field be accurate.

In general, "Internet-style" addresses are recommended for the 
'email' field.  Internet addresses take the form: 
"user@fully.qualified.domain.name."  Examples of Internet 
addresses for several computers on which UIUC students and staff 
commonly receive e-mail are given below:

    Machine     Address
    -------     -------

    VMD         user@vmd.cso.uiuc.edu 

    ux1         user@ux1.cso.uiuc.edu 

    ux4         user@ux4.cso.uiuc.edu 

    uxa         user@uxa.cso.uiuc.edu 

    uxh         user@uxh.cso.uiuc.edu 

    UICVMC      user@uicvmc.aiss.uiuc.edu

When entering your own Internet address, replace user with your 
specific login name, e.g., "jones@ux1.cso.uiuc.edu."

Note: Although it is technically possible to enter more than one 
e-mail address in the 'email' field, this practice is strongly 
discouraged.  If you have more than one e-mail account and/or 
would like to tell people how to reach you via a UUCP- or BITNET-
style address, it is recommended that you put such information in 
the 'other' field of your ph entry.


5.11.2 The 'no_update' Field
----------------------------
Soon after the beginning of the spring, summer and fall semesters, 
student/staff information  in the Nameserver database is updated 
based on information provided by the Office of Payroll (for 
faculty and staff) and the Office of Admissions and Records (for 
students).  By default, this process overwrites the contents of 
certain fields in the ph database with information provided by the 
two above-named offices.  The 'no_update' field controls whether 
your Nameserver entry will be changed during these automatic 
updates.  If you have customized your ph entry and do not want 
your modifications to be overwritten during an update, use the 
make or edit command to enter some text into the 'no_update' field 
of your ph entry.  The presence of any data in the 'no_update' 
field will prevent all but the 'name' and 'curriculum' fields from 
being updated (the latter two fields are always updated and are, 
in any case, not changeable by the owner of the entry).    


5.11.3 The 'nickname' Field
---------------------------
The 'nickname' field is provided so that nicknames can be used in 
Nameserver queries.  While the 'name' field of the Nameserver 
database contains every person's official full name (as known by 
the University), individuals are often more commonly known by 
names other than their full names.  "William" might be known to 
most people as "Bill," or "Steven" as "Steve."  You may enter any 
nicknames by which you are known into the 'nickname' field of your 
entry.  Other users can then use your full name or nickname to 
find you.  

The Nameserver treats the 'nickname' field just like the 'name' 
field; nothing special is required to use a nickname in lookups. 
In other words, if a Nameserver query is issued without any field 
specifiers, ph will look at both the 'name' and 'nickname' fields 
for entries that match the query expression. 

  Example:

  Suppose "William Willard" is known to everyone as "Willy," and
  he would like people to be able to easily find his entry in the
  Nameserver.  William can use the ph "edit" or "make" command to 
  put "willy" in his 'nickname' field.  Once he has done so, 
  others can find him in the Nameserver database using either of
  the following query expressions:

       ph william willard

    or

       ph willy willard

Most ph entries do not contain a 'nickname' field unless the owner 
of the entry has deliberately added the field to his or her entry.  
However, a 'nickname' field may automatically be added to entries 
where a common nickname is associated with a particular first 
name.  For example, a 'nickname' field with the contents "tom" is 
added to all entries containing the first name "thomas" in the 
'name' field.  If you would prefer that nicknames not be added to 
your entry automatically, create and enter some text into your ' 
no_update' field.


5.11.4 The 'proxy' Field
------------------------
The 'proxy' field can be used to allow others to change your ph 
entry.  If you want someone else to be able to change your entry, 
put that person's ph alias in your 'proxy' field. 

To add one or more aliases to your 'proxy' field, you must be 
logged in to the Nameserver.  Then, use the "make" or "edit" 
command to add the desired aliases to your 'proxy' field.  For 
example, to give Paul Pomes proxy rights to your entry, you would 
log in and then type:

    make proxy="p-pomes"

or

    edit proxy    (You will be placed in the default text editor.
                  Type the alias "p-pomes" and save the file.)

If you would like to preclude the possibility of another person 
gaining proxy rights to your ph entry, enter the text "no!" into 
your 'proxy' field (the "!" is an important character because an 
alias may not contain an "!"), for example:

    make proxy="no!"


5.11.5 The 'paper' Field
------------------------

The printed version of the Student/Staff Directory gives the e-
mail address for faculty and staff who have an address listed in 
the 'email' field of their Nameserver entry.  The 'paper' field 
controls how the e-mail address will appear in the Directory.  
There are three options:

1. If the 'paper' field is empty (does not exist), the e-mail 
address will be listed in the printed directory as 
"alias@uiuc.edu", for example, p-pomes@uiuc.edu.  E-mail so 
addressed will be delivered to whatever account is  listed inthe 
'email' field of the ph entry.  CCSO recommends that the 'paper' 
field be left empty.  This is the default; you need do nothing to 
select it.

2. If the 'paper' field contains the text "no", the e-mail address 
will not be printed in the Directory at all.

3. If the 'paper' field contains the text "specific", the address 
contained in the 'email' field of the ph entry will be listed in 
the Student/Staff Directory.  WARNING:  If you exercise this 
option and then get a new e-mail address, your previous e-mail 
address will be listed incorrectly for as long as a year, since 
the Directory is printed only once per year.

To add or change the contents of your 'paper' field, use the 
"edit" or "make" command.  For example, to prevent your e-mail 
address from being printed in the Student/Staff Directory, log in 
to ph and then type:

    make paper="no"

or

    edit paper    (You will be placed in the default text editor. 
                  Type the text "no" [without the quotes] and save
                  the file.)


             6. USING THE NAMESERVER TO FORWARD E-MAIL


6.1 Sending Mail Using Alias-Based Addresses
--------------------------------------------
The Nameserver contains entries for all staff, faculty, and 
students at the University.  Each person in the database is 
identified by a special name called an alias, which is found in 
the 'alias' field of each Nameserver entry.  No two people have 
the same alias; therefore, a person's alias uniquely identifies 
him or her to the Nameserver.  A person's alias is usually formed 
by combining his or her first initial, a hyphen, and complete last 
name.  For example, "Steven C. Dorner" has an alias of "s-dorner."  
Some people share the same first initial and last name; these 
people typically have numbers added to the ends of their aliases, 
so that their aliases remain unique.  For example, "John Doe" 
might have an alias of "j-doe1," and "Jane Doe" might have an 
alias of "j-doe2."  It is possible for the owner of a ph entry to 
change his or her alias by logging in to ph and using the "edit" 
or "make" command; thus, some people have aliases that do not 
follow the conventions just described, such as the alias "SueG."

Aliases serve two functions.  First, they are used as "login 
names" for the Nameserver.  If you wish to make changes to your 
Nameserver entry, you must first tell ph your alias so that it 
knows who is trying to log in.  Second, they can be used as a 
convenient means of sending people electronic mail.  Instead of 
sending mail to a person's specific e-mail address, you can send 
mail to "alias@uiuc.edu", where 'alias' is the person's Nameserver 
alias.  For example, you could send mail to "p-pomes@uiuc.edu", 
and the mail would be delivered to Paul Pomes.
  
Using alias-based addresses to send mail has a couple of 
advantages over using specific e-mail addresses: 1) alias-based 
addresses are often shorter and much easier to remember than 
specific e-mail addresses; and 2) the alias of a user never 
changes (unless the owner of the ph entry deliberately modifies 
his or her alias), whereas it is quite common for the specific 
address at which a person receives electronic mail to change.  By 
keeping the 'email' field in your ph entry up-to-date and 
encouraging friends and colleagues to use your alias-based address 
instead of your specific e-mail address, your electronic mail will 
always be delivered to your current address, eliminating the need 
to notify people if your specific e-mail address should change.  
Therefore, it's a good idea to use your alias-based address on 
business cards and other printed or electronic media that 
advertise your e-mail address. 
 
An example will make the advantage of alias-based addresses much 
clearer.  Greg German, staff member at CCSO, has the Nameserver 
alias "g-german".  Therefore, his alias-based electronic mail 
address is "g-german@uiuc.edu".  At the moment, Greg reads his 
mail on a machine using the e-mail account "german@sonne. 
cso.uiuc.edu".  Greg has put this account name into the 'email' 
field of his Nameserver entry, so that the Nameserver will forward 
mail addressed to "g-german@uiuc.edu" to Greg's actual account, 
"german@sonne.cso.uiuc.edu".
 
Recently, Greg's computer was out of service, and he had to 
receive mail on a different computer while his was being fixed.  
His temporary e-mail account was "german@ux1.cso.uiuc.edu".  Greg 
entered this account in the 'email' field of his Nameserver entry, 
and the mail system stopped sending his mail to 
"german@sonne.cso.uiuc.edu" and started sending his mail to 
"german@ux1.cso.uiuc.edu"  instead.  The people who were using 
Greg's alias-based address to send him mail didn't even know that 
he had changed machines; as far as they were concerned, his 
address was, is, and always will be, "g-german@uiuc.edu".

In order to send mail to an alias-based address, the specific 
account name and machine at which the addressee receives mail must 
be listed in the 'email' field of his or her Nameserver entry.  
Although every person in the ph database has an assigned alias, 
not all persons have information in their 'email' field.  If you 
recently requested a mainframe account from CCSO, you were 
probably asked whether you wanted your account registered in ph; 
and if you said yes, that account address was probably entered 
into the 'email' field of your ph entry.  If you've had your e-
mail account for a long time, chances are that your 'email' field 
is empty, unless you changed it or had someone change it for you.  
The best way to find out whether your own or another person's e-
mail account is registered in ph is to do a lookup on yourself or 
the person to whom you want to send mail.  See Section 4.1 for 
instructions on how to look up a person in the database.  If you 
want to add your e-mail address to your own entry or change the 
current contents of your 'email' field, see Section 5 of this 
guide.  Members of the University community are strongly 
encouraged to add their e-mail account information to their 
respective Nameserver entries.  

There is one potentially confusing aspect of the way ph displays 
the alias/e-mail address information in an entry.  When you 
normally use ph to enter queries and obtain information, the 
Nameserver will present an entry like this example:

  ux1 1> ph paul pomes
------------------------------
            name: pomes paul b
           phone: (217) 333-6262
         address: 1429 DCL, MC 256
                : 1304 West Springfield Avenue
                : Urbana, Illinois  61801-2910
 office_location: 1429 Digital Computer Lab
      department: computing and communications services office
           title: sr res programmer
           hours: Mon: 9:00 to 17:00
                : Tue-Fri: 13:00 to 18:00
        email to: p-pomes@uiuc.edu (paul@uxc.cso.uiuc.edu)
------------------------------

The 'email to' field listed above is FOR DISPLAY PURPOSES ONLY.  
There are actually two separate fields in the Nameserver database 
called 'alias' and 'email'.  Ph combines them on a single line, 
which it labels 'email to', so users can better understand and 
make use of the "alias@uiuc.edu" form of an e-mail address.  
Anyone who wants to send Paul Pomes e-mail should send it to
"p-pomes@uiuc.edu".  It will then be forwarded to the e-mail 
account listed in parentheses, "paul@uxc.cso.uiuc.edu". 
 
If the 'email' field in Paul's entry were empty, the 'email to' 
field would look like this:

    email to: p-pomes@uiuc.edu (no account registered)

When the 'email to' field contains the text "(no account 
registered)," you cannot use an alias-based address to send mail 
to the owner of the entry, even if he or she has an e-mail 
account.

Finally, depending on the exact nature of the query, the resulting 
display may list the 'email' and 'alias' fields separately instead 
of combining them into the single pseudo-field 'email to'.  The 
results of such a query would look like this:

------------------------------
           alias: p-pomes
            name: pomes paul b
           email: paul@uxc.cso.uiuc.edu
           phone: (217) 333-6262
         address: 1429 DCL, MC 256
                : 1304 West Springfield Avenue
                : Urbana, Illinois  61801-2910
 office_location: 1429 Digital Computer Lab
      department: computing and communications services office
           title: sr res programmer
           hours: Mon: 9:00 to 17:00
                : Tue-Fri: 13:00 to 18:00
------------------------------

In the above example, Paul's alias-based address is not listed 
explicitly.  It can be created by simply adding "@uiuc.edu" to the 
end of the contents of the 'alias' field, e.g., "p-
pomes@uiuc.edu".

6.2 Sending Mail Using a Name
-----------------------------
The UIUCnet mail system together with the Nameserver also performs 
another helpful function.  If you don't know an e-mail address and 
don't have access to ph to look it up, it still may be possible to 
send electronic mail.  You can create an e-mail address based on 
the recipient's name.  To do so, put a hyphen between the 
recipient's first and last name and add "@uiuc.edu" to the end.  
For example, without knowing Paul Pomes's particular e-mail 
account or alias, you could try to send him e-mail using the 
address "paul-pomes@uiuc.edu".  The UIUCnet mail system will look 
for an entry in the Nameserver that contains both the first and 
last name of the recipient in the 'name' or 'nickname' fields.  If 
there is only one such entry (remember, there may be many John 
Smiths in the Nameserver database), and if the 'email' field of 
the entry is filled in, the message will be delivered to the 
address specified in the 'email' field. 

If for any reason the UIUCnet mail system has trouble with an 
electronic mail address, the message will be returned to the 
sender, and the reason it could not be delivered will be included 
in the returned message.  This message may include enough 
information to permit the sender to correct the electronic mail 
address and re-send the message.


                        7. ADVANCED TOPICS


7.1 Command-line Options (for Unix Users Only)
----------------------------------------------
There are a variety of options that may be exercised when 
performing ph queries from the  command line on Unix systems and 
when invoking ph to enter interactive mode.  The complete syntax 
for a command-line query including all options is:

    ph [-s server] [-t name-of-type] [-f field1,field2,...] 
       [-mMrRbBTlLF] query

The absence of a query expression at the end of the "ph" command 
and its various options will cause ph to enter interactive mode.  
The complete syntax for entering interactive mode including all 
options is:

  ph [ -s server ] [ -t type ] [ -f field1,field2,... ] [-h topic] 
     [-mMnNrRbBTlLFcC]

The meaning of each command-line option is given below:

Option          Result
------          ------
 
-s server       Use 'server' as a Nameserver host, instead of the 
                default host.  A list of suitable servers may be 
                found with the query "ph ns-servers"  (also in 
                (Appendix C).

-t type         Use 'type' as a default type on queries (e.g.,
                -t unit).  This is just like adding the field
                specifier type='type' to all queries.  The -t 
                option can be overridden by specifying an 
                explicit type in the  query, e.g., "ph pomes
                type=phone".

-f field1,      Return fields 'field1,field2,...' instead of the 
field2,...      default list of fields, if no return
                clause is specified on queries.  (Note that each 
                field in the list should be separated from the 
                next by a comma only.)  Using the -f option is 
                just like adding "return field field2... " to all
                queries.

-h topic        Display the list of on-line help topics.  If the 
                -h option is followed by the name of an on-line
                help topic, the help screen for topic will be 
                displayed.  

-m              Do not use a paging program (like more) when 
                printing responses.

-M              Use a paging program.  This is the default.

-n              Do not read the .netrc file.  This option has
                meaning only when using ph in interactive mode
               (see the ph man page for more details).

-N              Read the .netrc file (see the ph man page for more 
                details).  This is the default
.
-r              Do not reformat 'alias' and 'email' fields to show
                alias-based e-mail addresses.

-R              Reformat 'alias' and 'email' fields to show alias-
                based e-mail addresses.  This is the default.

-b              Do not beautify query responses; print them in 
                detail, complete with response codes.

-B              Beautify query responses.  This is the default.

-T              Do not specify any type by default; this is the 
                default.

-l              Do not label field values with field names when
                displaying query results.

-L              Label field values with field names when 
                displaying query results.  This is the default.

-F              Return the default list of fields; this is the 
                default.

-c              Do not wait for confirmation of "edit" commands.  
                This is the default.

-C              Wait for confirmation of "edit" commands 

Example
-------
In the command-line query on the next page, the "-s 'server'" 
option is used to query the Nameserver at Northwestern University, 
the "-f field1,field'..." option is used to specify which fields 
should be displayed, and the "-r" option is used to tell ph not to 
reformat (combine) the 'email' and 'alias' fields into a single 
field with an alias-based address:

    % ph -s ns.nwu.edu -f name,alias,email -r john norstad
    ------------------------------
    name: norstad, john l
    alias: j-norstad
    email: jln@casbah.acns.nwu.edu
    ------------------------------


7.2 The "switch" Command
------------------------
Many command line options described in section 7.1 above are also 
available in interactive mode through the "switch" command.  The 
complete syntax of the "switch" command including all options is:

    switch [-mMrRbBTlLFcC] [-t type] [-f field1,field2,...]

The options for the "switch" command have the same meaning as the 
command-line options described in section 7.1.  To view the 
current switch settings, enter the command "switch" by itself.  To 
change one or more switches,  type "switch -" followed by the 
letters of the settings you want to change.  For example to turn 
reformatting and paging off and display only those entries of type 
person, enter the following command at the ph> prompt:

    switch -rm -t person

Changes in ph switch settings are only in effect for the current 
interactive session.  Once you exit ph, the settings return to 
their defaults.


7.3 Invoking Interactive Mode with Alternative Names 
----------------------------------------------------
(for Unix Users Only)
---------------------
On some Unix systems, it is also possible to enter interactive 
mode by invoking ph on the command-line with the name of one of 
the ten data types found in the 'type' field of the Nameserver 
database.  These include: "areacode," "fall," "food," "person," 
"phone," "spring," "summer," "timetable," "unit," and "weather."  
If ph is invoked with one of these alternative names, it sets the 
default type for all queries to the type specified.  It also 
displays the name of the specified type as the interactive mode 
prompt (e.g., weather>, food>, etc., instead of ph>).  In the 
example below, ph is invoked with the name "person" and enters 
interactive mode.  All queries processed during the session 
default to type "person":

    ux1 9> person
    $Date: 92/01/31 16:08:48 $$Revision: 5.1 $
    200:Database ready.

     person> ph english return name phone
     ------------------------------
         name: english aaron joseph
         phone: (217) 367-6845
     ------------------------------
         name: english francis e
         phone: 332-1877
     ------------------------------

Once having entered interactive mode in this manner, it is 
possible to override the default type by specifying a different 
type in the selection clause of the query:

    person> ph type=unit english return name phone
    ------------------------------
        name: English as an International Language, Division of
        phone: 333-1506
    ------------------------------
        name: English, Dept of
        phone: 333-2391
    ------------------------------


7.4 Proxy Privileges for Network Administrators
-----------------------------------------------
To facilitate the process of keeping ph entries up-to-date, CCSO 
now offers proxy rights to network administrators, so they can 
systematically enter e-mail address information into the 
Nameserver database and make other modifications upon request for 
their users.  Network administrators who would like to obtain 
proxy rights for a group of users should send an e-mail request to 
"nameserv@uiuc.edu". The request should contain the 
administrator's own name and ph alias and a list of ph aliases for 
the entries to which he or she wants to gain proxy.  Once proxy 
rights to a ph entry are granted, the administrator can edit any 
changeable field in the entry. 

Note: The administrator is obliged to get permission from his or 
her end-users before requesting proxy rights from CCSO.  Users who 
don't want to grant proxy rights to their network administrator 
(or anybody else) should put the text "no!" in the proxy field 
(for more information, see section 5.11.4).


7.4.1 Editing a Ph Entry by Proxy
---------------------------------
The method of editing an entry for which one has proxy varies from 
one ph client to the next.  On Unix machines there are several 
methods of which the following is perhaps the most direct.  Enter 
ph's interactive mode and log in as yourself.  First verify the 
current contents of the entry that you want to modify by using the 
command: 

    ph alias=alias_of_entry_to_be_edited

To edit a specific field in the entry, use the syntax:

    edit field alias_of_entry_to_be_edited

For example, to edit the 'email' field of a user with the alias 
"t-jones1," enter the command: "edit email t-jones1".  The "edit" 
command will invoke the default text editor, usually vi, and the 
contents can be filled in or modified and then saved.

7.4.2 Changing a Password by Proxy
----------------------------------

To change the ph password of an entry for which you have proxy, 
first enter ph's interactive mode and log in as yourself.  Then 
enter the "passwd" command followed by the alias of the entry 
whose password you want to change, e.g., "passwd t-jones1".  You 
will be asked to enter the new password twice.  Be sure to give 
all of your users different passwords, and help them pick unique 
passwords that they can remember.  For advice on selecting good 
passwords, see section 5.10.  


               8. NAMESERVER POLICIES AND PROCEDURES


8.1 Mailing Lists
-----------------
The Nameserver should not be used for the generation of mailing 
lists; nor should it be used in a way that invades the privacy of 
University students or staff.  Attempts to use the Nameserver for 
such purposes may result in loss of CCSO services to the offender 
or to the offender's computer, as well as other action deemed 
appropriate by the University.
  
The Nameserver is also not the appropriate means for notifying the 
University of a change of address.  Changes made in your ph entry 
are NOT automatically sent to the Office of Admissions and 
Records, Payroll, or anywhere else.


8.2 Nameserver Updates
----------------------
The data for each information category in the Nameserver database 
come from different sources and are updated at different times (if 
at all).  The update schedule for each category is given below.


8.2.1 People
------------
Nameserver data for faculty and staff is provided by the 
University Payroll Office.  The data for students is provided by 
the Office of Admission and Records.  Updates for people are done 
four times per year.  An update can include one or all of the 
following steps:

1. New staff and students are added to the database.

2. Fields that originate from official data are set to official 
values.  These fields are: 'name', 'phone', 'office_phone',  
'home_phone', 'address', 'office_address', 'home_address',  
'permanent_address', 'department', 'title', 'curriculum', and 
'high_school;.  All other fields are left strictly alone.

3. Staff and students that have left the University are removed 
after a one year grace period.

If you do not wish the update described above in step 2 to affect 
your entry, put something in your 'no_update' field.  If there is 
any text in your 'no_update' field, your entry will not be touched 
by step 2, except the 'name' and 'curriculum' fields, which are 
ALWAYS updated.  For more information, see section 5.11.2.

The approximate schedule for student/faculty/staff updates is as 
follows:

    January       Step 1 and Step 2, students only
    June          Step 1 and Step 2, students only
    September     Step 1 and Step 2, students only
    October       Steps 1, 2, and 3 for students, faculty, and
                  staff

8.2.2 University Timetable
--------------------------
The University Timetable information is updated three times a 
year.  The fall timetable is available in early March, the spring 
timetable comes on line in early October, and the summer timetable 
is available in the middle of February.


8.2.3 Restaurant Guide
----------------------
The restaurant information in ph was updated in fall of 1992.


8.2.4 Area Codes
----------------
Telephone area code information in ph comes from an old data set 
and is only sporadically and haphazardly updated.


8.2.5 Weather
-------------
Weather information is updated in real time as it arrives on the 
data feed.


                     9. FOR MORE INFORMATION


9.1 On-line Help
----------------
Ph has an extensive on-line help system.  To access ph's on-line 
help, enter interactive mode and then enter the command "help".  A 
list of help topics will be displayed.  You will notice that the 
list of topics is divided into two parts, ph help topics and 
native help topics.  The ph help topics pertain to commands and 
concepts related to the Unix ph client and other clients similar 
to it.  The native topics may be of interest to anyone using the 
Nameserver database and are not specific to a particular client.

To ask for help on a specific topic, enter the command "help name-
of-topic", where 'name-of-topic'  is the actual name of the help 
topic in which you are interested.  For example, to learn more 
about the "edit" command, you could enter: "help edit".  When you 
ask for help on a specific topic, help will first look for that 
topic in the ph help topics.  If there is no ph help for the 
topic, it will look for a native help topic with that name.  In 
the rare event that you are interested in reading the native help 
text for a topic that also has a ph help text, use the command: 
"help native name-of-topic".


9.2 Source Code for Ph Server and Client
----------------------------------------
The source code (and other relevant files) for the server side of 
the CCSO Nameserver program can be found on the anonymous ftp host 
"uxc.cso.uiuc.edu" in the "net/qi" directory.  The source code for 
several ph clients including the original Unix client is available 
on the same host in the "net/ph" directory.  Programmers 
interested in developing ph clients should obtain the document The 
CCSO Nameserver, Server-Client Protocol, also available on uxc in 
the directory "net/qi/doc".  Questions about the Unix server 
and/or client source code can be directed via e-mail to Paul Pomes 
at "p-pomes@uiuc.edu".


                   APPENDIX A: PH CLIENT SOFTWARE 


Ph client software permits users of desktop computers, 
workstations, and mini-computers connected to the campus network 
(UIUCnet) to query the CCSO Nameserver without logging in to a 
CCSO mainframe.  At least one ph client program is available for 
each of the desktop platforms commonly found on the UIUC campus.  
These software packages are available on the anonymous ftp server 
uxc.cso.uiuc.edu in the "net/ph" directory.  Each client is 
located in a subdirectory under the "net/ph" directory, and the 
subdirectories are named according to operating system or platform 
(e.g., "net/ph/dos").  All of the clients on uxc are in the public 
domain; however, some only work in conjunction with a commercial 
TCP/IP product (for example pcph for DOS computers relies on FTP 
Software's PC/TCP kernel).  The following clients are currently 
available on "uxc.cso.uiuc.edu":


Platform/OS              Directory Name       Comments
-----------              --------------       --------

IBM PC Compatible/DOS    net/ph/dos           A port of the
                                              original Unix
                                              client. Requires 
                                              FTP Software's 
                                              PC/TCP software.

IBM Compatible/DOS/PCNFS net/ph/pcnfs         Full-featured DOS 
                                              client. Requires Sun 
                                              Microsystem's PCNFS.

IBM PC Compatible/       net/ph/windows       Requires Sun 
Windows 3.x                                   Microsystem's PCNFS,
                                              but source code is 
                                              provided, and the 
                                              program can be 
                                              modified to use
                                              other Windows TCP/IP
                                              DLL (Dynamic Link
                                              Library) drivers.

Macintosh                 net/ph/mac          Great full-featured 
                                              client.

NeXT                      net/ph/next         Nice user interface,
                                              but does not permit 
                                              Nameserver login or 
                                              editing entries.

X Windows System          net/ph/xph-2.4      Full-featured client 
  (release 4)                                 for X Terminals and 
                                              computers running X 
                                              server software.

Unix                      net/ph/unix         The generic Unix
                                              client described in 
                                              this user guide.

VMS                       net/ph/vms          A port of the Unix
                                              client for VAX/VMS
                                              systems running 
                                              WIN/TCP.


         APPENDIX B: FIELDS USED IN THE NAMESERVER DATABASE


Below is a list of all of the fields currently used in the CCSO 
Nameserver database (see section 5.6 for more information on how 
to interpret this raw data).  To request the most up-to-date list 
of fields, enter ph's interactive mode and enter the command 
"fields" at the ph> prompt. 

-200:6:alias:max 32 Indexed Lookup Public Default Change
-200:6:alias:Unique name for user, chosen by user.
-200:3:name:max 256 Indexed Lookup Public Default
-200:3:name:Full name.
-200:2:email:max 128 Indexed Lookup Public Default Change
-200:2:email:Account to receive electronic mail.
-200:11:curriculum:max 64 Lookup Public Default
-200:11:curriculum:University curriculum
-200:1:phone:max 64 Lookup Public Default Change
-200:1:phone:Preferred telephone number.
-200:32:office_phone:max 60 Indexed Lookup Public Change
-200:32:office_phone:Office telephone number.
-200:33:home_phone:max 60 Lookup Public Change
-200:33:home_phone:Home telephone number.
-200:36:fax:max 60 Lookup Public Change
-200:36:fax:FAX telephone number.
-200:37:permanent_phone:max 60 Lookup Public Change
-200:37:permanent_phone:Permanent phone (students).
-200:0:address:max 128 Lookup Public Default Change
-200:0:address:Preferred paper mail address.
-200:22:office_address:max 128 Lookup Public Change
-200:22:office_address:Paper mail address of office.
-200:19:office_location:max 128 Lookup Public Default Change
-200:19:office_location:Physical location of office.
-200:20:home_address:max 128 Lookup Public Change
-200:20:home_address:Home paper mail address.
-200:21:permanent_address:max 128 Lookup Public Change
-200:21:permanent_address:Permanent home address (students).
-200:8:proxy:max 64 Indexed Lookup Public Change
-200:8:proxy:Alias of other users who may change this entry.
-200:23:nickname:max 120 Indexed Lookup Public Change
-200:23:nickname:Nicknames
-200:38:paper:max 10 Public Change
-200:38:paper:Instructions about the paper directory.
-200:31:no_update:max 10 Public Change
-200:31:no_update:Don't update this entry from directory tape.
-200:9:department:max 64 Lookup Public Default Change
-200:9:department:University department.
-200:10:title:max 64 Lookup Public Default Change
-200:10:title:University job title.
-200:14:hours:max 256 Lookup Public Default Change
-200:14:hours:Office hours.
-200:15:project:max 256 Lookup Public Change
-200:15:project:Current project(s).
-200:16:other:max 256 Lookup Public Default Change
-200:16:other:Other info the user finds important.
-200:17:revisions:max 2048 Lookup Public Change
-200:17:revisions:Revision history.
-200:26:callsign:max 16 Indexed Lookup Public Change
-200:26:callsign:HAM radio callsign.
-200:27:pager:max 64 Lookup Public Default Change
-200:27:pager:The infamous 'beeper'.
-200:28:family:max 256 Lookup Public Change
-200:28:family:Family members.
-200:29:birthday:max 24 Lookup Public Change
-200:29:birthday:Birthday.
-200:35:high_school:max 30 Indexed Lookup Public Change
-200:35:high_school:High School attended
-200:39:colleges:max 120 Lookup Public Change
-200:39:colleges:Other colleges attended
-200:53:CHANGE_NOTHING:max 1
-200:53:CHANGE_NOTHING:A message to CCSO Accounting
-200:4:type:max 80 Lookup Public
-200:4:type:Staff, Student, Organization, etc.
-200:5:id:max 16 Indexed
-200:5:id:Nameserver id code.
-200:7:password:max 16 Change Encrypt
-200:7:password:User's nameserver password.
-200:25:all:max 1
-200:25:all:reserved
-200:30:hero:max 10
-200:30:hero:Is a ph hero.
-200:50:file:max 1
-200:50:file:For phify's benefit.
-200:42:left_uiuc:max 10 Lookup Public Default
-200:42:left_uiuc:Month and year ph noticed the person left the
        University
-200:44:validated:max 10 Lookup Public
-200:44:validated:Month and year the ph entry was last validated
-200:45:created:max 10 Lookup Public
-200:45:created:Month and year the ph entry was created
-200:51:CCSO-accounts:max 4095 Indexed
-200:51:CCSO-accounts:CCSO Accounts
-200:52:CCSO-comments:max 4095
-200:52:CCSO-comments:CCSO Comments
-200:41:kerberos:max 32 Indexed Lookup Public
-200:41:kerberos:Kerberos Id
-200:24:def_account:max 64
-200:24:def_account:Default account for printing.
-200:34:text:max 4095 Lookup Public Default NoPeople
-200:34:text:Miscellaneous text
-200:40:slip:max 256 Indexed Lookup Public
-200:40:slip:Permissible SLIP addresses
-200:43:suppress:max 10
-200:43:suppress:For the paranoid


             APPENDIX C: PH SERVERS ACROSS THE INTERNET


Ph can be used to query Nameservers at remote locations (see 
section 4.2 in this guide).  The following is a list of the 
publicly accessible Ph Nameservers as of 1/20/93 (to request the 
most up-to-date list from the CCSO Nameserver, enter the query "ph 
ns-servers"). The first column lists the name and location of the 
institution where the Nameserver is located.  The second column 
lists the Internet address of the machine on which the server is 
installed.  Use the information in the second column as the 
argument to the "-s" option when querying a remote server (e.g., 
"ph -s gopher.aston.ac.uk").  The third column lists the domain 
name for institutions that use alias-based mail. For example, if 
you wanted to send an e-mail message to Beverly Thomas at the US 
Army Corps of Engineers, C.E.R. Lab, and you discovered through 
the use of ph that her alias was b-thomas, you could then address 
the message to "b-thomas@cecer.army.mil".  For more information on 
the use of alias-based mail, see section 6.1.

Site                                 Server         Domain
----                                 ------         ------
University of Illinois at       ns.uiuc.edu        uiuc.edu
Urbana-Champaign

Aston University, UK            gopher.aston.ac.uk

Bates College                   mother.bates.edu

Board of Governors              ns.bgu.edu         bgu.edu
Universities, IL USA

Brigham Young University        kolob.byu.edu

Brown University                ns.brown.edu       brown.edu

CHUUG/EUnet, Switzerland        chsun.eunet.ch

Calvin College                  calvin.edu

Chicago State University        ns.csu.bgu.edu     csu.bgu.edu

Columbia University             gutentag.cc.columbia.edu

Cornell College, Iowa           ns.cornell-iowa.edu

Cornell Directory of Legal     fatty.law.cornell.edu
Academia

Cornell University              qi.cornell.edu     cornell.edu

Eastern Illinois University     ux1.cts.eiu.edu

Educational Computing Network,  ns.ecn.bgu.edu     ecn.bgu.edu

Eidg. Technische Hochschule,    ural.ethz.ch
Zurich

Free University of Amsterdam    zadar.cca.vu.nl

Governors State University      ns.gsu.bgu.edu     gsu.bgu.edu

Helsinki University of          ns.cs.hut.fi
Technology

Intl. Ctr. for Genetic Eng.     genes.icgeb.trieste.it
Italy

Keio University, Sci. & Tech    bash.cc.keio.ac.jp
Campus, & Biotech, Japan

Lawrence Livermore National     ns.llnl.gov        llnl.gov
Laboratory

Lehigh University               ns1.cc.lehigh.edu

Massachusetts Institue of       mitdir.mit.edu
Technology

Michigan State University       gopher.msu.edu

North Dakota State University   plains.nodak.edu

Northeastern Illinois Univ.     ns.neiu.bgu.edu   neiu.bgu.edu

Northwestern University         ns.nwu.edu        nwu.edu

Princeton University            princeton.edu     princeton.edu

Roskilde Universitetscenter,   .ruc.dk            uc.dk
Denmarkns

State University of New York    lictor.acsu.buffalo.edu
at Buffalo

Technical Research Centre       ns.vtt.fi         vtt.fi
Finland

Texas A&M University            ns.tamu.edu

US Army Corps of Engineers,     ns.cecer.army.mil  cecer.army.mil
C.E.R. Lab                                              

University of Arizona           ns.arizona.edu

University of California        uci.edu           uci.edu
at Irvine

University of California at         ucsd.edu
San Diego

University of Chicago           prism.uchicago.edu  chicago.edu

University of Colorado,          directory.colorado.edu
Boulder

University of Florida           ns.eng.ufl.edu

University of Iowa              ns.uiowa.edu      uiowa.edu

University of Laval, Quebec     ns.gel.ulaval.ca

University of Minnesota         ns.umn.edu

University of Nebraska          ns.unomaha.edu    unomaha.edu
at Omaha

University of Notre Dame        ns.nd.edu         nd.edu

University of Oregon            whois.uoregon.edu

University of Texas at Austin   mojo.ots.utexas.edu

University of Utah              ph.cc.utah.edu

University of Utrecht,          nic.cc.ruu.nl
Netherlands

University of Victoria, Canada  netinfo.uvic.ca

University of Waterloo,         ns.uwaterloo.ca
Ontario, Canada

University of Wisconsin at      wisc.edu          wisc.edu
Madison

Western Illinois University,    ns.wiu.bgu.edu    wiu.bgu.edu