                              *** DPFTP 1.4 ***
          Part of the DPNET series: Internet Software for PowerBBS

                              by Detlef Pleiss

               Internet:   det@goliath.de
               Compuserve: 74101.755

               Download Sites:
               Internet FTP: ftp.lifesoft.com or eastwind.livewire.com.au
               Compuserve:   GO PBBS

               Online Order:
               Internet:   http://www.grafix-net.com/powrbbs/3rdprty.htm
               Compuserve: GO SWREG

====================================================================
Files included in package:
DPFTP.DLL    - BBS side DLL for ANSI and GUI, 16 bit version
DPFTP32.DLL  - BBS side DLL for ANSI and GUI, 32 bit version
DPFTP2.PA    - User side GUI DLL
DPFTP.ICO    - Icon for PowerGenerator Screens
DPFTP.INI    - Configuration File
DPFTP2.INI   - Default Configuration for the PA DLL
DPFTPHLP.TXT - the Online Help Files for ANSI
DPFTPSRV.TXT /
DPFTPM1.TXT  \
DPFTPM2.TXT  - the menus for ANSI
DPFTPM3.TXT  /
DPFTP.TXT    - you read it, don't you?
DPNET.TXT    - product overview of the DPNET series
FILE_ID.DIZ  - you know what that is
====================================================================

The Basics of DPFTP

DPFTP offers quick and easy access to anonymous FTP (Internet File Transfer
Protocol). Only requirement besides a running PowerBBS is a working
Windows Socket TCP/IP stack, a WINSOCK.DLL (WSOCK32.DLL for 32 bit). The type
of connection to your Internet provider doesn't matter, even a dialup
connection does the job. DPFTP can call a batch file of your choice in
order to establish a connection on demand. This document does not explain how
to get your TCP/IP stack up and running. For that you need to refer to the
documentation of the TCP/IP software you're using or to your internet
provider.

DPFTP is designed to make retrieving files from the Internet a no-brainer. It
is designed with what most of your callers want in mind: Browsing directories
of FTP servers and downloading files. The ANSI version is menu driven, so
no need to learn commands. Menu texts, hotkeys and online help are completely
customizable. The GUI version uses a simple point and double-click interface.
Users don't need to fiddle with logins, passwords or transfer modes, DPFTP
takes care of that.

Files that a user decides to download are copied to a dedicated area of your
filebase. ANSI callers can download them immediately by ZModem from within
DPFTP or later on from that file area. PA callers can download them in the
background while they continue browsing directories on FTP servers. DPFTP
takes care of renaming duplicated files or long finlenames. DPFTP
automatically inserts an entry to the listing file of that area, naming
server, directory, filename and downloader. As a side effect you get the
latest files your users are interested in to your BBS. The next user who wants
the same file doesn't even need to go seeking on the Internet as you already
have it in your local filebase.

====================================================================

Upgrading from Version 1.0

If you run the 16 bit version of PowerBBS, overwrite DPFTP.DLL in your
PowerBBS home directory with the new version. If you run the 32 bit version of
PowerBBS, delete the old DPFTP.DLL from your PowerBBS home directory, copy
DPFTP32.DLL to your PowerBBS home directory and there rename it to
DPFTP.DLL.
Copy DPFTP2.PA to your POWRBBS\SOURCE directory.
On one of your PGen screens add a command to run DPFTP as a PA DLL. The
command reads "O-DPFTP.DLL". You may want to use DPFTP.ICO (taken from a
public domain WS_FTP source code) for the icon.
There's one new parameter in DPFTP.INI, that is

PleaseWait=  message to be displayed when waiting for server connection / data

If you want to customize the message, add this line to DPFTP.INI. Take a look
at DPFTP.INI from the distribution for an example.
DPFTPM3.TXT (ZModem download) is now displayed after viewing the help file or
the server list too. You may want to change it to sound a little more
general. For an example look at DPFTPM3.TXT from the distribution.
Copy DPFTP2.INI to your PowerBBS home directory. This is the default
configuration sent to the GUI DLL user the first time she uses DPFTP. You may
want to edit DPFTP2.INI, you can enter up to 10 server addresses as default
entries for the "Server" drop down box at the PA side.

====================================================================

Upgrading from Version 1.1 or 1.2

If you run the 16 bit version of PowerBBS, overwrite DPFTP.DLL in your
PowerBBS home directory with the new version. If you run the 32 bit version of
PowerBBS, delete the old DPFTP.DLL from your PowerBBS home directory, copy
DPFTP32.DLL to your PowerBBS home directory and there rename it to
DPFTP.DLL. Overwrite DPFTP2.PA in your POWRBBS\SOURCE directory with the new
version.
Copy DPFTP2.INI to your PowerBBS home directory. This is the default
configuration sent to the GUI DLL user the first time she uses DPFTP. You may
want to edit DPFTP2.INI, you can enter up to 10 server addresses as default
entries for the "Server" drop down box at the PA side.
Please note that at the callers side the location of DPFTP2.INI has been moved
from the \powracc directory to your BBS's data directory. DPFTP2.PA takes care
of moving an existing DPFTP2.INI to the correct location automatically.

====================================================================

Upgrading from Version 1.3

If you run the 16 bit version of PowerBBS, overwrite DPFTP.DLL in your
PowerBBS home directory with the new version. If you run the 32 bit version of
PowerBBS, delete the old DPFTP.DLL from your PowerBBS home directory, copy
DPFTP32.DLL to your PowerBBS home directory and there rename it to
DPFTP.DLL. Overwrite DPFTP2.PA in your POWRBBS\SOURCE directory with the new
version.

====================================================================

Installation

If you run the 16 bit version of PowerBBS, copy DPFTP.DLL to your PowerBBS
home directory.
If you run the 32 bit version of PowerBBS, copy DPFTP32.DLL to your PowerBBS
home directory and there rename it to DPFTP.DLL.
Copy DPFTP.INI, DPFTP2.INI, DPFTPHLP.TXT, DPFTPSRV.TXT, DPFTPM1.TXT,
DPFTPM2.TXT and DPFTPM3.TXT to your PowerBBS home directory. Copy DPFTP2.PA to
your POWRBBS\SOURCE directory. On one of your PGen screens add a command to
run DPFTP as a PA DLL. The command reads "O-DPFTP.DLL". You may want to use
DPFTP.ICO (taken from a public domain WS_FTP source code) for the icon. Using
CONFIG add the command to run DPFTP as ANSI DLL to one of your ANSI menus.
In CONFIG add a new file area dedicated to FTP transfer.
You now need to edit some entries of DPFTP.INI (using any text
editor, like Notepad):

Folder=  should point to the directory you just dedicated to FTP file transfer
Listing= should point to the listing file associated to that file area

There are two more entries in DPFTP.INI you need to edit. Those are related to
logging into FTP servers. DPFTP is designed to automatically log in as
USER anonymous, so the user has nothing to do with that. FTP servers that
allow anonymous login ask for the users email address as password. In case you
have WinNet (or other) email running for your PowerBBS system, the DPFTP user
has an email address on your system. In this case just enter the

Domain= your internet email domain

parameter in DPFTP.INI. This entry should be what follows the "@" in each of
your users internet addresses. DPFTP takes care of constructing the actual
complete internet address from that and the users information (yes, for one
and for two word names).

In case you don't have internet email on your system but you yourself have an
internet email address you may want to allow your callers logging into
anonymous FTP using that address. In order to achieve that enter your complete
email address as the

Password= Internet address to be always used as password
          (overrides Domain= parameter!)

parameter in DPFTP.INI. If you do have WinNet (or other) email running, leave
this entry empty!

In case you do not enter either Password= or Domain=, DPFTP will use "guest"
as password. Only some, not all, FTP servers allow anonymous login using
"guest" as password.

Now you're ready to start playing with it. Make sure your Windows Socket is
running and online (or read the paragraph about dial-up support first).

====================================================================

Running the Program and Customization - ANSI

On startup DPFTP displays DPFTPM1.TXT to the user. This is a menu screen
offering the choices to
Show a List of Servers          - Displays DPFTPSRV.TXT to the caller
Enter the Name of a Server      - Connects to Server, gets root directory
                                  and displays menu DPFTPM2.TXT
Go Back                         - Exits program
Help                            - Displays DPFTPHLP.TXT to the caller

When connecting to a server or reading directory data the "please wait"
message taken from the

PleaseWait=  message to be displayed when waiting for server connection / data

entry in DPFTP.INI is displayed to the caller.

When connected to a server the content of the current Directory is shown
and the menu screen DPFTPM2.TXT. The menu choices are:
Change Directory        - asks for the name of the directory to go to,
                          changes directory and displays a new listing
Directory one Level up  - changes directory one level up and displays new
                          listing
Back                    - Disconnects from server and goes back to the
                          DPFTPM1.TXT menu
Download a File         - asks for filename, displays local filename,
                          downloads that file to your dedicated file area in
                          BINARY mode and adds an entry to the associated
                          listing file. After a successful download the user
                          is asked wether she wants to download the file by
                          ZModem immediately.
Show (Text)File         - same as above, only ASCII transfer mode is used and
                          the file is displayed to the user after download
Help                    - Displays DPFTPHLP.TXT to the caller

DPFTPM3.TXT contains just the text to ask the user wether she wants to
download the file immediately. It is displayed after downloading a file to the
BBS, but also after displaying the server list and the help text.

You can change the menu and help files to whatever you want. The hotkeys for
the different functions can be customized by means of DPFTP.INI entries (see
below for details). This way DPFTP can be customized to different languages.
A german set of files is available.
You may want to customize the help file DPFTPHLP.TXT and the list of servers
DPFTPSRV.TXT. Depending on your location you may want to include some FTP
servers near (in net terms) to you that are mirror sites of the "big ones". If
you don't know such mirror sites you may find lists of mirrors at the often
overloaded "big ones".

Inside the text files the color codes

@1@   -       Light Blue              @10@    -       Dark Blue
@2@   -       Light Green             @11@    -       Dark Green
@3@   -       Light Cyan              @12@    -       Dark Cyan
@4@   -       Light Red               @13@    -       Dark Red
@5@   -       Light Magenta           @14@    -       Dark Magenta
@6@   -       Light Gray              @15@    -       Dark Gray
@7@   -       Yellow
@8@   -       Brown
@9@   -       White

may be used.

====================================================================

Running the Program and Customization - PA GUI DLL

DPFTP2.PA, the user side GUI client, will show a german dialog box if the
PA language selection is "Deutsch". Otherwise it will pop up an english text
dialog box. The language selection is read from POWRACC.INI.
The top of the GUI DLL window shows two combo boxes for server names and
directory names. The "connect" button is only active when there is at least
one character in the "Server" field. The rest of the controls is only active
when connected to a server. On first startup DPFTP2.INI is copied from your
PowerBBS home directory to your BBS's data directory on the users computer.
From then on the "Server" drop down box keeps track of the last ten servers
visited. On closing down DPFTP, this information is stored in DPFTP2.INI for
the next time the user chooses to launch DPFTP. You may want to edit
DPFTP2.INI, you can enter up to 10 server addresses as default entries for the
"Server" drop down box at the PA side. Besides choosing a server from
the drop down box any server name to connect to may be entered in the "Server"
field." The "Directory" drop down box keeps track of the last ten
directories visited on this server. This information is not stored permanently
and gets reset on connection to a different server.
While connecting to the server or getting the directory data, the controls are
disabled and the hourglass cursor is shown.
When connected to a server the name of the current directory is shown in the
"Directory" field and the contents of that directory show up in the two
listboxes in the middle. The left listbox shows the subdirectories, the right
listbox shows the files.
The small listbox at the bottom of the screen shows commands sent to the
server, server responses and program messages. The only customizable text is
the "please wait" message displayed when connecting to a FTP server. The text
of that message is taken from the

PleaseWait=  message to be displayed when waiting for server connection

entry in DPFTP.INI.
The user can change directories by:
a) typing in a new directory name, then pressing the "change" button.
b) selecting a previously visited directory from the drop down box, then
   pressing the "change" button.
c) double-clicking an entry in the left listbox.
There will always be a ".." entry to go up one level in the directory tree.
The user can download a file to the BBS file area by double clicking an entry
in the right listbox. A transfer status window will show up, displaying the
number of bytes already transfered. It contains a "Cancel" button to abort the
current transfer. After aborting a transfer it may be necessary to re-connect
to the server.
The user can connect to a different server by:
a) typing in a new server name, then pressing the "connect" button.
b) selecting a previously visited server from the drop down box, then pressing
   the "connect" button.
It is up to you, the sysop, to include commands to display / download help
texts or server listings on the screen that contains the DPFTP button (or
whereever you like).

====================================================================

Maintenance

It is up to you to restrict access to DPFTP to certain security levels
(paying members!). You should think about restricting access to your
dedicated FTP file area to the same security levels if you don't want to give
free access to files that paying members downloaded via FTP.
DPFTP only adds files to the FTP area. It is up to you to keep an eye on the
harddisk space available and to delete old files or move the interesting ones
over to the appropriate local file area. Both can be done easily using
PowerBBS's own CONFIG.

====================================================================

Dial-Up Support

DPFTP supports dialup connections to your provider in that you can specify the

Dialup= path to batch file called on DPFTP connection requests

parameter in DPFTP.INI. This batch file is called everytime a caller wants to
connect to a FTP server. The purpose is to initiate a dialup connection in
case your Windows Socket stack doesn't dial-on-demand. If you don't need it
just leave this parameter empty.

====================================================================

Overview of DPFTP.INI Parameters

[DPFTP]
DialUp=         path to batch file called on every connection
Folder=         path to FTP file area
Listing=        path to listing file associated to that area
# login
PassWord=       password for anonymous logins (overrides Domain=)
Domain=         internet email domain of your BBS for automatic passwords
# Menus
PleaseWait=     message to be displayed when waiting for server connection /
                data
ServerList=     Hotkey: DPFTPM1.TXT: List of Servers
ServerName=     Hotkey: DPFTPM1.TXT: Enter Name of Server
Back=           Hotkey: DPFTPM1.TXT: Back (exit program)
                        DPFTPM2.TXT: Back (logout from server)
Help=           Hotkey: DPFTPM1.TXT and DPFTPM2.TXT: Help
ChangeDir=      Hotkey: DPFTPM2.TXT: Change Directory
UpDir=          Hotkey: DPFTPM2.TXT: Directory one Level up
Download=       Hotkey: DPFTPM2.TXT: Download a File
Show=           Hotkey: DPFTPM2.TXT: Download and Show a (Text) File

DPFTP2.INI's first line is

[DPFTP]

then follow ten lines

Server0=        default server name
Server1=        next server name
Server2=        next server name
...
Server9=        last server name

which define the entries of the "Server" drop down box at the PA user side.
The file is copied to the user only if it does not already exist. After that
the file on the user side will keep track of the servers that the user
connected to.

====================================================================

Registration and Disclaimer

DPFTP is shareware. It is not free, freeware or in the public domain.
The unregistered version may be distributed freely in its unaltered form.
This software is provided as is. Detlef Pleiss disclaims all warranties,
either expressed or implied, including but not limited to implied warranties
of merchantability, fitness for a particular purpose. In no event will
Detlef Pleiss be liable to you for damages, including any loss of data,
profits, lost savings, or other incidental or consequential damages arising
out of your use or inability to use the software. Use at your own risk.

The unregistered version of DPFTP is limited to 20.000 bytes file size when
storing files to your dedicated file area. A message stating this will appear
on screen after FTP transfers.
This restriction and the message will vanish after applying your registration
code to DPFTP.

Online registration is available at
http://www.grafix-net.com/powrbbs/3rdprty.htm
and via Compuserve GO SWREG, ID 11734.
Registration fee is $30. After registering you'll receive a registration code
that is valid for your name and your BBS's name. When registering at
Compuserve, please additionally send Compuserve mail to 74101.755 stating
which program you registered, your name and your BBS's name, as this
information will be needed anyway. Registration can not be transferred. If
either name or BBS name change a new registration is required.

====================================================================

History of DPFTP:

v 1.0 - released: May 29 1996
        first public release
v 1.1 - released: Jul 16 1996
        fixed possible lockup conditions
        added option to download help file / server listing
        customizable "please wait" text
        added GUI client
v 1.2 - released: Jul 24 1996
        fixed some error conditions
        added 32 bit version
v 1.3 - released: Jul 25 1996
        fixed more error conditions
        added default DPFTP2.INI file
        moved DPFTP2.INI location to the BBS data directory on the users side
v 1.4 - released: Sep 11 1996
        fixed 32bit version info for PA GUI DLL download
