              3               The CCSO Nameserver - An Introduction   !                                by 1                 Steven Dorner   s-dorner@uiuc.edu 6            Computer and Communications Services Office0                 University of Illinois at Urbana  '                          March 29, 1990     %                            updated by 0                 Paul Pomes   paul-pomes@uiuc.edu6            Computer and Communications Services Office0                 University of Illinois at Urbana  '                          August 2, 1992           . % pphh sstteevveenn ddoorrnneerr( ----------------------------------------       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.7   email to: s-dorner@uiuc.edu (dorner@ux1.cso.uiuc.edu) ( ----------------------------------------    J _W_h_a_t _i_s _t_h_e _C_C_S_O _N_a_m_e_s_e_r_v_e_r?  = 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 that7 information.  Currently, most of the information in the S Nameserver database comes from the University _S_t_u_d_e_n_t/_S_t_a_f_f N _D_i_r_e_c_t_o_r_y (the printed phone book).  The database also holdsA 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 ____________________A    Converted to portable n/troff format using the -me macros from " funky Next WriteNow format (icch).                         22                           TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn     > metropolitan areas throughout the country; and special entries? created on request such as organizations within departments and  student clubs and groups.   A The CCSO Nameserver could also be regarded as a pair of programs: D one that manages the actual data (this program is called _q_i, forA _query _interpreter), and another program (or rather a group of A programs - one for each computing platform on the campus network) > that handles end-user requests.  The programs that handle userH requests are usually called _p_h (or _p_h clients), which stands forC phone book.  Because _p_h is the name of the software familiar to D most end-users, many people refer to the Nameserver itself as _p_h7 or use the terms Nameserver and _p_h interchangeably.    _W_h_e_r_e _i_s _i_t?  @ The database for the Nameserver is installed on a VAXServer 3500= that runs the UNIX operating system (Ultrix 3.0); the name of 8 this CCSO computer is garcon.cso.uiuc.edu with the aliasA ns.uiuc.edu.  The program that manages the database (_q_i) also C runs on this machine.  _Q_i 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.  MachinesA running such software (and the end-user software itself) are typ- E ically referred to as ph "clients".  _P_h 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 4 been developed by programmers at other institutions.  C A full-featured _p_h client is available on all CCSO-administered > UNIX computers.  A slightly less robust client can be found onE the CCSO IBM mainframe VMD.  _P_h 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".  l _W_h_a_t _S_e_r_v_i_c_e_s _D_o_e_s _t_h_e _N_a_m_e_s_e_r_v_e_r _O_f_f_e_r?  8 The Nameserver can be used to find the phone numbers and= addresses of University faculty, students, and staff members,                      TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn                           33     k just like the printed version of the _S_t_u_d_e_n_t/_S_t_a_f_f _D_i_r_e_c_t_o_r_y; 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 officeA hours, birthdays, vacation plans, facsimile numbers, etc.  Infor- < mation of the latter sort is usually entered manually by theA owner of the entry and is, thus, available for some people in the  database and not others.  A The Nameserver also contains entire categories of information not i found in the _S_t_u_d_e_n_t/_S_t_a_f_f _D_i_r_e_c_t_o_r_y; e.g., weather conditions, = local restaurants, national area codes, the university course @ timetable, etc.  For information on how to extract such informa-A tion from the Nameserver, see _p_h'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 aD computer that has a full-featured _p_h 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 phoneE number in the Nameserver immediately so that people can use _p_h 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 mailc to _a_l_i_a_s@_u_i_u_c._e_d_u, where _a_l_i_a_s 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 someone9 doesn't know your Nameserver alias, s/he can send mail to ^ _y_o_u_r-_n_a_m_e@_u_i_u_c._e_d_u, 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-B ple, you can send mail to Steven Dorner (author of the UNIX _p_h< 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-2 warding, see the _p_h on-line help for "e-mail".  o _N_a_m_e_s_e_r_v_e_r _R_e_s_t_r_i_c_t_i_o_n_s _a_n_d _L_i_m_i_t_a_t_i_o_n_s   = 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 A responses are refused.  So, you don't have to worry about getting : junk mail because you appear in the Nameserver's database.                     44                           TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn     A 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.   L _U_s_i_n_g _P_h _t_o _F_i_n_d _I_n_f_o_r_m_a_t_i_o_n  C _P_h can be used to look up information about people or things in < the Nameserver database or to change information in your ownB entry.  The specific procedures involved will depend on the _p_hC client you use.  To use _p_h to find out information about a per- @ son, type "ph" and the name of the person you want to know aboutC (note: some _p_h clients do not require the user to type the com- @ mand "ph" before the name); _p_h will respond with information  about that person.  For example:  2     % pphh sstteevveenn ddoorrnneerr,     ----------------------------------------           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) ,     ----------------------------------------    C If there are lots of people who have the name you asked for, _p_h > 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 B you use.  Most _p_h clients take advantage of the native charac-A teristics of the platform on which they are installed.  Thus, the ? Macintosh client requires you to use the scroll bar in order to A move to the next screen, the VM/CMS client waits for you to press  the "clear" key, etc.)  A If you do not know the exact spelling of a name, you can use spe- A cial symbols in the name to take the place of one or more unknown @ characters.  These symbols are called "metacharacters".  I won'tA say anything more about metacharacters here; see the on-line help / for "manpage" and "query" for more information.   E Sometimes, you will ask _p_h for a name, and it will refuse to give < you information because too many people have that name.  For example:                       TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn                           55          % pphh sstteevveenn "     502:Too many entries to print.    B _P_h does this so that no one can use it to create mailing listsA for junk mail or other nefarious purposes.  If you really want to A 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 in6 DCL, but you don't know his last name.  You could say:  A     % pphh sstteevveenn aaddddrreessss==ddccll   L and all of the "steven"s who have "dcl" in their _a_d_d_r_e_s_s field would be displayed.   R _U_s_i_n_g _P_h _t_o _C_h_a_n_g_e _I_n_f_o_r_m_a_t_i_o_n  G _P_h can also be used to change information.  Not all _p_h clients, @ however, permit the user to access his or her own entry and editC it.  The following discussion focuses on the UNIX _p_h client and > clients similar to it such as the VMS, VM/CMS, and DOS client.C (The Macintosh _p_h client also allows a user to login and change > his or her entry, but the procedure is entirely different fromA that described here.  Full documentation is available for the Mac  client.)  @ If you want to change the information the Nameserver keeps aboutD you, type "ph" at the operating system prompt.  _P_h won't look up@ a name, but will instead give you a special "ph>" prompt.  ThereA are many possible commands you can type once at the "ph>" prompt; D they are described in full in the _p_h manual page and also in theD _p_h on-line help for "commands".  You will only need to know four] commands to change your information: _l_o_g_i_n, _m_e, _e_d_i_t, and _q_u_i_t. C Before actually using _p_h to change your entry, you will have to  make some preparations.   K The first thing you need to do is find out your Nameserver _a_l_i_a_s. ; 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 ____________________E    [1] See the _p_h manual page for information on  how  to  search 2 for people with a certain phone number or address.                         66                           TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn     C easiest way to find your alias is to look up your name with _p_h.   ? 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 AccountingA Desk.  We cannot give out passwords via email or phone to prevent @ disclosure to unauthorized persons.  In cases where a) _p_h is@ being used by the same user-id on the same machine that's listedC in the email field, and b) _p_h has been installed "setuid root", @ and c) the _p_h version is 5.2 or greater, then no password is needed to login.  C Now, it's time to use _p_h to change your information.  Type "ph" > and the "return" key.  You will get a "ph>" prompt.  Now, typeR "llooggiinn aalliiaass" (but use your real alias, not the word "alias"!)D and a return.  _P_h will ask for your password; type your passwordA and a return.  You should get a greeting from the Nameserver, and  another prompt.  For example:        % pphh0     $Date: 1992/09/05 18:20:49 $$Revision: 1.2 $B     100:Ph passwords may be obtained at CCSO Accounting, 1420 DCL.B     100:Be sure to bring your University Id Card. You may not needB     100:a password if you are using the login in your email field.     200:Database ready.     0     ph> llooggiinn ss--ddoorrnneerr     Enter nameserver password:      200:s-dorner:Hi how are you?     ph>     > You are now ready to change your information.  Your NameserverA 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 inE your entry, type the command _m_e at the "ph>" prompt.  It's always B a good idea to use the _m_e command before and after changing an< entry to verify the original and new contents of your entry.  O To change a particular field, type "eeddiitt ffiieelldd" and a return, 9 substituting the name of the field you wish to change for ? "field".  For example, if you want to change your phone number, S type "eeddiitt pphhoonnee".  You will be placed in your favorite UNIX edi- < tor,[3] with the current contents of the field you specified ____________________Q    [2] The _p_h  command  _f_i_e_l_d_s  will  give  a  complete  list  of  Nameserver fields.A    [3] Unless you take pains to change it, that  editor  will  be = _v_i(1); see Appendix A if you've never used _v_i before.                          TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn                           77     A displayed.  If the field was empty, you will be presented with an A empty file into which ypu can insert text.  Make whatever changes C you wish, save your changes, and exit the editor.  _P_h will then 6 change the information in the field specified for you.  @ If you aren't familiar with your machines's text editor, you mayS prefer to use the _m_a_k_e command instead.  _N._B., the _m_a_k_e command ? does not work properly with the VM/CMS client.  After you login } to _p_h, just type, mmaakkee nnaammee--ooff--ffiieelldd==""vvaalluuee--ooff--ffiieelldd""   r     ph> mmaakkee eemmaaiill==""ddoorrnneerr@@uuxx11..ccssoo..uuiiuucc..eedduu""     200:1 entry changed.     ph>     F When using the _m_a_k_e command, be sure to enclose the "value-of-1 field" information is double quotation marks (").   ? Some field information cannot be changed; the "name" field, for A 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.   H Once you are finished changing your information, type _q_u_i_t and aE return.  You will be logged out of _p_h and returned to the operat-  ing system prompt.  m _S_u_p_p_o_s_e _I _D_o_n'_t _H_a_v_e _A_c_c_e_s_s _t_o _a _P_h _C_l_i_e_n_t?   B If your computer doesn't have a _p_h client installed on it, but@ you would like to use _p_h 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 beA prompted for your terminal type.  If you have a vt100 terminal or ? terminal emulator, you can just type a return; if you have some A other terminal, type its name.[4] You will eventually get a "ph>" < prompt, and can use _p_h to lookup and change information.  q _W_h_e_r_e _C_a_n _I _F_i_n_d _M_o_r_e _I_n_f_o_r_m_a_t_i_o_n _A_b_o_u_t _P_h?   C _P_h has an extensive on-line help system.  UNIX users can access C it by entering _p_h's interactive mode, and typing, _h_e_l_p.          ____________________A    [4] If you have trouble finding the right name to use for your 0 terminal, call the CCSO Consultants at 333-6133.                         88                           TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn          % pphh0     $Date: 1992/09/05 18:20:49 $$Revision: 1.2 $B     100:Ph passwords may be obtained at CCSO Accounting, 1420 DCL.B     100:Be sure to bring your University Id Card. You may not needB     100:a password if you are using the login in your email field.     200:Database ready.          ph> hheellpp,     ----------------------------------------*      These "ph" help topics are available::      add                     interactive_mode        query9      change                  login                   quit =      command-line_mode       logout                  register ;      commands                make                    status ;      delete                  manpage                 switch 7      edit                    me                      vi #      fields                  passwd       help                    ph E      To view one of these topics, type "help name-of-topic-you-want". ,     ----------------------------------------5      These ``native'' help topics are also available: D      100           501           514           aliases       ph_newsC      101           502           515           areacodes     policy E      102           503           516           campus_units  protocol B      200           504           517           clients       proxyH      201           505           518           e-mail        restaurantsB      300           506           519           email         sitesF      301           507           520           forwarding    timetableA      400           508           521           introduction  type D      401           509           522           nickname      weather8      402           510           523           no_update4      403           511           598           paper7      475           512           599           password 5      500           513           alias         people L      To view one of these topics, type "help native name-of-topic-you-want".,     ----------------------------------------    N CMS users of _p_h should give the command, "pphh hheellpp", and subse-t quently "pphh hheellpp nnaammee--ooff--ttooppiicc" (e.g., "pphh hheellpp eemmaaiill").  ; _W_h_a_t _I_f _I _H_a_v_e _T_r_o_u_b_l_e?   @ If you have problems or questions that are not resolved by read-e ing this document, the _p_h on-line help, or _T_h_e _C_C_S_O _N_a_m_e_s_e_r_v_e_r, h _S_e_r_v_e_r-_C_l_i_e_n_t _P_r_o_t_o_c_o_l, document, call the CCSO SYstems Consult- ing Office at 333-6133.                                     &                            APPENDIX  A    /                   A Rank Beginner's Guide to VI         D This page describes a few _v_i commands to accomplish simple edit-P ing tasks.  Full documentation for _v_i can be found in _T_h_e _U_N_I_X{ _U_s_e_r'_s _M_a_n_u_a_l _S_u_p_p_l_e_m_e_n_t_a_r_y _D_o_c_u_m_e_n_t_s, 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 youA pronounce it, "vie", UNIX gurus will laugh at you, though not out B loud.  Secondly, _v_i is case-sensitive; be sure to use upper or# lower case commands as appropriate.    _M_o_d_e_s   B _V_i is a modal editor; what you can do depends on what mode youK are in.  The two modes of interest to us are _c_o_m_m_a_n_d mode and L _i_n_s_e_r_t mode.  You type most commands in command mode; all you do@ in insert mode is type your text.  You get out of insert mode byJ typing _e_s_c_a_p_e, usually marked "esc" on keyboards; on some key-< boards, you may have to hold down the control or alt key andC press "[".  If you type escape in command mode, _v_i will beep at A you; so if you get confused, just type escape until _v_i beeps; $ then you'll be back in command mode.    % _M_o_v_i_n_g _A_r_o_u_n_d   E Here are some motion commands in _v_i.  They are typed  in  command + mode, and leave the editor in command mode.   N       CCoommmmaanndd                   WWhhaatt iitt ddooeess:       ____________________________________________________P       control-h   Moves the cursor left oonnee cchhaarraacctteerr..\       hh           MMoovveess tthhee ccuurrssoorr lleefftt one character.A       j           Moves the cursor down oonnee lliinnee.. Q       kk           MMoovveess tthhee ccuurrssoorr uupp one line. Q       l           Moves the cursor right oonnee cchhaarraacctteerr.. 	       ww   :                   Moves the cursor forward to  the  begin-(                   ning of the next word.	       bb   :                   Moves the cursor backward to the  begin-,                   ning of the previous word.                   TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn                           99                1100                          TThhee CCCCSSOO NNaammeesseerrvveerr -- AAnn IInnttrroodduuccttiioonn       % _D_e_l_e_t_i_n_g _T_e_x_t   A Here are some commands to get rid of stuff.  Type them in command 1 mode; they will leave the editor in command mode.   M        CCoommmmaanndd                 WWhhaatt iitt ddooeess 9        __________________________________________________ *        dd        Deletes the current line.        x  9                  Deletes the character at the cursor, and 9                  moves  the  rest of the line to fill the                   hole.         _A_d_d_i_n_g _T_e_x_t   A The following commands all put you into insert mode and  let  you A type  text.   Type  escape when you are finished adding text, and % you will be returned to command mode.   M        CCoommmmaanndd                 WWhhaatt iitt ddooeess 9        __________________________________________________         i  9                  Start inserting  characters  before  the ,                  character the cursor is on.        a  9                  Start  inserting  characters  after  the ,                  character the cursor is on.        O  9                  Create a new line above the cursor,  and 9                  start inserting at the beginning of that 9                  line.  Note that this command is a capi- #                  tal "O", not zero.          _G_e_t_t_i_n_g _O_u_t   ? The following commands exit _v_i.  They work in command mode.   M        CCoommmmaanndd                 WWhhaatt iitt ddooeess 9        __________________________________________________ 	        ZZ   =                  Exit _v_i, and save the changes  you  have .                  made.  Those are capital Z's!        :q!<cr>  =                  Exit _v_i, but  don't  save  changes  (the .                  "<cr>" means to type return).                          