The CCSO Nameserver - An Introduction by Steven Dorner s-dorner@uiuc.edu Computer and Communications Services Office University of Illinois at Urbana March 29, 1990 updated by Paul Pomes paul-pomes@uiuc.edu Computer and Communications Services Office University of Illinois at Urbana August 2, 1992 % ph steven dorner ---------------------------------------- name: dorner steven c phone: 244-1765 address: 181 dcl : CAMPUS MC 256 department: computing services office title: res programmer hours: 7-5, four days per week. email to: s-dorner@uiuc.edu (dorner@ux1.cso.uiuc.edu) ---------------------------------------- What is the CCSO Nameserver? The CCSO Nameserver could be considered a database containing information about people and things at the University of Illi- nois. It is designed to be extremely flexible in terms of the information it keeps and also to provide fast access to that information. Currently, most of the information in the Nameserver database comes from the University Student/Staff Directory (the printed phone book). The database also holds several additional categories of information such as 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.; up-to-the-hour weather condition 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 groups. ____________________ Converted to portable n/troff format using the -me macros from funky Next WriteNow format (icch). The CCSO Nameserver could also be regarded as 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 Nameserver itself as ph or use the terms Nameserver and ph interchangeably. Where is it? The database for the Nameserver is installed on a VAXServer 3500 that runs the UNIX operating system (Ultrix 3.0); the name of this CCSO computer is garcon.cso.uiuc.edu with the alias ns.uiuc.edu. The program that manages the database (qi) also runs on this machine. Qi allows programs running on other com- puters to access the database by serving as an intermediary between them and the actual database. The Nameserver functions on a "server-client" basis. This means that the database and query interpreter reside on a single com- puter (the VAXserver described above), which functions as the "server". Mainframes and desktop computers can transparently access server data over UIUCnet, the campus network, using spe- cial software designed to communicate with the server. Machines running such software (and the end-user software itself) are typ- ically referred to as ph "clients". Ph client programs have been developed for almost all of the mainframe and desktop computing platforms and operating systems found on the UIUC campus includ- ing UNIX, VM/CMS, VMS, PC (DOS), Macintosh, Next, and X Windows. Some of these clients were developed locally, while others have been developed by programmers at other institutions. A full-featured ph client is available on all CCSO-administered UNIX computers. A slightly less robust client can be found on the CCSO IBM mainframe VMD. Ph client software is also installed on hundreds of desktop computers and workstations on the campus network. Client software for desktop computers such as IBM PCs and Macs provides convenient access to server data without requiring a mainframe account or special knowledge of an unfami- liar operating system or text editor. For a list of ph clients and information on where to get them, see ph's on-line help for "clients". What Services Does the Nameserver Offer? The Nameserver can be used to find the phone numbers and addresses of University faculty, students, and staff members, just like the printed version of the Student/Staff Directory; but the Nameserver is not a mere electronic copy of the campus phone book. For one thing, it contains the electronic mail addresses for thousands of faculty, students, and staff. It also includes additional information about some individuals such as office hours, birthdays, vacation plans, facsimile numbers, etc. Infor- mation of the latter sort is usually entered manually by the owner of the entry and is, thus, available for some people in the database and not others. The Nameserver also contains entire categories of information not found in the Student/Staff Directory; e.g., weather conditions, local restaurants, national area codes, the university course timetable, etc. For information on how to extract such informa- tion from the Nameserver, see ph's on-line help for "people", "campus_units", "weather", "areacodes", "restaurants", and "timetable". A key thing to know about the Nameserver is that, if you use a computer that has a full-featured ph client installed on it, you can change the information the Nameserver keeps about you. For example, if your office address or phone number changes in the middle of the year, you can put your correct address and phone number in the Nameserver immediately so that people can use ph to find up-to-date information about you. Another very important function of the Nameserver is electronic mail forwarding. If you tell the Nameserver where you read your electronic mail by recording this information in your "email" field, then anyone wishing to send mail to you can send the mail to alias@uiuc.edu, where alias is your Nameserver alias (a unique name by which the Nameserver knows you, generally formed by your first initial, a hyphen, and your full last name). If someone doesn't know your Nameserver alias, s/he can send mail to your-name@uiuc.edu, and the Nameserver will try to find you. In either case, the Nameserver will send your mail to the address listed in the "email" field of your nameserver entry. For exam- ple, you can send mail to Steven Dorner (author of the UNIX ph program) using the address: s-dorner@uiuc.edu ("s-dorner" is Steve's Nameserver alias), or steven-dorner@uiuc.edu (Steve's real-life name). Either way, the mail will be forwarded by the Nameserver to "dorner@ux1.cso.uiuc.edu", which is where Steve currently reads his mail. For more information on e-mail for- warding, see the ph on-line help for "e-mail". Nameserver Restrictions and Limitations There are some things the Nameserver is not meant to do. One thing that should be mentioned right away is that the Nameserver can't be used to generate mailing lists for junk mail. The server is designed so that queries that generate more than 25 responses are refused. So, you don't have to worry about getting junk mail because you appear in the Nameserver's database. Also, the Namserver cannot be used to notify the University about changes of address, phone number, and/or other personal or offi- cial information about yourself. Although you can change this kind of information in your Nameserver entry, such changes are not automatically sent to your department, the Office of Admis- sions and Records, Payroll, or anywhere else. You must notify these offices individually by filling out the appropriate paper- work. Using Ph to Find Information Ph can be used to look up information about people or things in the Nameserver database or to change information in your own entry. The specific procedures involved will depend on the ph client you use. To use ph to find out information about a per- son, type "ph" and the name of the person you want to know about (note: some ph clients do not require the user to type the com- mand "ph" before the name); ph will respond with information about that person. For example: % ph steven dorner ---------------------------------------- name: dorner steven c phone: 244-1765 address: 181 dcl : CAMPUS MC 256 department: computing services office title: res programmer hours: 7-5, four days per week. email to: s-dorner@uiuc.edu (dorner@ux1.cso.uiuc.edu) ---------------------------------------- If there are lots of people who have the name you asked for, ph will let you view the list a screenful at a time; just hit the spacebar to move to the next screen. (Here again, the method of advancing from one screen to the next will depend on the client you use. Most ph clients take advantage of the native charac- teristics of the platform on which they are installed. Thus, the Macintosh client requires you to use the scroll bar in order to move to the next screen, the VM/CMS client waits for you to press the "clear" key, etc.) If you do not know the exact spelling of a name, you can use spe- cial symbols in the name to take the place of one or more unknown characters. These symbols are called "metacharacters". I won't say anything more about metacharacters here; see the on-line help for "manpage" and "query" for more information. Sometimes, you will ask ph for a name, and it will refuse to give you information because too many people have that name. For example: % ph steven 502:Too many entries to print. Ph does this so that no one can use it to create mailing lists for junk mail or other nefarious purposes. If you really want to find the person, you will have to know something else about them, like part of their last name (or first name, if you know their last name), their phone number,[1] or some other piece of infor- mation that has been recorded in their Nameserver entry. Sup- pose, for example you know this fellow named Steven who works in DCL, but you don't know his last name. You could say: % ph steven address=dcl and all of the "steven"s who have "dcl" in their address field would be displayed. Using Ph to Change Information Ph can also be used to change information. Not all ph clients, however, permit the user to access his or her own entry and edit it. The following discussion focuses on the UNIX ph client and clients similar to it such as the VMS, VM/CMS, and DOS client. (The Macintosh ph client also allows a user to login and change his or her entry, but the procedure is entirely different from that described here. Full documentation is available for the Mac client.) If you want to change the information the Nameserver keeps about you, type "ph" at the operating system prompt. Ph won't look up a name, but will instead give you a special "ph>" prompt. There are many possible commands you can type once at the "ph>" prompt; they are described in full in the ph manual page and also in the ph on-line help for "commands". You will only need to know four commands to change your information: login, me, edit, and quit. Before actually using ph to change your entry, you will have to make some preparations. The first thing you need to do is find out your Nameserver alias. This is a unique name assigned to you by 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 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". The easiest way to find your alias is to look up your name with ph. ____________________ [1] See the ph manual page for information on how to search for people with a certain phone number or address. Once your know your alias, you need to find out your Nameserver password. To do this, come to the CCSO Resource Center in Room 1420 DCL and present a valid University ID at the Accounting Desk. We cannot give out passwords via email or phone to prevent disclosure to unauthorized persons. In cases where a) ph is being used by the same user-id on the same machine that's listed in the email field, and b) ph has been installed "setuid root", and c) the ph version is 5.2 or greater, then no password is needed to login. Now, it's time to use ph to change your information. Type "ph" and the "return" key. You will get a "ph>" prompt. Now, type "login alias" (but use your real alias, not the word "alias"!) and a return. Ph will ask for your password; type your password and a return. You should get a greeting from the Nameserver, and another prompt. For example: % ph $Date: 1992/09/05 18:20:49 $$Revision: 1.2 $ 100:Ph passwords may be obtained at CCSO Accounting, 1420 DCL. 100:Be sure to bring your University Id Card. You may not need 100:a password if you are using the login in your email field. 200:Database ready. ph> login s-dorner Enter nameserver password: 200:s-dorner:Hi how are you? ph> You are now ready to change your information. Your Nameserver entry is organized into "fields", each one containing a different piece of information. There is a field for your name, your address, your phone numbers, etc.[2] To see all of the fields in your entry, type the command me at the "ph>" prompt. It's always a good idea to use the me command before and after changing an entry to verify the original and new contents of your entry. To change a particular field, type "edit field" and a return, substituting the name of the field you wish to change for "field". For example, if you want to change your phone number, type "edit phone". You will be placed in your favorite UNIX edi- tor,[3] with the current contents of the field you specified displayed. If the field was empty, you will be presented with an empty file into which ypu can insert text. Make whatever changes you wish, save your changes, and exit the editor. Ph will then change the information in the field specified for you. ____________________ [2] The ph command fields will give a complete list of Nameserver fields. [3] Unless you take pains to change it, that editor will be vi(1); see Appendix A if you've never used vi before. If you aren't familiar with your machines's text editor, you may prefer to use the make command instead. N.B., the make command does not work properly with the VM/CMS client. After you login to ph, just type, make name-of-field="value-of-field" ph> make email="dorner@ux1.cso.uiuc.edu" 200:1 entry changed. ph> When using the make command, be sure to enclose the "value-of- field" information is double quotation marks ("). Some field information cannot be changed; the "name" field, for example. If you need to change such a field, arrangements can be made with the staff at the CCSO Accounting and Distribution Office in 1420 DCL. Once you are finished changing your information, type quit and a return. You will be logged out of ph and returned to the operat- ing system prompt. Suppose I Don't Have Access to a Ph Client? If your computer doesn't have a ph client installed on it, but you would like to use ph to look up addresses or change your information, you can still do so. Connect to the CCSO's Sequent computer ux1 by using telnet ("telnet"ux1.cso.uiuc.edu" sytek ("call 1600"), or by dialup (333-4000, ux1). When you see the "login:" prompt, type "phones" and a return. You will then be prompted for your terminal type. If you have a vt100 terminal or terminal emulator, you can just type a return; if you have some other terminal, type its name.[4] You will eventually get a "ph>" prompt, and can use ph to lookup and change information. ____________________ [4] If you have trouble finding the right name to use for your terminal, call the CCSO Consultants at 333-6133. Where Can I Find More Information About Ph? Ph has an extensive on-line help system. UNIX users can access it by entering ph's interactive mode, and typing, help. % ph $Date: 1992/09/05 18:20:49 $$Revision: 1.2 $ 100:Ph passwords may be obtained at CCSO Accounting, 1420 DCL. 100:Be sure to bring your University Id Card. You may not need 100:a password if you are using the login in your email field. 200:Database ready. ph> help ---------------------------------------- These "ph" help topics are available: add interactive_mode query change login quit command-line_mode logout register commands make status delete manpage switch edit me vi fields passwd help ph To view one of these topics, type "help name-of-topic-you-want". ---------------------------------------- These ``native'' help topics are also available: 100 501 514 aliases ph_news 101 502 515 areacodes policy 102 503 516 campus_units protocol 200 504 517 clients proxy 201 505 518 e-mail restaurants 300 506 519 email sites 301 507 520 forwarding timetable 400 508 521 introduction type 401 509 522 nickname weather 402 510 523 no_update 403 511 598 paper 475 512 599 password 500 513 alias people To view one of these topics, type "help native name-of-topic-you-want". ---------------------------------------- CMS users of ph should give the command, "ph help", and subse- quently "ph help name-of-topic" (e.g., "ph help email"). What If I Have Trouble? If you have problems or questions that are not resolved by read- ing this document, the ph on-line help, or The CCSO Nameserver, Server-Client Protocol, document, call the CCSO SYstems Consult- ing Office at 333-6133. APPENDIX A A Rank Beginner's Guide to VI This page describes a few vi commands to accomplish simple edit- ing tasks. Full documentation for vi can be found in The UNIX User's Manual Supplementary Documents, chapter 15 (really advanced users should read chapter 16 as well). Two thing to keep in mind: First, the editor is pronounced "vee eye"; if you pronounce it, "vie", UNIX gurus will laugh at you, though not out loud. Secondly, vi is case-sensitive; be sure to use upper or lower case commands as appropriate. Modes Vi is a modal editor; what you can do depends on what mode you are in. The two modes of interest to us are command mode and insert mode. You type most commands in command mode; all you do in insert mode is type your text. You get out of insert mode by typing escape, usually marked "esc" on keyboards; on some key- boards, you may have to hold down the control or alt key and press "[". If you type escape in command mode, vi will beep at you; so if you get confused, just type escape until vi beeps; then you'll be back in command mode. Moving Around Here are some motion commands in vi. They are typed in command mode, and leave the editor in command mode. Command What it does ____________________________________________________ control-h Moves the cursor left one character. h Moves the cursor left one character. j Moves the cursor down one line. k Moves the cursor up one line. l Moves the cursor right one character. w Moves the cursor forward to the begin- ning of the next word. b Moves the cursor backward to the begin- ning of the previous word. Deleting Text Here are some commands to get rid of stuff. Type them in command mode; they will leave the editor in command mode. Command What it does __________________________________________________ dd Deletes the current line. x Deletes the character at the cursor, and moves the rest of the line to fill the hole. Adding Text The following commands all put you into insert mode and let you type text. Type escape when you are finished adding text, and you will be returned to command mode. Command What it does __________________________________________________ i Start inserting characters before the character the cursor is on. a Start inserting characters after the character the cursor is on. O Create a new line above the cursor, and start inserting at the beginning of that line. Note that this command is a capi- tal "O", not zero. Getting Out The following commands exit vi. They work in command mode. Command What it does __________________________________________________ ZZ Exit vi, and save the changes you have made. Those are capital Z's! :q! Exit vi, but don't save changes (the "" means to type return).