






               Nice PH v1.3 for Packet Driver on DOS


             By K.F.Soft, Denmark, Copyright June 1994.







Usage of this program is free. The program may not be sold. It can be 
distributed in the original ZIP-file at no charge.
NicePH is distributed as is, without any express or implied warranty.

If you decide to use this program please send me a little note with the 
following information:
  Type of organization.
  Number of servers.
  Number of users.
  Number of workstations.
Thanks in advance!

Comments, bugs and suggestions to kf@mmf.ruc.dk
                                 Purpose

NicePH is a user-friendly PH client for DOS pc's using a standard 
packet-driver interface.
It can be used stand-alone or from Pegasus Mail for obtaining addresses 
from a central TCPIP phone directory (PH server), and will return selected 
addresses to the address field in Pegasus mail.
Works with ODIPKT as well as under MS Windows with WinPkt.
Supports mouse control.
Build-in screen saver activates after 3 minutes.

                                 Syntax

PH
        Starts PH in stand-alone mode, ie. without address selection.

PH filename     
        Starts PH in selection mode, ie. the selected addresses will be
        put in a file "filename" - one address on each line. 
        This call is used by PMail.

                               Using NicePH

When NicePH is started it attempts to connect to the PH server.
If this attempt fails or if the packet driver interface can't be 
initialised the program aborts immediately.

When connected NicePH displays a dialog box, where the user can enter a 
name to search for. One or more parts of the name can be entered, but 
only whole words. E.g. Ben G. Johnson can be found by entering "Johnson", 
"Ben Johnson", "Johnson Ben" or "Ben" but not by entering "John".
Wildcards are also allowed so Ben G. Johnson can also be found by 
entering "John*".

When the search name is completed <Enter> will process the query, and a 
window will open with the matching entries sorted in alphabetical order. 
For each entry the list shows name, e-mail address and phone number.

At the top of the window the number of entries will be displayed. If 
there is not enough memory to hold all the matching replies, a message 
will be displayed at the top of the list.
Usually 15 entries are visible but the list is scrollable, either through 
the up and down arrows, <Home>, <End>, <PgUp>, <PgDn>, <^PgUp> and <^PgDn> 
or through the mouse by using the scrollbar at the right side of the list.

If NicePH is run from Pegasus, the bottom line will show the number of 
selected entries (zero from the start). 
One entry will be highligted. If run from Pegasus pressing <Space> will 
select the entry for the address field and increase the number at the 
bottom. The right mouse button may also be used for selecting addresses.
In the configuration file, you can decide which fields should be returned 
to Pegasus (or other calling programs).

Pressing <Enter> will display additional information (all information 
available from the server). <Esc> will return to the previous window or 
exit the program if in the query window.

More queries can be done in one session with selection from different sets 
of matching entries.
                                 Installation

Place ph.exe in a publicly accessible directory which is in the users 
search-path. Modify the included wattcp.cfg file or add entries to your 
existing wattcp.cfg if you already have one. Normally it should be in 
the same directory as ph.exe. If you want NicePH to use a wattcp.cfg 
file in another location, set the environment variable WATTCP.CFG to 
the path. E.g. If you want to use c:\wattcp.cfg set WATTCP.CFG=C:

To use NicePH with Pegasus mail modify the pm-menu.r included with PMail. 
You should enable the directory lookup menu and this menu should have two 
options: one using the standard PMail Novell bindery lookup (Local users) 
and another using NicePH (Campus User Lookup).

Look in the included pm-menu.r for an example. The ressources affected are 
number 2, 5 and 15, and these should replace the existing ones in pm-menu.r 
if you already have one. If you don't have a pm-menu.r just compile the 
included example and copy pm-menu.rsc to your pegasus directory.

Compiling pm-menu.r is done with rescom.exe. See res.zip included with PMail 
for further details.
                                Configuration

The included wattcp.cfg uses bootp to obtain the IP-information.
The first line (my_ip = bootp) does this. 
For further information on IP configuration refer to Erick Engelke's 
description of the Waterloo TCPIP kernel (wattcp.zip).

There are 7 keywords for NicePH. They are all preceded by "ph.":

ph.server = hostname
  This defines the hostname for the PH server to be used. No default.
Example:
  ph.server = ph1.ruc.dk

ph.alias = fieldname
  Defines the name of the field that contains the alias-code, which must 
  be a unique string for each entry. 
  Default = alias
Example:
  ph.alias = alias

ph.name = fieldname,n
  Defines the name of the field containing the personal name, ie. the 
  first field in the list, which is used for sorting the entries.
  A number after a ',' decides the width of the field on the screen.
  Default = name,25
Example:
  ph.name = name

ph.email = fieldname,n
  Defines the name of the field containing the e-mail address, ie. the 
  second field in the list.
  A number after a ',' decides the width of the field on the screen.
  Default = email,25
Example:
  ph.email = email

ph.phone = fieldname,n
  Defines the name of the field containing the phone number, ie. the third 
  field in the list. Only 10 characters of this field will be displayed in 
  the list. It can be any field from the ph-server.
  A number after a ',' decides the width of the field on the screen.
  Default = phone,12
Examples:
  ph.phone = office_phone
  ph.phone = department

ph.all = fieldname
  Defines the name of the field referring to all public fields. 
  This could also be a list of fields seperated by ','.
  Default = all
Examples:
  ph.all = all
  ph.all = name,address,city,phone,title,department

ph.return = [name],[phone],[alias],[email] 
  Defines the fields to be returned to calling program, eg. Pegasus Mail.
  Default = email
Examples:
  ph.return = email
  ph.return = name,email
