FingerDoc.tioga
Donahue, February 5, 1986 5:55:04 pm PST
FINGER
CEDAR 6.0 — FOR INTERNAL XEROX USE ONLY
Finger
A Tool for finding Cedar users and machines
Jim Donahue, Dave Gifford
© Copyright 1985 Xerox Corporation. All rights reserved.
Abstract: Finger is a package to record the information about Cedar users and machines
Created by: Donahue.pa
Maintained by: <Donahue.pa>
Keywords: Finger, databases, Cedar users
XEROX  Xerox Corporation
   Palo Alto Research Center
   3333 Coyote Hill Road
   Palo Alto, California 94304

For Internal Xerox Use Only
1. Introduction
Ever wonder if someone hasn't read his mail recently? Ever tried to chase down one of the summer interns -- you know they're on one of the public Dorados running Cedar, but just don't know where? If you have, then Finger is for you! The Finger facility allows Cedar users to query and update a public database consisting of login/logout times, the time that each user last read mail, pointers to pictures of users (which can be displayed when that person is fingered), and arbitrary textual data (finger plans). Fingering can be accomplished either by issuing a command to the executive, or by using a FingerTool. Both people and machines can be fingered.
The accuracy of the information stored in the Finger database depends on the number of people willing to put Finger in their checkpoints. I have tried to make the system as robust as possible -- please keep me (Donahue.pa) informed of any problems you have. Also, any ideas you have for extending the database or improving the user interface would be greatly appreciated.
2. What's Stored in the Finger Database
Finger stores information on users (using the Grapevine RName as the entity names) and machines. For each user, we store a "nick name", a picture file name and a "plan" (a user's statement of his intentions) in addition to keeping the time of the last login or logout and the last time at which the user read mail using Walnut (sorry, Peanut users!). For a machine, we store the owner of the machine, the location of the machine, whether it is a gateway or network, and the last user. The Finger database is initialized by using the pup-network information stored on [indigo]<portola>pup-network.txt (which is reasonably accurate).
3. Putting Finger in your Checkpoint
The Finger program is intended to be a part of the checkpoints on every machine (to keep the Finger database accurate). Before making a checkpoint, run the command "Source Finger.load", which loads the Finger program after running Cypress and AlpineUserImpls. Finger logs changes on the user's machine (in the file ///Finger.Log) and then replays this log if the Finger database is available -- this means that the unavailability of the Alpine server storing the Finger database will not prevent you from using a machine having Finger in its checkpoint!
4. Registered Commands
Syntax: % Finger usernamePattern1 . . . usernamePatternn
Effect: Interpret each usernamePatterni as a regular expression (using the syntax for patterns of the EditTool). For each user that matches this pattern, print the corresponding finger data.
Syntax: % FingerTool
Effect: Create a new FingerTool. The use of a FingerTool is described below.
Syntax: % FreeMachines
Effect: List all of the free Cedar machines, ie., machines on which the last recorded operation is a logout.
Syntax: % Host machinename
Effect: Print the information stored in the database about the specified machine.
Syntax: % WhereIs username
Effect: List all of the machines for which the given user is the last user to have logged in.
Syntax: % Who
Effect: Lists all of the machines that are currently in use and who the logged-in user is on each of them.
5. Use of the FingerTool
A FingerTool can be created by executing the "FingerTool" command. Any number of FingerTools can coexist. When the tool is opened, two action buttons appear at the top: perform finger and store changes. Underneath these buttons are fields that will display attributes of a fingered individual, and a viewer in which the contents of AIS picture files are displayed.
To finger a user, type the Grapevine RName into the User Name field and bug perform finger; if the User Name field is empty, then the currently logged in user will be used. Note: left-clicking perform finger will not paint a picture, even if the user has entered one (this may take a long time and clutter up your local disk with lots of AIS files); you must right-click perform finger if you want to see the pictures.
A user can change his Nick Name, Picture Filename, and Plan by entering the desired contents in the corresponding fields and then clicking the store changes action button.
Below the buttons for fingering individuals are buttons to finger hosts (machines) on the network. To finger a Host, fill in the Host field of the tool and bug Get Host Information; if no host is specified, the current machine is used. To edit the contents of any of the properties of the host, change the fields and bug Store Host Data.
6. User Profile Entry
Finger uses the user profile entry "Finger.segment" as the name of the finger database. This should be part of the machine profile for each Cedar machine, rather than being part of an individual's profile.