FRED(1C)

NAME
fred - a white pages user interface (FRont-End to Dish)

SYNOPSIS
fred [options] [command arguments ...]

whois arguments ... (as in “fred whois smith -org psi”)

DESCRIPTION
The fred program is a front-end to the OSI Directory, and in particular the dish (1c) program. It is most useful as an interface to the white pages service.

The fred program is meant to be similar to the WHOIS service familiar to most users of the network. There are some differences however.

First, users in the white pages are uniquely identified by their distinguished name, e.g.,

“@c=US@o=Performance Systems International@cn=Manager”

In contrast, users of the WHOIS service are uniquely identified by their WHOIS handle, a brief key, e.g., “MTR”. Since distinguished names are much longer than WHOIS handles, fred maintains a list of aliases during its execution. When an entry for something is retrieved, it is assigned a numeric alias for its name.

Second, searches in the white pages are relative to an “area”. The default area is set by your system administrator. It can be changed using the area command. Because the white pages are distributed, searches occurring at higher areas are more expensive in terms of time, networking resources, etc.

Third, the white pages are highly structured. As such, you can potentially retrieve much more detailed information about an entry. Although the fred should prove useful for the majority of queries, it is purposefully limited in its searching capabilities. Users desiring a more powerful interface, should use dish (1c) directly.

EXAMPLES
The command syntax, while meant to be intuitive, is tedious. Here are a few simple examples:

whois “smith”
    looks for any entries with this name in the default area (choice of matching on the entry's surname or fullname is based on the value of the `namesearch' variable).

whois surname “smith”
    looks for any entries with this surname.

whois fullname “john smith”
    looks for any entries with this fullname.

whois “smith” -org psi
    looks for any entries with this name in any organization with “psi” in its name. This is probably the most common usage of the program.

whois “smith” -area “@c=US@o=Performance Systems International”
    could be used if you already know the “area” that the user resides in.

whois smith@psi
    is identical to the preceeding example.

whois “smith” -area 17
    could be used if an alias were already established for this area.

whois @c=US@cn=Manager
    looks for the entry with this distinguished name (handle).

whois !7
    could be used if an alias were already established for this entry.

whois smith@cheetah.ca.psi.com
    looks for any entries with the given mailbox.

whois -title operator
    looks for any entries who are operators.

whois -org *
    reports on all registered organizations (in the default geographical area).

whois -org * -geo @c=GB
    reports on all registered organizations under @c=GB.

Here is a somewhat more common example:

fred> whois schoffstall -org psi
Trying @c=US@o=Performance Systems International ...
3 matches found.
  2. Marvin Schoffstall                         marv@psi.com
  3. Martin Schoffstall                         schoff@psi.com
  4. Steve Schoffstall                          steve@psi.com
fred> whois !3
Martin Schoffstall (3)                          schoff@psi.com
    ...

COMMANDS
On start-up, fred will read a file called fredrc in the ISODE system directory (usually /usr/etc/ ). Then, fred reads the file .fredrc in the user's home directory. These files, if present, contain user-preference commands. Afterwards, fred prompts for commands.

Typing INTR at the top-level does nothing, but typing it twice in a row at the top-level terminates fred; typing INTR during additional prompting causes fred to abort the command.

alias [name]
    With no arguments, prints all aliases defined for this session. With an argument, defines a numeric alias for that name.

area [[record-type] location]
    With no arguments, prints the default area used by the whois command when consulting the white pages. With a single argument, this sets the default area. The distinguished value “..” may be used to go up one level in the tree. If the value is relative (i.e., does not start with the “@”-sign), then the value is appended onto the current location. With two arguments, this sets the default area for searches of the indicated record type (which are described in the next section). This is particularly useful since it also provides heuristics to the whois command as to the depth to be used for searching.

edit
    Invokes an editor to modify the user's entry in the white pages.

help [command ...]
    Prints help information. For detailed information, try “help ?”.

manual
    Prints this detailed documentation about fred.

quit
    Terminates fred.

report [subject]
    Allows you to enter a report that is mailed to your local white pages manager.

set [variable [value]]
    Manipulates fred's settings:

    variable	function
    debug	debug fred
    manager	mail-address of local white pages manager
    namesearch	type of name used for matching,
    	either “fullname”, “surname”,
    	or “friendly”
    pager	program to use for terminal pagination
    phone	display phone numbers in one-liner
    query	confirm two-step operations
    server	IP-address of directory assistance server
    soundex	use soundex for matching,
    	when no wildcards are present
    timelimit	maximum number of seconds to
    	spend searching
    verbose	verbose interaction
    ufn	type of filter used for matching,
    	any of “none”, “approx”, or “wild”
    watch	watch dialogue with dish

thisis [name [password]]
    Tells the white pages service who you are. This is only needed when you want to modify your own entry. Normally, this is determined automatically when fred starts.

version [-fred]
    Details version of the software.

whois [arguments ...]
    Consults the white pages.

WHOIS
If the value of the `namesearch' variable is “friendly”, then Kille's user-friendly name notation is used. Kille's notation is ordered but untyped, with components separated by commas. Typical names include:

rose, psi
kille, cs, ucl, gb
L. Eagle, “Sue, Grabbit and Runn”, GB

Note that you don't have to know all of the components -- just list what you know, left-to-right, starting with the person's name. The user-friendly searching algorithim will usually figure out what you mean. This is the preferred syntax as it is the most intuitive.

Otherwise, the syntax of the whois command is similar to that provided by the WHOIS service:

input-field [record-type] [area-designator] [output-control]

These four components may occur in any order. Only the input-field need be present.

  INPUT FIELD
This component tells the white pages what to look for.

.<name> or name <name>
    gives the name of the target.
    surname <name>
    fullname <name>

    Searching for names follows these rules: if the “*”-sign appears at the beginning and/or end of the name, then wildcard-style matching is used: the “*”-sign matches zero or more characters at the beginning or end of a name. Otherwise, if soundex has been enabled (set the variable `soundex' to `on'), then imprecise matching occurs according to a Soundex algorithm. Otherwise, if searching is to occur for a person's surname, then a case-insensitive match is used. Finally, as a last resort, fred will force a rather liberal wildcard-style match.

    For compatibility with the WHOIS service, an input field of “NAME.” is equivalent to “NAME*” (i.e., a partial match for names having the given prefix). Similarly, an input field of “*NAME” is equivalent to “NAME expand”. Thus, to have wildcard matching at the beginning of the name, use two “*”-signs, e.g., “**inc” matches names ending in “inc”. (A terrible hack, but that's the price one pays to be consistent with the WHOIS service.)

!<handle> or handle <handle>
    gives the unique handle (distinguished name) of the target. This may be an alias rather than a distinguished name.

mailbox <mailbox>
    gives the mailbox of the target.

If a keyword is not given, then fred attempts to intuit which kind of input field is being provided. In most cases, fred will treat field as a name, unless it contains the “@”-sign, which makes it either a handle or a mailbox.

  RECORD TYPE
This component tells the white pages what kind of entry to look for.

person or -title NAME,
organization,
unit (a division under an organization),
role (a role within an organization),
locality, or
dsa (a white pages server).

If this component is not present, fred will not limit its search to any particular kind of entry.

  AREA DESIGNATOR
This component takes one of two forms. The most common form is one of the switches:

-org (short for -organization ),
-unit, or,
-locality,

followed by a name. For example,

-org psi

tells fred to limit the search to those organizations whose name contains “psi”.

In addition the switch `-geo' followed by a location in the white pages may be used to override the default area for searching for these objects. For example,

-org ucl -area @c=GB

tells fred to limit the search to those organizations whose name contains “ucl” that reside directly under @c=GB.

In the second form, the area designator consists of the switch -area followed by a location in the white pages; e.g.,

-area “@c=US@o=Performance Systems International”

Note the use of double-quotes to make the string following area appear as a single argument. If an alias has already been established for this location, then the number of the alias can be used instead.

  OUTPUT CONTROL

expand or *
    give a detailed listing and show children of matched entries.

    The opposite of expand. (Included for compatibility with the WHOIS service.)

subdisplay or %
    give a one-line listing and show children of matched entries.

full or |
    give a detailed listing, even on ambiguous matches

summary or $
    give a one-line listing, even on unique matches.

OPTIONS

-f  Inhibits reading of the user's .fredrc on startup.

-v  Sets verbose (default for interactive use).

-w  Sets watch.

FILES
/usr/etc/dsaptailor	system QUIPU tailoring file
$HOME/.quipurc	user's QUIPU tailoring file
/usr/etc/fredrc	system runcom file
$HOME/.fredrc	user's runcom file

SEE ALSO
dish(1c),
PSI White Pages Pilot Project: User's Guide,
Using the OSI Directory to achieve User Friendly Naming,
The ISO Development Environment: User's Manual--Volume 5: QUIPU

DIAGNOSTICS
All obvious.

AUTHOR
Marshall T. Rose, Performance Systems International

BUGS
The emulation of the old whois command format is imperfect. Most notably, you need to quote names so they appear as a single token to the fred. For example:

% fred whois “Dal Santo”

won't work, whilst

% fred whois '“Dal Santo”'

will work (the shell strips off one layer of quoting). That's progress for you.