!FTPc

!FTPc is an internet ftp client for Risc OS. It is a program which enables you to upload and download files to and from your webspace and download files from the numerous ftp hosts on the net.

Contents

Requirements Abort
Features Reconnecting/New connection
Logging on Resume
Using the filer User menu
Uploading files/directories URLs
Downloading files/directories Secure Connections
Moving around the host Passive connections
Managing your remote disc space Proxies, Gateways and Firewalls
Logging off Fine Tuning
Newer Problems
List flags Finer points of Ftp
Status log Contact
Site specific commands Glossary

Requirements

Features

Logging on

Click on the iconbar icon and the Login dialogue box pops up. Dragging an FTP url, in text, Ant URL or AcornURI form, into the dialogue box will fill in the relevent fields - or you can simply drag the URL onto the iconbar icon and the connection will be made.

  Login dialogue box

Using the filer

  Filer window

The filer is used in a similar way to a disc filer with drag and drop etc. however there are the following differences:

During a transfer the small status icon will show the estimated time the file will take to transfer. Note this may vary if your connection speeds up and slows down. Clicking on this icon during a transfer will toggle between percentage complete, download speed and estimated transfer time. If the file size isn't known then bytes transfered is shown.

Uploading files/directories

When files/directories are uploaded any / is changed to a . so Ftp/zip is changed to Ftp.zip and a hard space is changed to a space. Any directories that don't exist are automatically created.

You can stop the upload process with by selecting Abort in the main menu which will close the connection and reconnect to the same directory.

If you have the Add/remove ,hex filetype option set then all files uploaded will have it's filetype added (so a text file will have ,fff added). You should select this if you are using FTPc to archive files as it will preserve the filetype. Don't select it if you are using FTPc to upload web pages as then you don't want the filenames to be changed as this could stop your links working

Downloading files

Downloaded files have any . changed to a / so Ftp.zip will become Ftp/zip and a space is changed to a hard space. Care must be taken as the file name will be truncated if the filing system where you drop the files does not support file names of that length. You can download with a different name via the SaveAs dialogue box. The new file name uses normal Risc OS filing system naming system.

Shift dragging a file to another application exports the file's url as a text file.

Shift dragging a file/directory to the RISC OS filer moves the file/directory.

If you have the Add/remove ,hex filetype option set then all files downloaded files will have the ,filetype (eg ,fff) removed and the value is used to set the filetype.

Note: Files which don't have extensions are marked type Data these may be typed automatically after downloading by inspection of the file.

Moving around the host

You can change directories by double clicking on a directory () or entering the path in the change directory dialogue box on the main menu. You should enter the path using the syntax of the host e.g. archive/dir/dir1. Double clicking on a link () will change directories if it points to a directory otherwise it will pop up a Saveas dialogue box.

To move back click Adjust on the close icon, select Open parent from the main menu or double click on .

Managing your remote disc space

You can delete, rename, move filing system objects and create directories. When entering names in the dialogue boxes they should be in the remote filing system syntax and not RISC OS filing system syntax, so if you want to rename index.htm to anyfile.txt you should write anyfile.txt in the rename dialogue box.

The Access dialogue box is used to set the permissions for a file/directory. It only works if the site you are connected to uses CHMOD to set the permissions (which is more likely than not). If your site doesn't support CHMOD it may use another command which you will be able to use in the Site dialogue box.

To move a group of files into a subdirectory of a directory you should select the files and enter directory/subdirectory in the Move to dialogue box.

Clicking on Change Directory refreshes the listing or changes the directory to / if the current directory no longer exists.

Note: The SaveAs dialogue box is the only one which requires RISC OS filing system syntax

Logging off

Just close the filer window

Newer

The Newer option on the Option menu allows you to specify the date from which files will be uploaded. eg If you set the date to when you last uploaded, only files created/modified after that date will be uploaded when a group of files/directories are dragged into the window

 Newer date

The option is set by selecting Set and removed by unticking Newer on the Option submenu. Reset changes the time to the current time.

Please note the time/date you set is your local time and this time is compared to the time stamp of the file on your computer. You may be connected to a computer in a different time zone in which case the time appearing in the FTPc window after uploading may not be what you expect.

List flags

Some servers do not display hidden files so the List flags option allows you to add flags to the command that displays the directory. The most common usage is likely to be for certain unix servers which don't show hidden files. For these you need to set the flags to -la. Usually there would be no flags required but if you use them be aware that if the listing produced using the flags is not recognised then the display may be blank or corrupt - simply remove the flags and try again.

For servers that you can upload to you should set the flags so that all files are showing otherwise recursive deletes may fail as FTPc won't find all the files in the directory to delete.

When you are happy with the flag setting and you have a menu entry for the server you can make that server always use the flags by adding list_flags="-la" or whatever flags you want to the user menu entry.

Status log

When you log on to an ftp site a lot of servers send information which you may find useful. This option allows you to read this information. It is also useful for Site commands which return information.

Selecting status log will load a list of previous commands and replies (as seen in the status bar at the bottom of the main window) into a text editor. Only the last 16kbytes of status information is recorded.

Lines starting with a 3digit number are messages sent by the server others are sent to the server by FTPc.

Site specific commands

The remote host server may have a set of commands available which are dependant on the site you are connected to. These include commands such as CHMOD on a unix server and SETTYPE on an acorn server. These are generally tools to manage your remote site. The details of which are beyond this document.

There are 3 ways to enter Site commands in FTPc.

  1. Enter it as if from a command line.
  2. Apply a list of commands to a selection
  3. Apply a list of commands to each uploaded file/directory

Note:

Entering a command line Site command

You can send a Site command by selecting Site... on the main menu, typing in your Site command and selecting Do or press <return>. The displayed directory is your current working directory.

Applying a Site command to the selection

On the Selection submenu is another Site -selection entry. Following the arrow allows you to enter a list of Site commands which will be applied to each selection in turn. In the text if you:

If you dont want the command applied recursively (ie applied to subdirectory contents) untick Recurse.

You can set the default text for this dialogue box on a site by site basis by adding

site_selection = "-f chmod 644 %f, -d chmod 755 %d"

to a user menu entry. (The text in inverted commas is your list of commands). Alternatively you can tick Site selection on the Add to user menu dialogue box and the text from the Site selection dialogue box will be used when you add an entry to the user menu.

If you want to set the same text in this dialogue box for all your sites you can enter it into the Choices... dialogue box. The user menu entry will override this value.

Applying Site commands to all uploaded files/directories

The other place you can enter a Site command is on the Options submenu. This allows you to apply a series of site commands to all uploaded files/directories. You could, for example, set permissions or set the file type on all uploaded files /directories - remember that the available commands depend on the type of server you are connected to.

The text you enter is the same as for applying a command to the selection (see above) except that the RISC OS file type is determined by the file type of the uploaded file.

The Options submenu will show a tick against the Site... entry when it is set/active.

This option is also applied to directories created with New Directory.

You can set the default text for this dialogue box on a site by site basis by adding

site_on_upload = "chmod 644 %f,settype %f %d"

to a user menu entry (The text in inverted commas is your list of commands). If this option is included in the menu entry, the Site - on upload... command on the Options submenu will be selected (ie the option will be active).

Alternatively tick Site - on upload in the Add to user menu dialogue box and the text in the Site - on upload dialogue box will be used when you add an entry to the user menu.

If you want to set the same text in this dialogue box for all your sites you can enter it into the Choices... dialogue box. The user menu entry will override this value.

Abort

The abort command on the main menu allows you to stop the current operation.

Aborting may take some time to take place. If you abort during downloading it may not happen until the download of the file is complete - this depends on the site connected to.

Reconnect/New connection

If a filer window is open but it is not connected the menu will show Reconnect. When selected an attempt will be made to reconnect to the same site and directory that the window was connected to before the connection failed. If it wasn't previously connected it will attempt to connect again using the connection details.

If the filer window is connected the menu will show New Connection. A new window will open and an attempt will be made to connect to the same host and directory as the original window.

Note: The two connections are not aware of each other so a change in one will not be reflected in the other. Selecting Change directory on the main menu will refresh a directories display if required.

Resume

You can resume the transfer of a file if the server you are connected to supports it. To use this facility you

If you altered the transfer type for the original transfer you will need to alter it again before selecting the upload/download button.

It is recommended that you do your transfers in binary mode as there are other issues with resuming in ascii mode which may cause problems.

If resume is supported you should be able to continue some time later (the next day for example) as long as the remote file hasn't changed in the meantime.

User menu

You can add to the User menu by connecting to the directory you want to store and clicking on Add to user menu... on the main menu.

By default FTPc creates a user menu (UserMenu) in <Choices$dir>.FTPc otherwise it is put in <FTPc$dir>.choices. Alternatively you can create a user menu outside the program and double clicking on it will install it - it will also run FTPc if FTPc is not already running. You may change user menus while FTPc is running.

The user menu can be edited by selecting Edit... on the User menu - which opens it in a text editor. Changing the menu file in the editor and saving it will alter the menu.

User menus can be created in a text editor and the type set to FTPc (077) .The first line of the file should be Menu and the lines following describe the menu entries.

Any lines starting with # or | are treated as comments. Blank lines are ignored.

Menu entries are made up of a series of xxx="yyy" attributes, inverted commas are necessary, which normally all go on one line in any order you want. You can continue a line on the next line by ending it with a ; though you should not break a line in the middle of an attribute.

Attributes

name="xxx" Set the name that you see on the menu to xxx.
submenu="xxx" Set the name that you see on the menu to xxx and start a submenu. Sub menus may be nested. All subsequent entries go in the submenu
endsubmenu="true" End submenu.
line="on" Put a line after this entry in the menu
default="true" Make adjust click on the iconbar use this entry. If more than one entry has this the1st one that has it is used.
value="xxx" xxx is a url unless the line contains type="file" in which case xxx is filer_run.
type="file" value is a file - otherwise it is a url.
site_on_upload="xxx" xxx is a default list of site commands that will go into the Site on upload dialogue box, see Site Specific Commands,
site_selection="xxx" xxx is a default list of site commands that will go into the Site selection dialog box, see Site Specific Commands
list_flags="xxx" xxx are default flags for the List flags option, see List flags

A valid entry must have at least one of the following:

Note: A submenu entry can have the same attributes as a name entry.

Example user menu
Menu
name="My web page" value="ftp://user:pass@uploads.demon.co.uk"
name="not through proxy" value="ftp://user:pass@host/ -proxy"
name="Through proxy" value="ftp://host/ -proxy 1 proxy.server"
submenu="Public sites" line="on"
  name="Demon" value="ftp://ftp.demon.co.uk//pub/acorn/"
  name="Argonet" value="ftp://ftp.argonet.co.uk/pub/Acorn/"
endsubmenu="true"
# menu item to open a directory
name="Open a download directory" value="$.downloads" type="file"

# multiline example note the ; on all but the last line
# of the entry (blank lines and comments are ignored)
name            = "Colin's Web site";
value           = "ftp://user:password@some.net.site/";
# set the default Site on Upload
site_on_upload  = "settype %f %t";
site_selection  = "chmod 644 %f";
list_flags      = "-la"
line 			= "on"

# run a program
name="my program" value="$.some_program";
type="file"

URL's

!FTPc supports Ants and Acorns URL systems. This means that FTPc will be loaded and run if an ftp URL is clicked on in an application or when a URI file containing a ftp URL is double clicked on.

The general form of the ftp URL is:

ftp://user:password@host:port/path

where user,password, port and path are optional.

The URL could be as simple as

ftp://host

when you would be logged in anonymously to the root directory of the host

If the URL was

ftp://user@host

then you would be prompted for the password. You will also be prompted for, a user if you miss that out but supply a password, and a host if you miss that out.

The first / in the path is ignored so

ftp://user@host/dir1/dir2/

specifies a relative path dir1/dir2/ and

ftp://user@host//dir1/dir2/

specifies an absolute path /dir1/dir2/.

The default Proxy Server can be overridden by including -proxy at the end of the url - see Proxies, Gateways and firewalls

If the path ends in a / then the connection will be opened at the specified directory - if the directory is not found this defaults to the root directory.

If the path doesn't end in a / then the connection is opened at the directory specified up to the last / and the leaf name is highlighted in that directory if it is found.

Note: Path names are case sensitive.

Writing URI files

Write the URL in a text editor - eg ftp://ftp.xemplar.co.uk/acorn/ - save it and set its file type to URI. For my web site I may write something like

ftp://c-granville.freeserve.co.uk@uploads.freeserve.net/Images/docs/

which when double clicked on will prompt me for my password before connecting to my web site and changing the directory.

Using URL's with !Browse

If running a URI file results in !Browse being run, this is to do with the order in which !FTPc and !Browse are seen - shouldn't be a problem in the same directory

Secure Connections

You can establish a secure connection with FTPc if you have RComp's secure sockets module running. There are 2 types of secure FTP supported - explicit and implicit ftps. Secure ftp has standardised with explicit ftps and so will be used if url's start with ftps://. The implicit mode, which connects to port 980 by default, is available if required.

To use secure ftp either:

Example menu entry

name="web site" value="ftp://user:password@ftp.demon.co.uk -secure 1"

name="web site" value="ftps://user:password@ftp.demon.co.uk"

name="web site" value="ftp://user:password@ftp.demon.co.uk -secure 2"

Passive connections

Setting passive mode makes FTPc use the PASV command for data connections. This should only be required on certain sites or if you are masquerading through a firewall and the firewall isn't set up for non PASV ftp access. Some sites do not accept Passive connections. It does no harm to try connecting with this option set if the FTPc connection doesn't work with it unset.

You can set the passive mode by

Example menu entry

name="web site" value="ftp://user:password@ftp.demon.co.uk -passive"

or you can switch passive off in a menu entry if you have passive set in Choices... with

name="another web site" value="ftp://ftp.hensa.co.uk/pub/acorn/ -passive off"

Proxies, Gateways and Firewalls

This section covers access through Proxies, Gateways and Firewalls which are basically different terms for the same thing.

If you have a local network where access to the internet is through a proxy server you can access ftp hosts on the internet as follows (if the server allows it):

There are 3 types of proxy supported USER, OPEN and SITE these refer to the commands FTPc uses to access the host you want through the proxy server

The USER type of proxy equivalent to the type used in versions of FTPc prior to 1.20 (except now when the proxy is set the destination host details are entered as if you were not using the proxy).

You may need a username/password for the proxy in which case I'd expect your Network administrator to tell you. He may also tell you which of the proxy types to use otherwise its a question if trial and error.

If you always use a proxy you can set the default proxy in Choices... on the Iconbar menu.

Menu entries can override the default proxy setting as follows.

name="test" value="ftp://ftp.demon.co.uk/ -proxy"

switches off the proxy for this menu entry.

name="test1" value="ftp://ftp.demon.co.uk/ -proxy 1 local.proxy.name"

connects to ftp.demon.co.uk through the proxy local.proxy.name which is a type 1 (USER) proxy

Fine Tuning

If you are using FTPc on a Network you may be able to improve the speed slightly by setting File buffer size and Extra poll for every in Choices...

Some Harddiscs are slow when transfering small amounts of data but speed up considerably when transfering large amounts of data. This can also be apparent if you have ADFSBuffers set to 0. FileBufferSize allows you to set the size of the file buffer (in Kb) used by FTPc. eg

File buffer size: 256

Note: a file buffer is created for every connection so a large buffer size may take up a lot of memory

The other speed bottleneck is the frequency at which the program multitasks. This isn't a problem for modem users as multitasking will occur whilst waiting for data but on networks you seldom wait for data so you need to specify the amount of data that will be transferred before you multitask. This is done by setting Extra poll for every which specified the number of Kb to be transfered before the program multitasks. eg

Extra poll for every: 256

If you set this too high the program will hardly multitask

Problems

URI's don't work

I you don't have Ant or Acorn internet software you'll need Acorns URI module which can be found at http://www.acorn.com/browser/uri/URI.arc and should be put in System:Modules.Network

Site created on hard disc doesn't work when downloaded

Remember the remote site is case sensitive.

Don't use spaces in filenames - FTPc will change <alt><space> in a file name to spaces when uploading so your links in HTML should have spaces in them. However when testing these files on your hard disc Browse will not do this conversion. It is best to avoid spaces they were only really added for downloading.

Finer points of Ftp

Contact

Email: colin@ftpc.iconbar.com

Web site: http://www.ftpc.iconbar.com/

Glossary

dialogue box Window requiring typed input
download Transfer files from the remote host to your computer.
filing system objects These are the files, directories or links which can be created on filing systems although the ftp proces does not allow for the creation of links.
ftp File transfer protocol - procedure by which two computers can communicate with the intention of transferring files
host Another name for a computer
link A marker in a directory which points to a file or another directory. This is a feature of the remote filing system and not available on RiscOS.
proxy Server through which all requests to access remote sites go.
server Program running on remote host which serves you your files and responds to your commands
upload Transfer files from your computer to the remote host.
URL Uniform Resource Locator - a description of where and how to find a resource on the net
URI Uniform Resource Identifier - a description of a resource on the net. To most people it is the same as a URL but it is the file not the location
webspace Disc space on a host which is permanently connected to the Internet. If you have a dialup account this would be allocated to you by your service provider.