FingerDoc.tioga
Last Edited by: Keith Hall on September 7, 1984 8:13:04 am PDT
Last edited by: Donahue, November 12, 1984 9:36:57 am PST
FINGER
FINGER
CEDAR 5.3 — FOR INTERNAL XEROX USE ONLY
CEDAR 5.3 — FOR INTERNAL XEROX USE ONLY
Cedar Finger Documentation
Release as: /Indigo/Cedar5.3/Documentation/FingerDoc.tioga
© Copyright 1984 Xerox Corporation. All rights reserved.
Abstract: This documentation describes the Cedar Finger program and FingerTool.
XEROX Xerox Corporation
Palo Alto Research Center
3333 Coyote Hill Road
Palo Alto, California 94304
For Internal Xerox Use Only
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.
What's Stored in the Finger Database
Finger stores information on "fingerable entities" -- users (using the Grapevine ID as the entity names) and machines. For each fingerable entity, we store the "actual name" of the entity (for a user, it is a name he can choose by editing his Finger entry; for a machine, it is the net address of the machine), the name of an AIS-format picture file to be displayed, and a "Plan", which is arbitrary text giving information about the machine or user. Additionally, for a user the database stores the last time at which mail was read using Walnut (sorry, Peanut users!); for a machine, we also store the time of the last login or logout on the machine (going into the Idle state is considered logging out) and the user at the time of this operation.
The Finger database is stored on our trusty Alpine server, Luther. If Luther is unavailable to record information about changes in the state of a machine, Finger logs this information in a file so it is not lost. When the server finally does become available, the logged entries are stored in the database.
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. As mentioned above, 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 Luther will not prevent you from using a machine having Finger in its checkpoint!
Fingering at the Executive
Syntax: % Finger usernamePattern1 . . . usernamePatternn
Effect: Interpret each usernamePatterni as a regular expression (using the syntax for patterns of the EditTool). For each user and machine name which matches this pattern, print the corresponding finger data.
Use of the FingerTool
A FingerTool can be created by entering "FingerTool" to the exec. Any number of FingerTools can coexist. When the tool is opened, three action buttons appear at the top: perform finger, store changes, and talk to. Underneath these buttons are fields that will display attributes of the objects fingered, and a viewer in which the contents of AIS picture files are displayed. You can choose whether to display the picture or the contents of the plan for an object by right-clicking the corresponding attribute name to select/de-select it before performing a finger operation. The "picture File Name" attribute is de-selected in the default viewer -- this way your FS cache won't clutter up unnecessarily with AIS files that you don't really want! Pictures of FingerTools displaying information about a machine (Sabur) and a person (Pavel.pa) are given below:
/ivy/donahue/pictures/fingertool1.ais height: 2.14 in, width: 5.0 in
A FingerTool displaying machine information
/ivy/donahue/pictures/fingertool2.ais height: 2.14 in, width: 5.0 in
A FingerTool displaying machine information
To finger a set of objects, select a pattern to be matched and bug perform finger; if there is no current selection, then the default pattern "*" will be used. If there is more than one match, "remaining: n" will replace "perform finger" as the label for the button. Repeatedly left-clicking the "remaining: n" button, the finger data for each object is displayed; right-clicking the button will reset it to perform finger.
A user can change his Actual Name, Picture Filename, and Plan and the picture file name and plan of the machine he's currently using by entering the desired contents in the corresponding fields and then clicking the store changes action button.
Clicking talk to will start a CommandTool to invoke Talker and request as conversant the contents of the Grapevine ID field. This allows a person to be fingered, then conveniently hailed.