
                                 DlgQWK
                         The QWK Door for Dlg Pro
                         Copyright (c) 1992, 1993
                              Reid J. Bishop
                            All rights reserved


DlgQWK v.71a
~~~~~~~~~~~~

For  users  of previous versions of DlgQWK, please read the 'CHANGES!' file
included  with this distribution before installing DlgQWK.  There have been
substantial  changes in DlgQWK that may necessitate you making some changes
in your system before using DlgQWK.

After  reading  that file, make necessary adjustments to your system and to
the DlgQWK configuration files and read this document in it's entirety.

Please  read  this  ENTIRE  document- and especially pay note to the 'Notes
about DlgQWK' section later in this file.



Introduction
~~~~~~~~~~~~

DlgQWK  is  the  long  awaited,  QWK door for DLG Pro BBS systems.  The QWK
system  is a popular offline message system that is in use on most computer
platforms.   DlgQWK  follows  most  all of the QWK specifications, and will
continue  to  grow  as  more QWK features are added and enhanced.  For this
release, basic message retrieval and importing are activated.



What is QWK?
~~~~~~~~~~~~

Rather than get into a detailed description of the QWK format, I will cover
the  basic  standard  and  how it works.  Refer to your favorite QWK reader
documentation to more fully understand the QWK format.

QWK  was  introduced to computer bulletin boards as a means of saving users
time,  headaches,  and valuble computer resources.  Users can use the BBS's
QWK  door  to  gather  up messages in one of several message areas, archive
these  messages  into  one  file,  and then download this file to their own
computer  systems.   Using  one of many available QWK readers, the user may
then read these messages offline, in whatever order they choose.  Users may
also  reply  to  messages with this same offline reader (generally they may
choose  whatever  editor  they are comfortable with), as well as create new
messages  offline.  When the user is finished reading and writing messages,
they  then select the 'pack' feature of their QWK reader to gather up their
replies, archive them into one file, and upload the file to the BBS system.
They then instruct the QWK door to import these new messages.

QWK  offers  additional  features,  which are not yet implemented with this
release of DlgQWK.  One feature is the ability for users to add or subtract
areas  they  wish to have bundled, using a special message addressed to the
QWK  door.   Other  features  include  new  file  announcements,  automatic
bulletin  inclusion,  etc.  DlgQWK will have all these features in the very
near future.



Requirements
~~~~~~~~~~~~

DlgQWK  requires  you have DLG Pro BBS v.995 or later, running on any Amiga
computer.  Of course, ample harddrive space is also required.

DlgQWK has been tested under OS 2.1 (Kickstart 37.175, Workbench 38.28) but
has  not  yet  been  tested under OS 1.3.  There is no reason it should not
work properly under 1.3.

DlgQWK  has  been tested on both a 68000 and a 68020 CPU, and should run on
any CPU configuration supported by the Amiga.



Getting Started
~~~~~~~~~~~~~~~

DlgQWK  is  very  easy  to  install-  but a few things have to be addressed
before  you  add this door to your system.  First, make sure you have fully
unarchived the distribution file to a temporary directory, such as RAM:

The following files should have been included with the distribution:

     DlgQWK                   (The main executable)
     DlgQWK.doc               (This doc file)
     Read.Me                  (Read this first...)
     Install.bat              (Installation script)
     Order-form               (Order form for registering DlgQWK)
     CHANGES!                 (Important version information)

     DlgQWK_/DlgQWK.CFG       (Example configuration file- please edit!)
     DlgQWK_/DlgQWK.KEY       (Beta testers/registered sysops only!)
     DlgQWK_/HELLO            (Example greetings file to include in bundles)
     DlgQWK_/NEWS             (Example news file to include in bundles)
     DlgQWK_/GOODBYE          (Example farewell file to include in bundles)

     DlgConfig/Menu/#?.help   (the help files)

If  you do not have all of these files, please contact myself or the system
you got the distribution from.

Next, a few assignments must be made before you execute the install script.
This   is  very  important,  as  DlgQWK  will  not  operate  without  these
assignments.

     DlgQWK:   This logical directory is where you MUST place DlgQWK.CFG.
               If you have registered DlgQWK with the author, you will
               receive a keyfile- this keyfile must reside in this
               directory in order for the de-activation of crippled
               functions to take place.

               The optional HELLO, NEWS, and GOODBYE text files are also
               placed in this directory.  DlgQWK itself does not require
               you place it in this directory- it may go wherever you
               generally place your 3rd-party executables.

     Logs:     For those of you who run DlgMail, this is a familiar
               directory.  DlgQWK creates and maintains it's logfile in
               this directory.

One additional directory must be created and maintained- this is called the
'work'  directory  (defined  as  WORKPATH  in DlgQWK.CFG) for DlgQWK.  This
directory  MUST  be  empty  at  all  times, and cannot be used by any other
program.   This  directory  is  where  all files are created, imported, and
exported  from.   You  should  not  make  any  kind  of assignment for this
directory, as you specify it by it's path within the DlgQWK.cfg file.  This
directory  may  be  on any drive, so long as it always remains empty and is
never used for anything other than DlgQWK.

One  other  VERY important consideration when deciding what path to use for
your  WORKPATH  directory-  due  to  the  current  constraints  of  our ZIP
archiver,  your  WORKPATH  directory  MUST be a directory- it cannot be the
root directory of a disk (such as RAM:), nor can it be a logical assignment
of any kind.  It must be a full path, ending in a directory name.
Acceptable workpath names would be:

   DH1:DlgQWKWork
   VD0:tt
   ..etc

Next,  CD  (change directory) to the temporary directory you unarchived the
DlgQWK distribution in.  From the CLI, type in:

     Execute Install.bat

This  is  a  simple  batch  file  that  will  place the files in the proper
directories.  You may do this while your DLG system is still running.

Next, you need to edit the DlgQWK:DlgQWK.CFG file.



DlgQWK.CFG
~~~~~~~~~~

This  is  the  configuration file for DlgQWK- this is a straight ASCII file
which  includes  several keywords and options.  DlgQWK will not run if this
file  is  not  present in DlgQWK:  Use your favorite text editor (please do
not use a word-processor to edit this file- generally word processors place
non-ASCII characters in their files which may confuse DlgQWK.

The  config  file  consists  of  several  keywords,  followed by text which
identifies  how  that  keyword  is  to be understood.  Each keyword must be
followed  by the identifier text within the same line- the end of each line
is  considered  the  end  of the description for that keyword.  You may use
TABS  or  SPACE(s)  to  separate  the  keywords from the identifiers.  Each
keyword  does  not necessarily have to begin on the first character of each
line, nor is any of this file case-sensitive.

You may also place 'comment' lines in the config file- comment lines always
begin with a semicolon (the ';' character).  Any text following a semicolon
on  any  line is always ignored by DlgQWK.  The following describes each of
the keywords in DlgQWK.CFG- please refer to the included config file as you
read  about the keywords.  Make sure to CHANGE each item in the config file
to suit your system!

Note:   '(*)' denotes keywords that are REQUIRED in the configuration file.
DlgQWK  will  exit if these keywords are not present or configured properly
in the config file.
 
     BBSNAME   (*)  This keyword should be followed by the full name you
               normally use for your BBS.  This name is included with the
               control file outputed by DlgQWK.  Some QWK readers display
               this name to the user as they are reading messages.

    LOCATION   (*)  This keyword should be followed by your location.  In
               the US, this generally should be followed by 'City, ST' while
               other countries would generally use 'City,Country'.

    BBSPHONE   (*)  This is the phone number that will reach your BBS.  It
               should be the primary phone number your user would generally
               use to reach your system.  It MUST be in the following
               format:

               xxx-xxx-xxxx

               (Foreign contries may have a slightly different format, but
               the main consideration here is that this number do NOT
               include any '(' or ')' characters.  The only non-numeric
               character that may be included is the '-' (dash) character,
               which is used as a prefix separator.

       SYSOP   (*)  This keyword should be followed by your sysop login
               name.  Type the name in exactly as you do when you login to
               your system.

       BBSID   (*)  This keyword is very important.  Following this
               keyword, you should type in an appropriate 'identifier' for
               your BBS system.  This field cannot exceed 8 characters in
               length!  The BBSID is used as a unique identifier for your
               system, and DlgQWK uses this as a prefix to the bundle name
               when users bundle messages.  The users QWK reader will also
               automatically use this name when it creates bundles destined
               to be imported back into your BBS by DlgQWK.  DlgQWK uses
               this name as an error check to be sure the bundle the user
               has uploaded to the system is intended for your BBS.

               Again, make sure this identifier is NO MORE than 8
               characters in length.  Most QWK readers will not accept
               bundles with a name that is longer than this (followed by
               the .QWK suffix).

    MENUNAME   This keyword is optional, and describes what menu DlgQWK is
               normally run from on your system.  This has no usefull
               function as of this time, however some QWK readers/terminals
               may make use of this feature for automatic bundle retreival
               and uploading.  Simply type in the name of the Menu where
               you have installed DlgQWK.

    WORKPATH   (*)  This keyword should be followed by the full path to the 
               EMPTY directory where DlgQWK will do all of it's temporary
               work.  This path can NOT end with a colon, due to current
               constraints of the ZIP archiver.  Thus you can NOT use the
               root directory of a device, nor a logical assignment for your
               defined WORKPATH.  Some examples for this might be:

                  DH1:QwkWork
                  BBS:Doors/DlgQWK/Work
                  RAM:temp

               Make sure this directory has enough spare room to hold at
               least 3K per message.  You may restrict how many messages
               are to be allowed per session, however be sure your workpath
               directory has at least 2-3K of space per message allowed.


       HELLO   This is an optional keyword, and is followed by the name of
               the 'greetings' text file to include with all QWK bundles
               that are created.  The text file MUST reside in your DlgQWK:
               directory, and should not exceed 8 characters in length,
               followed with the .TXT suffix.  This is to allow your IBM
               users to fully take advantage of your QWK system.
               
               You may edit this text file to include whatever introductory
               information you might wish to include with the QWK bundle.
               Most QWK readers will display this text file for the user
               after they have unarchived the bundle.

               This text file may also include ANSI color commands.  Many
               QWK readers will display these color commands properly.

               NOTE:  This text file (as well as the NEWS and GOODBYE text
               files) should have the IBM standard 'CR/LF' combo for line
               termination.  If you only use 'LF' termination, many IBM
               users will not be able to view this text file properly.

               I recommend using a utility such as 'Strip' on these text
               files after creating or editing them.  This utility usually
               will strip CR's from files, but it also has an option to put
               them back in for IBM compatiblity.


        NEWS   This is an optional keyword, and is followed by the name of
               the 'news' text file to include with all QWK bundles that
               are created.  As with the 'HELLO' file, this file MUST
               reside in your DlgQWK: directory, and should not exceed the
               xxxxxxxx.xxx filename restriction.  (8 characters, followed
               by an optional .TXT suffix).  The news file should contain
               newsworthy information you wish to inform your user about.
               
               DlgQWK may be modified in the future to automatically
               include bulletins that you have created in this file.


     GOODBYE   This is an optional keyword, and is followed by the name of
               the 'exit' text file to include with all QWK bundles that
               are created.  The same restrictions regarding the HELLO and
               the NEWS file apply to this file.  This file should contain
               any 'thankyou' information you wish the reader to see- it is
               similar to what you might display to your users when they
               logoff your system.  This file may also include ANSI color
               commands.



 MAXMESSAGES   (*) This keyword should be followed by the maximum amount of
               messages you wish your users to pack each time they initiate
               a bundling process with DlgQWK.  DlgQWK is quite efficient,
               and bundles very quickly in the background.  Some sysops,
               however, may wish users not create unusually large bundles
               with thousands of messages.  Such large bundles may take the
               user quite a long time to download.



    SYSLEVEL  This keyword should be followed by the userlevel users should
              be at or above to display the user launch list.  This level
              normally defaults to 255, but you may set it lower so that
              your co-sysops may select this function.  If a user level is
              lower than this value, they will not see or be able to select
              the 'Launch List' function.

That completes the description of each keyword in the DlgQWK.cfg file.  You
may  place  these  keywords  in  any  order  in  the  file,  so long as the
information following the keyword remains on the same line as the keyword.



Other Install Notes
~~~~~~~~~~~~~~~~~~~

DlgQWK  uses  common  archiver  programs  to  compress  and  decompress QWK
bundles.   With  this  release, DlgQWK now will use your DLG system defined
archivers  for  compression  of  the user's mail bundle.  Refer to your DLG
documentation if you are not sure how to define system-global archivers.

IMPORTANT ZIP NOTES:
--------------------

Since this release of DlgQWK uses DLG system defined archivers, you must be
very   carefull  in  defining  the  proper  command  strings  for  archiver
compression.  DlgQWK is at the mercy of these compression strings, and will
fail if you do not have properly defined compression strings.

One  archiver  in  particular  is  AmyZip  v0.93  (this  is  the only Amiga
CLI-based  ZIP  archiver available as of this writing.) In order for DlgQWK
to  be  able  to use ZIP for compression of the multiple files present in a
QWK  bundle,  you  MUST be sure to include the '-r -j' options for your ZIP
compression  string.   I highly recommend you use the following compression
definition  for  ZIP  archivers:   (see  the DLG manual section on defining
system archivers if you are not sure what this refers to- this is extremely
important  and  cannot  be ignored if you wish DlgQWK to work properly with
ZIP.)

   [1] Name:                   Zip
   [2] Compress string:        zip -r -j ~d ~s

The  above defined compression string for ZIP will be fully compatible with
DlgQWK or any other program that uses this definition (such as MailPack).

For  unarchiving,  DlgQWK still uses built-in decompression strings for the
appropriate detected archive method.  You need to ENSURE that you have LHA,
ZIP, ZOO, ARC, UNARJ and UNZIP in your command path somewhere.  I recommend
LHA  v1.22  or  higher, ZIP v0.93, and UNZIP v4.10.  I do not recommend you
use versions of UNZIP less than 4.10, as they have proven to cause problems
with DlgQWK.

You should again be reminded that all of the required archive programs MUST
be  somewhere in your AmigaDOS command path.  This means they should reside
in the C:  directory, or in some other directory that has been added to the
system  command path via the PATH ADD function.  If you do use the PATH ADD
feature, make sure that you do it very early in your startup-sequence.

I  recommend  you  test  all archivers within the DlgQWK environment before
allowing  users  access to the DlgQWK door.  This will ensure that it works
properly on your system.

DlgQWK  always uses the archiver that the user has selected in his/her user
OPTIONS  setting.   If the user does not have any archiver selected, DlgQWK
displays available system defined archivers and asks the user which archive
method to use before launching a bundle process.  DlgQWK auto-detects which
method  of  archiving  was used on reply bundles.  


Interfacing DlgQWK with DLG:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The  next step in the installation process is to decide which menu you wish
DlgQWK to be located.  I suggest the MAIN menu as a starting point, as that
is where most users would expect to find such a door.

Note  that DlgQWK requires you be running dlg.library v2.0.  This generally
means  you  must  be running Dlg Pro v.995 or above.  Do not attempt to run
DlgQWK on a older version of Dlg Pro.

Once  you  have decided which menu to place DlgQWK, add the menu command as
an 'executable' and use the following menu edit information as a template:

[ 1] Letter:                   Q
[ 2] Executable: (path/name)   DLG2:DlgQWK -u "%NAME"
[ 4] Description:              QWK Msg Bundler  [New!!]
[ 5] Type:                     Executable
[ 6] Help File:
[ 7] Lower level:              11
[ 8] Upper level:              255
[ 9] Hidden:                   NO
[10] Load type:                OVERLAY
[11] Ask user if sure:         NO
[12] Pend messages:            YES
[13] Cli mode:                 NO
[14] Pause on completion:      NO
[15] Log value:                None
[16] Activity string:
[17] Priority:                 DEFAULT
[18] Edit help file

Note that DlgQWK must be installed as:

     a.  An executable program
     b.  Load type of OVERLAY
     c.  Cli mode should be set to NO

Enter  the  path/name command as shown above.  Give the path to DlgQWK (you
may  place DlgQWK wherever you like), followed by ' -u "%NAME" '.  Here are
some other examples:

     Doors:DlgQWK/DlgQWK -u "%NAME"
     Doors:DlgQWK/DlgQWK -u %UNAME   <- underscored name is is also allowed

This  completes  the  installation  process.  DlgQWK should now be ready to
run!



The Help Files
~~~~~~~~~~~~~~

Although DlgQWK does not yet allow you to define a custom menu for it, help
files  for DlgQWK are included.  These are placed in DlgConfig:Menu/DlgQWK,
and  you  may  edit  these  files to suit your own tastes.  Sometime in the
future,  DlgQWK  will likely allow you to define a custom menu- this is why
the  help  files have been placed in the standard place for such menus.  To
edit these help files, I recommend dropping to dos and entering:

     DlgEdit DlgConfig:Menu/DlgConfig/*.help

Doing  so  in  this manner will edit the help file so that it does not have
hard  returns  at  the  end of each line.  This allows users with differing
screen  widths to view the file in the proper format.  You could also place
any of the numerous %SWITCHES that DLG allows in text files.



Using DlgQWK
~~~~~~~~~~~~

Using  DlgQWK is quite simple.  Before running DlgQWK, you (and your users)
should  take  a  look  at  your  'Global Archive' settings within your user
OPTIONS.   This  would  be item #24 in user options.  DlgQWK bundles public
message areas based on whatever areas you have selected in this option.

Once  you  have  these  options  set,  go  back to the menu where DlgQWK is
installed  and  select  the  menu  command to initiate DlgQWK.  If you have
configured  DlgQWK  properly,  it  will load up and internally display it's
builtin  menu.   (Recall  that  you  cannot  yet  define  a custom menu for
DlgQWK.) If DlgQWK did not load properly, it will display an error message,
telling you what the problem was.

Here is the menu:

   DlgQWK v0.71a - The QWK Door for DLG Pro (c) 1992 Reid Bishop
   ---------------------------------------------------------------
   [B] Bundle Mail      [S] Show Areas        [M] Previous Menu
   [P] Bundle PVT Mail  [R] Process Replies   [I] Information
   [K] Kill PVT Mail    [H] Help              [$] User Launches
   ---------------------------------------------------------------
   
   
   DlgQWK Command =>


NOTE:   Currently  DlgQWK uses 'hot-key' input for all commands.  This will
change in a future version and will respect the user's 'hot-key' settings.

Rather  than  go  over  each  command in detail, I will explain the general
process  of  how  DlgQWK  works.  For detailed information on each command,
select the [H]elp function.

In  general,  the  [B]undle  and  [P]vt commands will initiate a new bundle
session.  [B] will bundle all new private messages as well as other message
areas,  while [P] will bundle only private messages.  DlgQWK will note if a
user  already  has  a QWK bundle in their private directory, and ask if the
user  wishes  to delete it.  If the user selects NO, then bundling will not
be allowed.  Bundling is always launched as a background process and DlgQWK
then exits.

The  [S]how  command  will  scan  each  message  area the user has selected
his/her  global  archive  settings and display how many new messages are in
those areas.  This display is also displayed when the [B] or [P] command is
selected and no scan has been done previously.

The  [R]eplies  command will cause DlgQWK to process any reply bundles that
happen  to  be  in  a  users  private  directory.   This file MUST be named
'BBSID.REP',  where  BBSID  is  the name you have configured in DlgQWK.CFG.
The user is reminded there is a non-processed reply bundle in their private
directory  each  time  the  menu  is  displayed.   Note  that  DlgQWK  will
automatically delete any reply bundles after they have been processed.

If  there  is  currently  no  reply bundle in the user's private directory,
selection  of  the  [R]eply  command will cause DlgQWK will ask the user if
they wish to upload one.  If the response is yes, the user will be prompted
to  upload  the  file  just  as if they were uploading via the FILE module.
Just as DLG's FILE module handles uploads, DlgQWK will first begin to store
the upload in FILE:TempUploads/First_Last.  If the upload is succesful, the
file  will  be  moved to the user's private directory and then processed by
DlgQWK.

With  this release of DlgQWK, you can see that users can still upload reply
bundles  the old way (by going to their private directory and uploading the
reply  bundle  to  themselves),  or they can upload the reply bundle direct
within the DlgQWK door.  This method is much easier and more convenient for
users.

When  a  user selects the [B] or the [P] command, if there are any messages
to  bundle  DlgQWK  will  launch  a  background  process  to package up the
messages  and  exit.   The user may then continue their online session, and
they will be notified via a system message when the QWK bundle is ready for
download.  They do not have to be online when this happens.

When a user selects the [R] command, the reply bundle (if any) is processed
while  the  user  waits.  This generally does not take very long at all, as
most  users will not generate more than a few messages for import back into
the system.

The  [K]ill  command  will kill all messages that are numbered at and below
the  users  high-read  pointer.   This  is handy for users that always read
their  private  mail  using  the  QWK method, and want the messages deleted
after  they have received them via their QWK reader.  DlgQWK does not offer
the option of automatically killing private messages immediately after they
are  packed.   To do so is not a good idea, as it is best to leave it up to
the user when they wish these messages to be killed from the system.

The  [$] command (List User Launches) will only be available to users who's
user  level  is  at  or  above  the SYSLEVEL parameter in DlgQWK.CFG.  This
function  will display a simple histogram outlining users who have launched
DlgQWK  and  the  total number of messages they have exported and imported.
The  total number of times they have launched DlgQWK and the last date that
they  did  so  will  also  be  displayed.   Note  that for a 'launch' to be
tallied,  the  user  must  either  succesfully  initiate the 'Import Reply'
function  or  the 'Bundle' (including Private-Only) function; a combination
of both functions in one session counts as one launch.



Notes about DlgQWK
~~~~~~~~~~~~~~~~~~

DlgQWK has numerous features built in to make it work just as if a user had
read/written  a  message  while  online.  Some of the things that should be
noted:

 1)  The release distribution of DlgQWK is crippled.  Sysops need to
     register DlgQWK with the author to receive a keyfile that will
     deactivate the crippling functions.  The crippled functions are:

        a)  DlgQWK will only allow 50 messages to be exported per
            session.

        b)  Users will only be able to launch bundling sessions
            (either export, import or a combination of both) 10
            times.

        c)  DlgQWK will NOT run imported messages thru any of your
            SCREEN.DAT files- in otherwords, messages will not be
            filtered for foul language!

 2)  DlgQWK uses resource locking to prevent more than one instance of
     DlgQWK running at the same time.  Multiple spawns of DlgQWK will
     patiently wait for the prior launch to finish before beginning.
     (This applies to background launches only- users may still use the
     menu launched DlgQWK at any time)

 3)  DlgQWK informs the sender of private messages that the recipient has
     packed the message.

 4)  DlgQWK uses full Dlg Inform routines when users receive mail that was
     imported with DlgQWK.  WaitingMail.DAT entries are also created,
     supported,  and maintained fully with DlgQWK.

 5)  DlgQWK supports UseNet newsgroup message areas as well as FIDO echo
     areas.  DlgQWK does NOT yet support FIDO NetMail nor UUCP E-MAIL.

 6)  DlgQWK sets the 'received' bit on local, echo, and private messages as
     they are packed if those messages are addressed to the user.

 7)  DlgQWK properly checks for user access into message areas before
     importing a message from the user into that area.

 8)  DlgQWK writes proper DLG log entries for all appropriate actions.

 9)  DlgQWK uses ANSI color if the user's options dictate so.

10)  DlgQWK properly exits if forced to do so by the DLG handler.

11)  If an archiver returns a failure code of any kind while archiving the
     users QWK bundle, the entire set of QWK files will be moved to
     DlgQWK:First_Last/, the user will be informed, AND the sysop will be
     informed.  This way the sysop can hand-arc the files for the user and
     re-upload the bundle.  There can be many reasons for an archiver
     failure, so this is a 'safety' latch for heavy QWK users.  If you do
     get an archive failure, check your compression string definition.
     Other possible reasons would be a full drive where the WORKPATH is
     defined, a hard drive error, an AmigaDOS error, or lack of adequate
     RAM for the archiver.  Check each of these conditions if you ever
     encounter an archiver error.

12)  DlgQWK is one of the first 3rd-party programs to extensively use TPT's
     dlg.library.  This helps to make DlgQWK more compatible with all DLG
     Pro BBS systems, and also helps speed up all functions of DlgQWK.

13)  DlgQWK is proudly written with JForth Pro v2.01.  All programmers
     should try JForth- it's a simply marvelous tool for programming.


NOTE  OF CAUTION:  I do NOT recommend you allow users access to the NetMail
area  when  using  DlgQWK.   Since  DlgQWK  does  not  yet support NetMail,
messages  users  might  try  to  send  back to the NetMail area will not be
imported  properly.   Nor  will  users know what system the NetMail message
came from, as the QWK standard does not support fido-style addressing.

In  addition,  DlgQWK  currently would pack ALL new messages in the NetMail
area, instead of only packing those addressed to the user.

As  for  NetMail  or  UUCP  E-Mail  messages DlgQWK packs out of the user's
private  directory,  this  too  will be a problem.  Users will have no idea
that the sender may have been from a different system, and replies the user
sends back will also go nowhere.

Remember- this is a preliminary copy of DlgQWK, and some discussion needs
to be started regarding how to treat these special private messages.



How to reach Reid
~~~~~~~~~~~~~~~~~

As stated in the READ.ME file, all bug reports should be posted in the
BUNDLE echo or via NetMail to myself.


       --<< DlgQWK is SHAREWARE!  Don't abuse excellent software! >>--


My Address:

        Reid Bishop
        8621 West 88th Place
        Westminster, CO  80021
        USA

  FIDO: 1:104/224
Usenet: rbish@a68k.denver.co.us

   BBS: The Arvada 68K BBS - Westminster, CO
                 (303) 424-6208



Registration
~~~~~~~~~~~~

DlgQWK  is  a copyrighted product that has been made available to you under
the  concept of "Shareware".  It has never been, nor will it ever be in the
"Public  Domain".   You  are granted a limited license in order to evaluate
this  program.  If, after a 3 or 4 week period of evaluation, you find that
DlgQWK  suits  your  BBS  needs, please register.  By cooperating with this
concept you help to ensure continued development of this product.

Registered  users will be shipped a disk with the latest release version of
DlgQWK  together with a keyfile.  This keyfile, once copied to your system,
will disable all of the crippling functions within distribution versions of
DlgQWK.

Site  license  information  for  commercial  and  government use as well as
source code licenses can be obtained directly from the author.

No  person(s)  or businesses other than the author are authorized to accept
any  registration  or  distribution  fees in any form whatsoever.  The only
people who will be acknowledged as registered users are those who have sent
$40.00 US to:

                           DlgQWK Development
                             Reid J. Bishop
                          8621 West 88th Place
                         Westminster, CO  80021
                                 USA

As one of the safest and possibly easiest ways to send in your registration
fee  from  other  countries,  I would suggest an international postal money
order  --  your  local  post  office  will  happily  provide  you with more
information  about  this.   It  also has the advantage that the exchange of
currencies is handled automatically and the surcharge is negligible.

     Note: IF YOU SEND CHECKS, PLEASE SEND ONLY AMERICAN CHECKS MADE
     OUT IN US DOLLARS!

Please allow up to three weeks for delivery.  



Distribution
~~~~~~~~~~~~

DlgQWK  may be distributed freely as long as the following restrictions are
met:

The distributor may only charge a fee up to the costs of obtaining a public
domain   diskette   from  Fred  Fish.   The  distributor  agrees  to  cease
distributing  the  program  and  data involved if requested to do so by the
author.   The  distributor  may  only  distribute an unmodified copy of the
original program, with all the supplied documentation and copyright notices
intact.

For more details, see the section called "License".  



Support
~~~~~~~

The  latest  version  of  DlgQWK  is  always available for filerequest from
FidoNet node 1:104/224, "The Arvada 68K" under the magic filename "DlgQWK".

If  you  have  any  suggestions, bug reports etc., feel free to contact the
author  of  DlgQWK  at  the  address  given  in the section "Registration".
Additionally, you can reach me at

          Reid Bishop
          Fido:   1:104/224
          Uucp:   rbish@a68k.denver.co.us

Also, there is a FidoNet Echomail conference called BUNDLE, which should be
available at major DLG systems.  This conference is in English and intended
for  the  users  of  DlgQWK and other DLG message bundlers.  There, you can
freely  exchange  your  experience with DlgQWK, discuss future enhancements
you  would like to see etc.  Authors will participate in the conference and
try  to  assist  you.   The  availability of new versions of DlgQWK will be
announced there, too.



License
~~~~~~~

1.  This license applies to  the product called "DlgQWK", a program for the
    Amiga  computer,  published  by  Reid  Bishop  under  the  concepts  of
    ShareWare,  and  the  accompanying  documentation,  example  files  and
    anything  else  that  comes  with the original distribution.  The terms
    "Program"  and  "DlgQWK" below, refer to this product.  The licensee is
    addressed as "you".

2.  You may copy and distribute verbatim copies of the program's executable
    code  and documentation as you receive it, in any medium, provided that
    you   conspicuously   and  appropriately  publish  only  the  original,
    unmodified  program,  with  all  copyright  notices  and disclaimers of
    warranty  intact  and  including  all  the  accompanying documentation,
    example files and anything else that came with the original.

3.  You   may  not  copy  and/or  distribute   this   program  without  the
    accompanying  documentation  and  other additional files that came with
    the  original.  You may not copy and/or distribute modified versions of
    this program.

4.  You  may  not  copy,  modify,  sublicense,  distribute or  transfer the
    program  except  as expressly provided under this license.  Any attempt
    otherwise  to  copy,  modify,  sublicense,  distribute  or transfer the
    program  is  void,  and will automatically terminate your rights to use
    the  program  under  this  license.  However, parties who have received
    copies,  or  rights to use copies, from you under this license will not
    have  their  licenses terminated so long as such parties remain in full
    compliance.

5.  By  copying,  distributing and/or  using the program you  indicate your
    acceptance of this license to do so, and all its terms and conditions.

6.  Each  time  you  redistribute  the program, the recipient automatically
    receives  a  license  from  the  original  licensor to copy, distribute
    and/or  use the program subject to these terms and conditions.  You may
    not  impose any further restrictions on the recipients' exercise of the
    rights granted herein.

7.  You  may  not  disassemble,  decompile,  re-source or otherwise reverse
    engineer the program.

8.  You  may use  the program for a period of up to 30 days for evaluation.
    After that, you have to register.

9.  If  you  wish  to incorporate parts  of the program into other program,
    write to the author to ask for permission.

10. You  agree  to  cease  distributing  the  program  and data involved if
    requested to do so by the author.

11. You  may  charge  a  fee  to  recover distribution costs.  The  fee for
    diskette  distribution may not be more than the cost to obtain a public
    domain diskette from Fred Fish.



Warranty
~~~~~~~~

There is no warranty for the program, to the extend permitted by applicable
law.   Except  when otherwise stated in writing the copyright holder and/or
other  parties  provide  the  program "as is" without warranty of any kind,
either  expressed  or  implied,  including, but not limited to, the implied
warranties  of  merchantability  and fitness for a particular purpose.  The
entire  risk  as to the quality and performance of the program is with you.
Should  the  program  prove defective, you assume the cost of all necessary
servicing, repair, or correction.

In  no event unless required by applicable law or agreed to in writing will
any  copyright  holder, or any other party who may redistribute the program
as  permitted  above, be liable to you for damamges, including any general,
specific,  incidental,  or  consquential  damages arising out of the use or
inability  to use the program (including but not limited to loss of data or
data  being rendered inaccurate or losses sustained by you or third parties
or  a  failure  of the program to operate with any other programs), even if
such  holder  or  other  party  has been advised of the possibility of such
damages.


Disclaimer
~~~~~~~~~~

No warranty, either express or implied, is made with respect to the fitness
or merchantability of DlgQWK.

Reid  Bishop  (referred  to  as  "the  author"),  reserves the right to not
develop any future versions of DlgQWK.

The author will try to make a good faith attempt at correcting any problems
if  any  are  discovered,  but  is in no way required, nor bound to correct
them.

The  author  neither  assumes nor accepts any responsibility for the use or
misuse of this program.  He also will not be held liable for damages or any
compensation  beyond the original registration fee due to loss of profit or
any other damages arising out of the use, or inability to use this program.

Reid  Bishop  will not be liable for any damage arising from the failure of
this  program to perform as described, or any destruction of other programs
or  data  residing on a system attempting to run the program.  While I know
of  no  damaging errors, the user of this program uses it at his or her own
risk.


Acknowledgements
~~~~~~~~~~~~~~~~

The  following  names  are  either  trademarks or the efforts of the person
and/or company listed:

   Amiga and AmigaDOS are trademarks of Commodore-Amiga, Inc.
   DLG Professional by TelePro Technologies.
   DlgMail by Intuitive Software
   EchoMail by Jeff Rush.
   Fido and FidoNet are trademarks of Tom Jennings, Fido Software.
   
   License Agreement inspired by Maximilian Hantsch & Martin Laubach,
   Jack Radigan and the GNU General Public License.



Thanks  to  the  following  folks  for  all  the help they have given me in
producing DlgQWK:

   My wife and daughter- for their amazing patience.

   Mike Oliphant and Tom Conroy of Telepro- for producing a BBS package
   that shines above the competition.  The library is a fantastic tool
   for folks like myself!

   Mike Moon- for his call beyond duty in providing me with QWK
   literature and examples.

   Steve Lewis- for his revealing 'shop talk'.  A fellow programmer who I
   will always respect.

   Ben Scott- my co-sysop here at the A68K BBS, who kept things in order
   while I spent weeks upon weeks on code.

