The OpusFTP Module
Because of the modular design of Opus, it is readily possible to
incorporate new modules and custom handlers. With Opus 5.5 we
have done this with a new FTP module which is designed to make
access to a remote Internet FTP sites as easy as using your own
To use Opus 5's FTP you must have a TCP/IP stack running using
either AmiTCP, Interworks INET225 or similar. Of course if you
want to access the Internet you must also be connected to a
TCP/IP network (such as the Internet) via modem etc.
The OpusFTP module displays the remote Internet site using a
standard Opus file Lister. Almost all the normal Opus actions and
commands will function just as if this Lister was a local directory.
You can copy to and from the remote site, delete files (if you have
permission), rename files, double-click on a file to view or read it,
and so on. You can also open and access as many remote sites at
the one time as you wish. About the only thing you cannot do is
copy files directly between two FTP listers because of
complications with the FTP protocols.
If you are familiar with the Internet and FTP already you can now
set up your address book using the configuration file.
Now all you have to do is to load the FTP buttons if they are not
already there and click on AddressBook or Connect.
The FTP Configuration File
The file DOpus5:System/ftp.config will be read the first time you use
Opus 5's FTP capabilities. This file contains two parts - the actual
configuration options for OpusFTP, and the list of entries for the
All lines in the configuration file beginning with a '#' character are
considered comments and will be ignored.
The template for the configuration options is:
You may put the options on separate lines to increase readability.
All settings are optional, so OpusFTP will work even if you have
no configuration file.
This specifies which TCP/IP stack you wish to use. Currently
supported keywords are:-
AMITCP the AmiTCP/IP product from NSDI.
AS225 the old unreleased Commodore product.
INET the I-Net 225 TCP/IP from Interworks.
AmiTCP is the default, but all will be checked so if you change
which product you use, OpusFTP will still operate.
If you wish to log the actions of your FTP sessions, you may
provide a filename here. More useful, however, is to supply a
shell description so you can watch what is happening. Here
are some sample Shell descriptions:-
For the most basic log window on the Workbench screen:-
If you have the KingCon Shell by David Larsson (available
on Aminet), the following will give you a scrollback buffer
and open on the Opus 5 public screen:-
The default LOG entry is CON:////Directory Opus 5 FTP
The log file or shell specification can be changed at any time
with the FTPSetVar LogFile command.
Normally, if you specify a log file or shell, logging will be
enabled by default. However, when you specify the
'LOGOFF' keyword, logging will be turned off when you start
using FTP. The log may be turned on and off at any time with
the FTPSetVar LogFile command.
The debug option takes a value which specifies the amount of
debugging information that will be output to the log. At
present only zero and non-zero debugging levels exist. Zero
means you only wish to see the responses from the FTP site
you are connected to, and non-zero means you wish to see the
commands sent by Opus 5 to the FTP site as well as the
numeric response codes. Debugging is set to zero by default.
The debug level may be changed at any time with the
FTPSetVar Debug command.
The TIMEOUT keyword allows you to specify how much time
Opus 5 should wait for the FTP site to reply to each command.
The default timeout value is 60 seconds.
The timeout can be changed at any time with the FTPSetVar
When you change directories on an FTP site, the lister is
updated periodically as the filenames are received. This value
specifies how often to update the lister. The default list update
value is 1 second.
The list update period can be changed at any time with the
FTPSetVar ListUpdate command.
Address Book Section
Each entry in your address book is specified on a separate line.
The format of the line is:-
ALIAS/K, HOST, ADDRESS=ADDR/K, PATH=DIR,
This optional switch specifies that the entry is for an
anonymous FTP site.
This optional switch specifies that the entry is for an FTP site
on which you have an account.
You may specify a nickname for each entry in the address book
with this keyword. The address book will display the
nickname if it exists or the hostname or IP address if not.
This is the hostname, or actual Internet address of the machine
you wish to connect to. For example, to access the main
Aminet FTP site you could use HOST=ftp.wustl.edu or
because the keyword is optional you could just use
This is the IP number of the machine you wish to connect to. It
is often quicker to connect to an Internet site by IP number
than it is by hostname. For example, to access the main Aminet
FTP site you could use ADDRESS=220.127.116.11
This is the directory on the FTP site where you wish to begin.
For example, most Aminet sites this is /pub/aminet
If you wish to connect to a specific account on an FTP site, this
is where you can specify your account name. For example, if
your email address is 'firstname.lastname@example.org' and you wish to
make an entry for your account on the machine 'foo.bar.com'
then you would use the name 'fred' here.
Usually, when you use an FTP account other than 'anonymous'
or 'ftp', you will need to supply a password. You can put your
password here for fully automatic log-ins if you wish. For
security reasons it is a much better idea not to leave any
passwords in any configuration files on your machine. If you
connect to a site using a username but no password, you will
be prompted for your password at that time.
Opus 5 FTP Commands
Directory Opus 5 200
OpusFTP transparently supports most of the standard built-in
Opus commands. The following commands are supported
directly with some minor differences:-
Copy and CopyAs do not copy entire directories, only files.
Copying an existing file where the new file is larger than the old
provides a resume feature.
Delete usually only deletes directories if they are empty, but this
does depend on the server's operating system.
Rename does not allow wildcards.
Some commands are supported by downloading the selected files
into the T: directory then executing the command on the
temporary files. These include:-
Internal OpusFTP Commands
The following commands are added to the internal Opus
command list by the OpusFTP module. You may use these in
buttons, menus, scripts etc, just like standard Opus commands.
The FTPAddressBook command displays a requester which
allows you to connect to any FTP site listed in your
configuration file by double-clicking on the entry or selecting it
and clicking the OK button.
FTPConnect HOST, USER, PASSWORD=PASS, DIR/K
The FTPConnect command provides requesters for entering the
details of the FTP site you wish to connect to.
When prompted, enter the host name or the IP number of the
remote site. Next, enter your user name. This will usually be
'anonymous' but you may enter your login name if you have
an account on the remote machine.
If you have entered a user name other than 'anonymous' you
will also be prompted for the password of your account.
This command lets you send an FTP command directly to the
server of the current'SRCE FTP lister. This command is
provided mainly for experts who wish to set site options. You
can experiment with FTP commands like HELP, STAT, and
PWD. A requester will be provided if the arguments are
+ This is an advanced command. It is possible to confuse
Opus when using this command so be careful!
FTPSetVar <variable> [<value>]
The FTPSetVar command lets you set the value of the internal
Opus 5 FTP variables.
LogFile [<name>]: If <name> is specified, a new log will be
opened using the new name. If a log was already open, it will
be closed. If <name> is not specified, the log will be toggled
between open/closed using the original name in the
FTPSetVar LogFile "CON:////Opus FTP Log"
Debug [<level>]: If <level> is provided, the debugging level
will be set to this new value. If <level> is not provided, the
debugging level will be toggled between 0 and 1. <level> must
be an integer:-
FTPSetVar Debug 1
Timeout <seconds>: <seconds> must be provided. This sets
the maximum amount of time Opus will wait for replies from
the server before giving up and disconnecting:-
FTPSetVar Timeout 60
ListUpdate <seconds>: <seconds> must be provided. This sets
the interval in seconds between successive updates of the lister
while a new directory is being scanned:-
FTPSetVar ListUpdate 5
The FTPQuit command causes all connected listers to log out as
soon as they can, closes the log if it is open, and allows the FTP
module to be removed from memory when needed.
If the FORCE keyword is supplied, all connected Listers will
abort their current operations and log out immediately.
Use the standard Opus "trapped" commands instead of these if
The FTPCD command allows you to change the current SRCE
FTP lister to a different directory. If no directory name is
specified, a prompt requester will be provided.
FTPCopy [<from>] [<to>]
The FTPCopy command allows you to copy a file from the
current SRCE FTP lister to the current DEST non-FTP lister.
Prompt requesters will be provided if the filenames are
FTPRename [<oldname>] [<newname>]
The FTPRename command allows you to rename an entry on
the current SRCE FTP lister. Requesters will be provided if the
filenames are omitted.
The FTPDelete command allows you to delete an entry from the
current SRCE FTP lister. A requester will be provided if the
filename is omitted.
The Opus 5 FTP module includes a handy Resume feature which
can be useful if you have a slow or unreliable connection, or have
to disconnect in the middle of a transfer, or even if you suffer a
All you need to do is re-establish the connection at some later time
and locate the same file - it doesn't have to be in the same place as
long as it is exactly the same as the original. Then simply select the
file you wish to resume, make sure the original partial file is in the
destination lister and click the Copy button. A requester will
appear giving you several options. You may skip or replace the
whole file as usual in Opus, or click on Resume to receive (or send)
the rest of the file.
This requester automatically appears whenever you attempt to
copy a file to or from a normal Opus directory when a file with an
identical name already exists and the source file is larger than the
+ Unfortunately, not all FTP sites support the Resume
operation. This depends on the remote operating system. Some
like WindowsNT do, but they Resume from byte 0!
Since the Opus Magellan release, the in-built OpusFTP module has proved to be very popular because the integration into the Opus makes FTP very easy to use. This has been further enhanced with the addition of many new features as well as improvements in speed and efficiency
New features include:
- A completely revised GUI for FTPAddressbook, FTPOptions and FTPConnect gives control over individual site entries. Tailor custom parameters for individual FTP sites with FTPOptions or use FTPConnect as a quick alternative to the main address book.
- Individual Options for each site can be edited and tested while the Lister is connected to the remote sites
- Full support for recursive copying between remote sites and local directories including:-
- The ability to store changed entries or add new entries to the main address book directly while connected with the new FTPAdd command.
- Enhanced Drag and Drop of sites from the address book or files or directories from remote sites onto the Opus Desktop to create shortcuts or direct to Opus objects such as buttons, menus etc to automatically create commands.
- Seven new event Scripts are available for events specific to FTP such as connect and copy success or failure. They can be set on an individual site-by-site basis
- Automatic reconnect on failure or lost connection allows you to control the number of retries and adjust the delay between attempts.
- Site-to-Site transfers have been improved. Unlike stand-alone FTP programs on the Amiga (and PC!), OpusFTP gives you full recursive site-to-site transfers capability which allows you to seemlessly transfer files directly between two remote sites without downloading them to your Amiga first. Just Drag and Drop files between remote Listers!
- A revised FTP command set gives significantly better integration of FTP into the normal Opus Lister operation with many more commands now supported. Getsizes and FindFiles are now fully supported for remote sites. Protect is fully supported with a new GUI which allows you to set protection bits in either Amiga fashion or Unix fashion. The copy function now supports preservation of Datestamp and Protection bits. Copy UPDATE and NEWER flags are now supported directly via the site FTPOptions. Great for web maintenance because you can recursively select and copy only those files which are different or do not exist on the remote site.
- Inline editing of Name and Protection fields now supported.
- A new ScanDir FTP command allows you to connect to a remote site and directory directly from any Lister.
- Both logical and relative directories and remote linksare now supported.
- The AutoIndex displays from AmiNet are better supported.
- More information is provided during the establishment of the connection and we have added the ability to display messages from the remote site for startup and directory information in the Opus text viewer.
- Optional transfer and progress displays give more detailed information including speed and remaining time for download.
- Custom toolbars may be used for individual sites.
- Firewalls and IP Masking techniques are supported with the implementation of PASSIVE transfers
- Lister path gadgets now accept industry standard URL syntax such as "FTP://user:password@host:port/path" (all but host optional). These "FTP://" style paths now also work from an FTP Lister so you can easily cut and paste site URLs.
- In a very significant change, all Opus FTP commands are now synchronous so interactive ARexx scripts are now possible!
- Both speed and efficiency of the module have been improved through better management of TCP socket options along with improved support for all Amiga TCP stacks.
- Each FTP Lister status gadget popup menu now contains Options and Add. Respectively, These allow you to customise the FTP options for the current Lister, or add the current site entry details and custom options directly to the address book.
Enhanced Drag and Drop support
We have expanded the drag and drop capability to allow you to do some cool things!
- Drag a SITE from the address book to the Desktop to automatically create an Opus command file (FTPConnect SITE) and icon to quickly connect to that site.
- Drag a FILE from a Lister to the Desktop to create a COMMAND which calls the newDOpus5:ARexx / FTP_file.dopus5 ARexx script to access this file (connect to site then download it). Note the action performed is the specific action as defined in your desktop popup setting.
- Drag and drop a SITE from the address book to a function editor, button editor, menu editor, hotkey editor, filetype editor etc to create an FTPConnect function. This will create the command line automatically containing the correct OpusFTP syntax.
- Drag within the address book to arrange entries in the list if you desire. Normally an entry is inserted at drop position but you can swap entries by holding SHIFT when dropping entry.
- Drag a SITE from the address book to an already opened Lister to immediately connect to the site.
- Drag and drop of files and directories into sub-directories now works for uploading and downloading (except for site- site transfers where it is not permitted).
Icons for FTP
A set of icons is supplied to support Opus Commands in both standard and NewIcon formats. These icons are used automatically when you drag and drop objects onto the desktop leave out remote sites, or remote files or directories etc. The icons "FTPSite.info", "FTPFile.info" and "FTPDirectory.info" are used respectively.
By default, the standard set will have been installed into the DOpus5:Icons but you may replace these with a NewIcons set if you desire. These may be found in the sub-directory Icons-FTPNI.
FTP Between Sites
OpusFTP now supports the transfer of files between two remote FTP sites directly without going through your local machine. Copy commands and drag and drop actions work as per normal Listers. An FTP control connection is opened to both sites and the remote machines are told to transfer the files directly between each other.
Unfortunately because no progress reports are available until the remote sites indicate they have finished the tasks, a true file progress indicator is not available. Instead, the progress bar toggles between one third and two thirds to show activity.
It is possible to abort transfers between sites but this can be problematic. If an FTP-FTP transfer is aborted, it may be necessary to close the connections completely and re-establish them.
--> Some FTP servers do not allow site-to-site transfers for security reasons, or, the ability may just not be enabled. Contact your service provider for details if this ability is not supported.
Direct Access to FTP from a Lister
If you type "FTP://" in a Lister path field, Opus will launch the FTP module directly in this Lister. The rest of the template for action is the same as FTPConnect.
For example, entering
will attempt to connect to the Australian Aminet site in the current Lister.
The file lengths accepted by the FTP module can now be a maximum of 107 characters. Remember that normal AmigaDos files are limited to 30 characters in length so if you transfer a file
with a long name the name will be cropped when it is saved to a local drive unless you are using one of the new Amiga filesystems. See General / Long File Name Support
The new address book GUI allows you to maintain your list of favourite FTP sites. Adding or editing of remote entries and associated settings is done through a new FTP Site Editor and independent Options requesters.
The address book contains:-
- FTP Sites: Your favourite list of FTP sites. These are automatically entered in sorted order but you may re-arrange the order by dragging an item to the new position. You can also drag a site entry out of the Address book. See the Drag and Drop section above for more details.
- A double-click on an entry in the site list will either connect to the site or edit the entry depending on the setting in the default options (See FTPOptions/Global/Sites)
- New and Edit: Calls the FTP Site editor, allowing you to add a new entry or edit the highlighted siteThis is a multi-threaded process so you can edit multiple sites at the same time.
- Delete: Deletes the highlighted entry from the address book. Sort: Sorts the entries into alphabetical order.
- Custom Options: When set, indicates that the selected FTP site has custom settings and does not use the system global values. See the Options editor.
- Ok: Closes the address book requester and saves all changes made.
- Connect: Connects to the selected FTP site. (Note: a SHIFT click will not close the address book after connect.)
- Default Options: Allows you to edit the global option settings which are used by all FTP connections which don't have a custom set.
- Cancel: Closes the address book requester and discard any changes made. (The previously saved information will be re-read from disk.)
The Address book Menus
- Open: Loads a previously saved FTP address book from disk. Import: Imports an old address book in ASCII format from an earlier version of OpusFTP and merges the entries with the current address book.
- Import AMFTP sites: Converts the site entries from an AmFTP ".AmFTPProfiles" file and merges them with the current entries.
- Save: Saves the contents of the FTP address book to disk. Save As: Saves a copy of the FTP address book to disk with a specified filename.
- Export ASCII: Saves a copy of the FTP address book in a simplified ASCII format compatible with earlier versions of OpusFTP. This file may be easily read or edited with any text editor. --> Since this file contains your remote site details and
passwords in readable format, you can readily check a site's
details if you have forgotten your password!
- Quit: Closes the FTP address book requester.
FTP Site Editor
- Name: A local name for this FTP site. Choose a name which describes the site.
- Host: The actual internet address or IP number of the FTP site For example, for AmiNet you could use 'ftp.livewire.com.au' or '18.104.22.168'
- Anon: Allows anonymous connections otherwise you must enter a user name and password.
- Port: The TCP port for the FTP service, usually 21 but may be different on some private or restricted sites.
- User: For non-anonymous FTP sites, the user name of your account.
- Pass: For non-anonymous FTP sites, the password for your account. --> For security, you may leave this blank. If it is not provided in the address book you will be prompted for it during the login procedure.
- Dir: The initial directory on the remote site. (Can be blank)
- Default Options: The global settings will be used when connecting to this site. (default)
- Custom Options: Individual custom options will be used for this site. Selecting this will open the [options editor].
- Set Custom: Displays the Options Editor for you to edit the custom options for this site.
In order to provide more control over individual settings for each remote site, we have separated the older configuration settings from the address book and added a new FTPOptions command with an associated GUI editor.
Save: Saves the current options and closes the requester.
Reset to Defaults: Displayed in the site custom options version of the requester, it resets all options for this site to those as defined by the current global FTP options settings.
Cancel: Cancels any changes made and closes the requester.
- Copy Flags: Allows you to modify the behaviour of the copy command under all cases. Choices are:-
- None: Copy all files.
Update: Copy only files which do not already exist in the destination Lister.
- Newer: Copy files which do not already exist in the destination Lister or which are newer than the destination files. Since these functions also act during recursive directory copying, they help you to easily maintain a remote FTP site. --> These additional parameters are also available with the normal trapped Opus COPY command but are provided in the GUI as overrides for ease of use. See the COPY command.
- Ask: Always ask whether to replace existing files.
- Always: Always replace existing files without asking.
- Never: Never replace existing files and don't ask.
- Set Source Archive Bit: Mark the source file as having been archived after copying it. This is only possible when uploading from your computer to an FTP site.
- Set Comment to URL: Add a comment field to all files copied indicating where they were obtained. This is only possible when downloading files from an FTP site to your computer. Note that the URL will be trimmed at 79 characters.
- Rescan Destination: Causes the FTP Lister to be re-scanned automatically after each upload or site-to-site transfer. This ensures that all protection bits, dates, and sizes are accurately shown but will result in slower performance especially if you are using a slow FTP site.
- Special Recursive Copy: Some FTP servers cannot handle a LIST command if the directory name contains spaces. Set this flag to overcome this problem if needed when using recursive copying of directories.
- Also Copy Source's... Some file attributes may also be copied similar with a normal Opus copy function.
- You may 'Use Opus Settings' as currently defined in the main Opus program, or you may chose the individual settings for:-
- Datestamp: Copy the last modified time and date of files. This is only possible when downloading files from an FTP site to your computer.
- Protection Bits: Copy the file protection bits of files. This is possible when downloading files from an FTP site to your computer and may be possible when uploading or doing site to site transfers. Note that the protection bits will be approximated depending on the operating system of the FTP site computer. See also the Protect command.
- Comment: Copy the comment associated with the file if there is one. This is only possible when downloading files from an FTP site to your computer. FTP site comments can come from two sources: If the file was a link on the FTP site it's comment may contain the full path of the file. If you have enabled the 'Index' option and the directory has an index file, there may be a description of the file in the comment field. Note that index file comments are not supported during recursive copying. See also the Set Comment to URL option. --> For Copy Source's and Set Source Archive Bit options, if the source Lister is a local one the FTP settings are used. For site-site copy, the source is used.
Traditionally with OpusFTP, if you wished to see the messages sent by the remote site during a connection, you activated the Log Option. Now you may selectively view only certain, more important types of messages:-
- Show Startup Messages: Many public access sites have a startup message that contains useful information. This option causes such information to be displayed in the Opus text viewer when you connect to a site.
- Show Directory Messages: Some sites present a short information message, a description of the directory's contents or some other relevant information each time you change to a new directory. These will be displayed in the Opus text viewer. Subsequent messages will be displayed in the same viewer if it has not been closed.
- Progress Windows (CD & List): By default, OpusFTP displays some extra progress requesters not seen in normal Opus. These provide information on the progress of the specific action. Such messages are displayed while changing directories and while scanning the lists of files. On fast sites you may wish to turn these off.
- File Transfer Progress Display: Enables a multi-line display when transfering files extra details of file size, bytes counts, speed and elapsed and remaining time for the transfer.
Global FTPOptions DEFAULT ONLY
- Enable Log: Opens a log file to record all the output from the FTP site(s).
- Enable Debug: Enables verbose log display showing all commands sent to the FTP site as well as numeric responses and error numbers in the log, error requesters, and text viewer.
- Log File: Specify the name of a global log file. By default the standard Amiga console is used so the output can be viewed instantly but you may specify a disk file instead.
- Sites controls the behaviour of the mouse functions in the main address book display. Choose from:-
- Double Click: Allows you to choose the action when double-clicking on a site entry in the address book. Either, Connect to the site or Edit the entry.
- Auto Close: Will close the address book automatically when you connect to an FTP site from the connect button or by double-clicking on an entry.
- Anon: Allows you to set the username when logging on to an anonymous FTP site. Generally your email address is used. By default, OpusFTP attempts to set this based on the host and user details from your TCP/IP stack.
- Many sites, especially AmiNet, add a special index or comment file to each directory. This provides a short comment with extra information on each file. With Download Index turned on, the FTP module will check for the presence of files called 'INDEX' or 'Files.BBS' when scanning a new remote directory. If found, the index file will be automatically downloaded and the comments added to the file's comment field. Generally these index files are small, less than 30Kb. If the Auto switch is off, files smaller than the Max Size value will be automatically downloaded. If the size of the index file exceeds this value, a requester will be presented asking if you wish to download the index.
- With Auto selected, only files smaller than the Max Size will be downloaded. If the index file is larger than this value it will be ignored. --> Most of the index files on AmiNet sites are in a defined standard format. However this cannot be guaranteed and some files may display truncated comments.
- Toolbar: Each FTP site in your address book may have its own custom Lister toolbar. Leave blank to use the default, or enter the name of an Opus toolbar. Generally a special toolbar for the FTP is not used but the file 'DOpus5:buttons/toolbar_ftp' will be looked for and used for all Listers if it is present.
- FTP Lister Format: As part of the custom settings,each FTP site can have its own special format defined for each site. The tick gadget shows whether one is currently defined. Formats for FTP Listers support ONLY Name, Size, Data, Protection and Comment fields. It is not possible to support the other fields and the Free Space Gauge and Inherit options are not supported. --> The HIDDEN setting in an FTP Lister has a special usage. All '.' (DOT) files automatically have the hidden bit set when they are added to the Lister. Since these files are usually system files of little interest, this is a quick way to hide these from the more interesting files in the Lister.
- In the custom Format requester, Reset to Defaults reset the format to current Opus default format and Reset FTP Defaults resets the format to that set in the global default FTP options format (if any).
- Keep Last Directory: This will save the current directory name in the address book each time an FTP Lister is closed. Next time you access the site through the address book you will automatically be taken to this directory.
- Passive Transfers: Some FTP sites may require you to use passive (PASV) transfer mode. This may also be required for certain types of firewalls and when using IP Masking.
- Technical Note: This command requests the server-DTP to "listen" on a data port (which is not its default data port) and to wait for a connection rather than initiate one upon receipt of a transfer command.
- Special Directory Names: This option changes the internal parsing of the list format to take into account directory names beginning with one or more spaces. We have not found any problems with this permanently selected, but we have provided the option just in case. Usually, leave it off unless you have a problem.
- Technical Note: Traditionally, the listing of a remote directory is provided in a standard format similar to the output from the UNIX LS command, where a space character is used to separate the various fields. One artefact is that if a directory name actually starts with a space, the space character will be stripped. This results in an error if you attempt to access the (now spaceless) directory name.
- Network Timeout: The maximum amount of time to wait for a response from an FTP site before giving up and dropping the connection. (Default is 60 seconds.)
- List Update: Defines the time between adding and refreshing entries in the Lister. Because scanning directories on FTP sites can be slow, OpusFTP updates the Lister while it is scanning. Set the number of seconds between successive updates. Lower times 'look' better but will reduce performance.
Logical Parent Dir: On a remote FTP site, links to directories can cause problems. If you change directory to a link and then change to the parent directory you will not necessarily return to where you started. Normally, OpusFTP assumes that this never happens. When selected, this option ensures that OpusFTP interrogates the site to obtain the actual directory path, despite the link, so that it cannot become confused. There is a small performance penalty associated with this option.
Unknown: It is sometimes not possible to tell if a link on an FTP site is a link to a file or to a directory. Such "unknown" links are normally assumed to be symbolic links to directories. But you can alter this behaviour. 'As Directory' assumes all unknown links are links to directories whereas 'As File' assumes all unknown links are links to files.
These options modify the connection to the remote site.
- Enable Retry: Instructs OpusFTP to retry the connection to a site if it failed to connect or login
- Retry Count: Specifies the number of times to attempt a connection login to an FTP site before giving up.
- Retry Delay: Specifies the amount of time in seconds to wait between attempts to connect and login.
- Auto Reconnect: If a connection is lost due to inactivity, time out, or network error, this option causes the Lister to attempt an automatic reconnection to the site to the directory showing in the Lister.
- Because Listers are asynchronous, a lost connection cannot always be detected until you try to use the Lister. If this option is not enabled, a requester will appear allowing you to manually choose to reconnect.
- Send NOOPs (Idle): This provides an idle timer mechanism to keep remote sites active. It sends the FTP command NOOP approximately every 30 seconds to prevent the remote sites inactivity timer from being triggered. By default this should be turned off. Do not use this unnecessarily. Keeping your connection alive when you are not actually using it often prevents other users from accessing the site. It is considered unfriendly by some ISPs. Note that some FTP sites are smart enough to disconnect you even when using this option.
- OpusFTP now provides a set of scripts for specific events during an FTP session. These can be customised to perform practically any function just as with normal Opus scripts, however the FTP
scripts can be enabled and disabled on a site-by-site basis and on a script-by-script basis. All scripts are called with the Lister handle of the Lister which invoked the script. This can be useful with ARexx.
- Connect Success: Activated when a connection is established to a remote site.
- Connect Fail: Activated when a connection and/or login to an FTP site has been unsuccessful. This script is not triggered until all retries have been exhausted.
- Copy Success & Copy Fail: Activated when a Copy / CopyAs / Move / MoveAs operation has been completed successfully or not, respectively. As an added feature, these scripts are only activated if the operation has taken more time than the minimum specified in the Activation Time field below.
- Error: Activated whenever any error occurs.
- Close Connection: Activated when FTP connection is closed.
- Activation Time: This field applies to the Copy scripts. It species the minimum amount of time that must have elapsed before those scripts are activated. This is useful if you want an alarm bell to sound when a large or recursive copy has completed but not when copying single files.
- Open: Loads an options file and applies the settings to this specific site, or, from the default options editor, loads the a new default set of global options for all FTP sites that don't have their own individual settings.
- SaveAs: Saves the options for this FTP site to a file, or, from the default options editor, saves the global options settings.
- Quit: Cancels any changes made and closes the options editor.
- Reset to Defaults: In the site options version, resets all options for this site to those defined by the global options settings.
- Reset FTP Defaults: In the default options version, resets the global options settings to default factory settings.
- Last Saved: Restores the options settings to what was last saved.
- Restore: Restores values to when the requester was called.
- A new connect requester has been added to give quick access to a new FTP site or a known site without going through the full address book interface.
- Name: If the host field is blank, entering a name will open the site list display at the closest matching entry allowing you to select an item. If the host field is not blank, the name is simply used as a handle for this connection. The file button will also open a list of the FTP site entries from the address book.
- Host: Enter the internet address or IP number of the FTP site. This field is required.
- Anon: Defines the site as anonymous login.
- Port: The number for the FTP service port, usually 21.
- User: Your user name if not using an anonymous site.
- Pass: Your password if not using an anonymous site.
- Dir: The initial directory for the remote site. Usually not
- Connect: Connects to the site.
- Cancel: Closes the requester and does not connect.
- Last Site: Recovers the details of the last site to which you
connected allowing a fast reconnect.
Opus FTP Commands
Display the address book GUI to connect to or edit sites.
FTPConnect HOST, PORT/N/K, USER, PASSWORD=PASS, DIR/K, LISTER/N/K, SITE/K, GUI/S, NOSCAN/S, RECON/S
Useful for connecting to sites without adding them to the address book. This command supports the following options:-
HOST - Internet address or IP number.
PORT - Port number of site.
USER - User name for a non-anonymous FTP.
PASSWORD - The password for anon-anonymous site.
DIR - The initial directory to display in the Lister.
LISTER - The Lister handle of an existing Opus Lister.
Very useful for ARexx scripts.
SITE - To connect to a site in the address book using its custom settings use this keyword plus the site name as in the address book, e.g. FTPConnect SITE Aminet.
GUI - Causes the Connect requester to always be displayed even when sufficient details have been given to connect to a site without it.
NOSCAN - Causes the initial directory to not be scanned into the Lister. Useful for ARexx scripts which log into a site to download known files without wasting the time to scan the directory first.
RECON - Causes OpusFTP to reconnect to the site if the connection terminates unexpectedly.
The FTPConnect command now accepts industry standard URL syntax such as:- FTP://user:password@host:port/path (all but host are optional)
FTPCommand QUIET/S, LONG/S, COMMAND/F
Some FTP sites recognise special commands that OpusFTP doesn't support directly. These are accessible using FTPCommand. A simple example is 'FTPCommand CWD <dirname>', which may be useful in an ARexx script to change the current directory instead of using ScanDir which would result in a full rescan and display of the directory.
The results of the command will be shown in a requester. The following options are also supported:
QUIET - Do not display results.
LONG - Display multi line responses.
FTPSetVar VAR, VALUE/F
This command functions as with earlier versions of Opus but to support the synchronicity of ARexx commands, a new 'Quiet' variable has been added.
FTPSetVar Quiet <state>
disables or enables all requesters for the source Lister. To disable requesters, state may be '1' or 'on'. To enable them, state may be '0' or 'off'. This variable is designed for use with automatic or non-interactive scripts which run without user intervention. The command returns 1 if it succeeded, 0 if it failed. Example:- FTPSetVar Quiet 1
Displays the options editor for the current source FTP Lister. With the optional switch DEFAULT, this will display the global default settings used by all FTP Listers that don't have their own custom options set. (The command is available from the status popup menu in all FTP listers.)
Adds the site in use from the current SRCE FTP Lister to the address book. Use this when you have connected to a new site with the connect requester and wish to remember it for later access. (The command is available from the status popup menu in all FTP listers.)
The OpusFTP parent process runs in the background after being invoked and lies dormant when not being used by an active FTP Lister or script. If you wish to quit OpusFTP completely, FTPQuit will instruct all current and pending Lister operations to quit and the main process itself will terminate after they have completed. Although this will free some memory there is usually no need to quit the OpusFTP process The FORCE/S option forces all Lister operations to be aborted
and OpusFTP will quit immediately.
Opus Commands Patched by OpusFTP
The following Opus commands are 'trapped' and directly supported by OpusFTP:-
- AnsiRead, HexRead, Play, Print, Read, Run, Show and SmartRead work as in Opus but each file will be acted on as it is downloaded.
- Delete, Move, MoveAs, Parent, Rename, Root work as in Opus.
- Configure displays the Opus Lister format editor for the FTP Lister showing the current or custom format for the lister.
- Copy & CopyAs work as in Opus with the exception of the MOVEWHENSAME switch which has no meaning for FTP.
- FindFile works as in Opus. Useful for finding files on FTP sites but can be slow. Many FTP sites have some type of index file which may prove more useful.
- GetSizes works as in Opus except for the FORCE flag. Directories will always be scanned in OpusFTP.
- MakeDir works as in Opus except for the NOICON switch which is fairly meaningless for FTP. Directories are always created without icons.
- Protect works similar to Opus but with extra GUI
Normally, when the ScanDir command affects an FTP Lister the path is treated as a local path and the FTP connection will be terminated. We have maintained this for compatibility with previous versions of OpusFTP. However for specific use with FTP, you may now override this behaviour with the new special FTP switch. ScanDir FTP 'xyz' will cause the Lister to change to directory 'xyz' on the FTP site. ScanDir 'xyz' without the switch will read the local directory 'xyz' into the Lister and disconnect from the FTP site as it used to.