FesiFTP - An FTP utility with EcmaScript macros capability
Version 1.0 - 18 July 1998


FesiFTP is an FTP client utility based on the OROinc library allowing the transfer files between a local computer and a remote computer via the FTP protocol. It supports a FESI based EcmaScript macro capability. The macro capability allows to automate file transfers. For example you can automate the sending of a distribution kit to your internet provider.

FesiFTP is first a demonstration program. It does not support all capabilities of the FTP prototocol. However the source code is provided and you are free to use it and extend it as you see fit as long as you keep the original copyright (along with yours if any change was done). I would appreciate to get the code of any enhancement for redistribution.

Naturally this demonstration program is provided as is without any warranty.

The program

The program is started by the usual java or jre command. It requires that the NetComponents-1.3.7 library be on the class path. FesiFTP has been developed and tested with the JDK 1.1.6.

The program is very simple to use. The main window is a log window used as well to report the result of some commands like the directory listing. The menu entries should be self explanatory. The remote menu contains the connection and the remote operations (most of which are only valid when connected). The local menu contains local operations. The transfer menu contains the file transfer operations. It is only possible to make a single operation at a time. The user is prompted for the  parameters required for any menu command. There is no progress bar during the transfer and no way to abort lengthy operations - sorry.

EcmaScript macros

EcmaScript macros can be written to automate various operations. They must be written with an external text editor.
At startup a file autoload.esftp is automatically loaded if it exists. This file can automate various operations (for example setting defaults or connecting to a server) and install macros. Each script is called with the global variable ftp representing the FesiFTP program. All functions are reachable as property or method of the ftp global variable. See autoload.esftp for an example.

Global objects and function

FesiFTP installs the global object 'ftp', and version of write and writeln which display the parameter strings in the log window.
The ftp object supports both high level routines (implementing the menu commands) and low level routines.

Global objects and function

See the example code autoload.esftp
ftp object - Describes the ftp object and its properties
high level routines - Describes the high level (menu like) methods of the ftp object
low level routines - Describe lower level routines to access ftp functions.
autoload.esftp - An example of a FesiFTP script.

Last update: 18 July 1998