<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<!-- Generated by TechWriter Professional+ 8.31 (15-Nov-04) -->
<HEAD><TITLE>!FTPc User Manual</TITLE></HEAD>
<BODY TEXT="#000000" BGCOLOR="#F0F0E0">
<H1 ALIGN=CENTER>!FTPc</H1>
<P>
!FTPc is an internet <A HREF="#ftp">ftp</A> client for Risc OS. It is a program which enables you to <A HREF="#upload">upload</A> and <A HREF="#download">download</A> files to and from your <A HREF="#webspace">webspace</A> and download files from the numerous ftp <A HREF="#host">hosts</A> on the net.

<H4><A NAME="Contents">Contents</A></H4>
<DL>
<P><DIV ALIGN=CENTER>
<TABLE WIDTH="100%" CELLPADDING=2>
<TR><TD><A HREF="#Requirements">Requirements</A>
<TD><A HREF="#Abort">Abort</A>
<TR><TD><A HREF="#Features">Features</A>
<TD><A HREF="#Reconnect/New_connection">Reconnecting/New connection</A>
<TR><TD><A HREF="#Logging_on">Logging on</A>
<TD><A HREF="#Resume">Resume</A>
<TR><TD><A HREF="#Using_the_filer">Using the filer</A>
<TD><A HREF="#User_menu">User menu</A>
<TR><TD><A HREF="#Uploading_files/directories">Uploading files/directories</A>
<TD><A HREF="#URL_section">URLs</A>
<TR><TD><A HREF="#Downloading_files">Downloading files/directories</A>
<TD><A HREF="#Secure">Secure Connections</A>
<TR><TD><A HREF="#Moving_around_the_host">Moving around the host</A>
<TD><A HREF="#Passive">Passive connections</A>
<TR><TD><A HREF="#Managing_your_remote_disc_space">Managing your remote disc space</A>
<TD><A HREF="#Proxies,_Gateways_and_Firewalls">Proxies, Gateways and Firewalls</A>
<TR><TD><A HREF="#Logging_off">Logging off</A>
<TD><A HREF="#Fine_Tuning">Fine Tuning</A>
<TR><TD><A HREF="#Newer">Newer</A>
<TD><A HREF="#Problems">Problems</A>
<TR><TD><A HREF="#List_flags">List flags</A>
<TD><A HREF="#Finer_points_of_Ftp">Finer points of Ftp</A>
<TR><TD><A HREF="#Status_log">Status log</A>
<TD><A HREF="#Contact">Contact</A>
<TR><TD><A HREF="#Site_specific_commands">Site specific commands</A>
<TD><A HREF="#Glossary">Glossary</A>
</TABLE>
</DIV>
</DL>
<H4><A NAME="Requirements">Requirements</A>		</H4>
<UL>
<LI>Risc OS 3.1
<LI>Toolbox modules
<LI>Mimemap module (optional)
</UL>
<H4><A NAME="Features">Features</A></H4>
<UL>
<LI>Graphical user interface
<LI><A HREF="#upload">Upload</A> directories and files
<LI><A HREF="#download">Download</A> directories and files
<LI>File transfer from your own programs
<LI>Resume upload/download of file - if supported by server.
<LI>Can connect to more than one site
<LI>Sets file types from .ext when downloading (if mimemap module is present)
</UL>
<H4><A NAME="Logging_on">Logging on</A></H4>
<P>
Click on the iconbar icon and the Login <A HREF="#dialogue_box">dialogue box</A> 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.
<DL>
<DD><IMG SRC="Images/UserManual/Pic4.jpg" ALT="" ALIGN=MIDDLE HEIGHT=227 WIDTH=191>&nbsp;&nbsp;<I>Login dialogue box</I>
</DL>
<UL>
<LI><B><I><A HREF="#host">Host</A></I></B> is the name of an ftp site (e.g. <I>ftp.demon.co.uk<B>) </B></I>you wish to connect to. If you have <A HREF="#webspace">webspace</A> this would be the address of your webspace which for freeserve is <I>uploads.webspace.freeserve.net.</I> If the host requires a different port from the default one then it should be added to the end of the host name like this <I>ftp.demon.co.uk:1234</I> where 1234 is the port number - note the semicolon. It is unusual to use a different port number to the default.
<LI><B><I>Path</I></B> is the directory you want to go to after connecting. A / is used to separate the directories e.g. <I>/pub/archimedes/</I> - most ftp sites have the public files in the <I>/pub</I> directory. Omiting the final / will result in the final object being highlighted. e.g <I>/pub/archimedes/file</I> will change the directory to <I>/pub/archimedes</I> and highlight <I>file.</I>
<LI><B><I>User</I></B> is your user name. If you don't have a user name leave it blank and <I>anonymous</I> will be used. This may give you access to download files from certain sites. 
<LI><B><I>Password</I></B> where you enter your password. If you have set the user to <I>anonymous</I> (or left it blank) then you should enter your email address here. Leaving the password blank results in a default email address being used which should work ok.
<LI><B><I>Account</I></B> is probably only used for commercial sites so unless you know otherwise leave it blank.
<LI><B><I>Security</I></B> enables secure connections to be used. Note RComp's secure socket module is required to be running for secure ftp to work.
<UL>
<LI><I>0 - None. Normal FTP </I>: This is the normal unsecure ftp mode.
<LI><I>1 - Secure. Explicit TLS</I> : This is the standard ftps mode. This mode will be used by ftps urls.
<LI><I>2 - Secure. Implicit TLS </I>: This is an old deprecated ftps mode which will connect to port 980 by default.
</UL>
<LI><B><I>Proxy - Type </I></B>is the type of proxy server you are using there are 4 possible settings:
<UL>
<LI><I>0 - None</I> : You are not using a proxy or want to disable the default proxy for this connection.
<LI><I>1 - USER</I> : You are connected to a proxy which uses the USER command to connect to the Host you want to connect to.
<LI><I>2 - SITE </I>: You are connected to a proxy which uses the SITE command to connect to the Host you want to connect to.
<LI><I>3 - OPEN</I> : You are connected to a proxy which uses the SITE command to connect to the Host you want to connect to.
<LI><I>Default: </I>Use the default proxy server - which is set in Choices.
</UL>
<LI><B><I>Proxy - Host</I></B> is the host name of your proxy server. If you need to specify a different port number just add <I>:port</I> to the end of the name  eg <I>ftp.demon.co.uk:1234</I>
<LI><B><I>Proxy - User</I></B> is used if you need to login to the proxy otherwise leave blank.
<LI><B><I>Proxy - Password</I></B> is used if you need to login to the proxy otherwise leave blank.
<LI><B><I>Passive</I></B> 
<UL>
<LI><I>On :</I> makes FTPc use the PASV command when making data connection. see <A HREF="#Passive">Passive connections</A>
<LI><I>Off : </I>makes FTPc use the Port command.
<LI><I>Default :</I> Use the value set in Choices
</UL>
</UL>
<H4><A NAME="Using_the_filer">Using the filer</A></H4>
<DL>
<DD><IMG SRC="Images/UserManual/Pic6.gif" ALT="" ALIGN=MIDDLE HEIGHT=81 WIDTH=245>&nbsp;&nbsp;<I>Filer window</I> 
</DL>
<P>
The filer is used in a similar way to a disc filer with drag and drop etc. however there are the following differences:
<UL>
<LI>Double clicking select on directories lists the new one in the same window. 
<LI>Double clicking adjust on a directory opens a new connection (window) to that directory
<LI>You can only move files (shift drag)  around the same site.
<LI>You can't copy files (drag) directly to another FTPc filer window.
<LI><I>New Directory</I>, <I>Change Directory and Rename</I> dialogue boxes use the remote filing system syntax. i.e <I>dir1/dir2/dir3/file</I>, <I>file.txt</I>, <I>dir1/file.html</I>
</UL>
<P>
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.
<H4><A NAME="Uploading_files/directories">Uploading files/directories</A></H4>
<P>
When files/directories are <A HREF="#upload">uploaded</A> any  <B>/</B> is changed to a <B>.</B> so <I>Ftp/zip</I> is changed to <I>Ftp.zip </I> and a hard space is changed to a space. Any directories that don't exist are automatically created.
<P>
You can stop the upload process with by selecting <I>Abort</I> in the main menu which will close the connection and reconnect to the same directory. 
<P>
If you have the <I>Add/remove ,hex filetype</I> 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
<H4><A NAME="Downloading_files">Downloading files</A></H4>
<P>
<A HREF="#download">Downloaded</A> files have any <B>.</B> changed to a <B>/</B> so <I>Ftp.zip</I> will become <I>Ftp/zip</I>  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 <I>SaveAs</I> <A HREF="#dialogue_box">dialogue box</A>. The new file name uses normal Risc OS filing system naming system.
<P>
Shift dragging a file to another application exports the file's url as a text file.
<P>
Shift dragging a file/directory to the RISC OS filer moves the file/directory.
<P>
If you have the <I>Add/remove ,hex filetype</I> option set then all files downloaded files will have the ,filetype (eg ,fff) removed and the value is used to set the filetype.
<P>
<B>Note:</B> Files which don't have extensions are marked type Data these <I>may</I> be typed automatically after downloading by inspection of the file.
<H4><A NAME="Moving_around_the_host">Moving around the host</A></H4>
<P>
You can change directories by double clicking on a directory (<IMG SRC="Images/UserManual/Pic8.gif" ALT="" ALIGN=MIDDLE HEIGHT=18 WIDTH=18>) or entering the path in the change directory <A HREF="#dialogue_box">dialogue box</A> on the main menu. You should enter the path using the syntax of the host e.g. <I>archive/dir/dir1</I>.  Double clicking on a link (<IMG SRC="Images/UserManual/Pic3.gif" ALT="" ALIGN=MIDDLE HEIGHT=18 WIDTH=18>) will change directories if it points to a directory otherwise it will pop up a <I>Saveas</I> dialogue box.
<P>
To move back click <I>Adjust</I> on the close icon, select <B><I>Open parent</I></B> from the main menu or double click on <IMG SRC="Images/UserManual/Pic5.gif" ALT="" ALIGN=MIDDLE HEIGHT=18 WIDTH=18> .

<H4><A NAME="Managing_your_remote_disc_space">Managing your remote disc space</A></H4>
<P>
You can delete, rename, move filing system objects and create directories. When entering names in the <A HREF="#dialogue_box">dialogue boxes</A> they should be in the remote filing system syntax and not RISC OS filing system syntax, so if you want to rename <I>index.htm</I> to <I>anyfile.txt</I> you should write <I>anyfile.txt</I> in the <I>rename</I> dialogue box. 
<P>
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.
<P>
To move a group of files into a subdirectory of a directory you should select the files and enter <I>directory/subdirectory</I> in the <I>Move to</I> dialogue box.
<P>
Clicking on <I>Change&nbsp;Directory</I> refreshes the listing or changes the directory to / if the current directory no longer exists.
<P>
Note: The <I>SaveAs</I> dialogue box is the only one which requires RISC OS filing system syntax  
<H4><A NAME="Logging_off">Logging off</A></H4>
<P>
Just close the filer window
<H4><A NAME="Newer">Newer</A></H4>
<P>
The <I>Newer</I> option on the <I>Option</I> 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
<DL>
<DD><IMG SRC="Images/UserManual/Pic7.gif" ALT="" ALIGN=MIDDLE HEIGHT=81 WIDTH=167>&nbsp;<I>Newer date</I>
</DL>
<P>
The option is set by selecting <I>Set</I> and removed by unticking <I>Newer</I> on the <I>Option</I> submenu. <I>Reset</I> changes the time to the current time.
<P>
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.
<H4><A NAME="List_flags">List flags</A></H4>
<P>
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.

<P>
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.

<P>
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 <I>list_flags="-la"</I> or whatever flags you want to the <I>user menu</I> entry.
<H4><A NAME="Status_log">Status log</A></H4>
<P>
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 <A HREF="#Site_specific_commands">Site</A> commands which return information.
<P>
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. 
<P>
Lines starting with a 3digit number are messages sent by the server others are sent to the server by FTPc.
<H4><A NAME="Site_specific_commands">Site specific commands</A></H4>
<P>
The remote host <A HREF="#server">server</A> <I>may</I> 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. 

<P>
There are 3 ways to enter <I>Site</I> commands in FTPc. 
<OL>
<LI>Enter it as if from a command line.
<LI>Apply a list of commands to a selection 
<LI>Apply a list of commands to each uploaded file/directory
</OL>
<P>
<B>Note:</B>
<UL>
<LI>What commands, if any, are available are dependant on the remote host server and not this program.
<LI>You can see the information returned from commands such as HELP by selecting <I>Status log...</I> on the main menu
<LI>Some servers don't support SITE commands at all
</UL>
<H5>Entering a command line Site command</H5>
<P>
You can send a Site command by selecting <I>Site...</I> on the main menu, typing in your Site command and selecting <I>Do </I>or press &lt;return&gt;. The displayed directory is your current working directory.
<H5>Applying a Site command to the selection</H5>
<P>
On the <I>Selection</I> submenu is another <I>Site -selection</I> 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:
<UL>
<LI>Start a command with -f it will only be applied to selected files
<LI>Start a command with -d it will only be applied to selected directories
<LI>Use %f in a command it will be replaced by the selected file or directory
<LI>Use %t in a command it will be replaced by the RISC OS file type of the selection as determined by the mimemap module. If %t is used it is only applied to files so -f is not needed.
<LI>Want more than 1 command to be applied just separate them with a comma.
</UL>
<P>
If you dont want the command applied recursively (ie applied to subdirectory contents) untick <I>Recurse</I>.
<P>
You can set the default text for this dialogue box on a site by site basis by adding
<PRE>
site_selection = "-f chmod 644 %f, -d chmod 755 %d"

</PRE>
<P>
to a user menu entry. (The text in inverted commas is your list of commands). Alternatively you can tick <I>Site selection</I> on the <I>Add to user menu</I> dialogue box and the text from the <I>Site selection</I> dialogue box will be used when you add an entry to the user menu.
<P>
If you want to set the same text in this dialogue box for all your sites you can enter it into the <I>Choices...</I> dialogue box. The user menu entry will override this value.
<H5>Applying Site commands to all uploaded files/directories</H5>
<P>
The other place you can enter a <I>Site</I> command is on the <I>Options</I> 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.
<P>
The text you enter is the same as for <I>applying a command to the selection</I> (see above) except that the RISC OS file type is determined by the file type of the uploaded file.
<P>
The <I>Options</I> submenu will show a tick against the <I>Site...</I> entry when it is set/active.
<P>
This option is also applied to directories created with <I>New Directory.</I>
<P>
You can set the default text for this dialogue box on a site by site basis by adding
<PRE>
site_on_upload = "chmod 644 %f,settype %f %d"

</PRE>
<P>
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 <I>Site - on upload...</I> command on the <I>Options</I> submenu will be selected (ie the option will be active).
<P>
Alternatively tick <I>Site - on upload</I> in the <I>Add to user menu</I> dialogue box and the text in the <I>Site - on upload</I> dialogue box will be used when you add an entry to the user menu. 
<P>
If you want to set the same text in this dialogue box for all your sites you can enter it into the <I>Choices...</I> dialogue box. The user menu entry will override this value.
<H4><A NAME="Abort">Abort</A></H4>
<P>
The abort command on the main menu allows you to stop the current operation.
<P>
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.
<H4><A NAME="Reconnect/New_connection">Reconnect/New connection</A></H4>
<P>
If a filer window is open but it is not connected the menu will show <I>Reconnect</I>. 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. 

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

<P>
<B>Note:</B> The two connections are not aware of each other so a change in one will not be reflected in the other. Selecting <I>Change directory</I> on the main menu will refresh a directories display if required.
<H4><A NAME="Resume">Resume</A></H4>
<P>
You can resume the transfer of a file if the server you are connected to supports it. To use this facility you
<UL>
<LI>Locate the file in the FTPc viewer window
<LI>Select resume on the filer menu
<LI>Locate that partially transfered file on your hard disk and drag it to the viewer window
<LI>Select the button will now show either <I>upload</I> or <I>download</I> depending on the direction of transfer. If the local file is larger than the remote file then it will be <I>upload</I> otherwise it will be <I>download</I>.
</UL>
<P>
If you altered the transfer type for the original transfer you will need to alter it again before selecting the <I>upload/download</I> button. 
<P>
It is recommended that you do your transfers in <I>binary</I> mode as there are other issues with resuming in <I>ascii</I> mode which may cause problems.
<P>
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.
<H4><A NAME="User_menu">User menu</A></H4>
<P>
You can add to the <I>User menu</I> by connecting to the directory you want to store and clicking on <I>Add to user menu... </I>on the main menu.
<P>
By default FTPc creates a user menu (<I>UserMenu</I>) in <I>&lt;Choices$dir&gt;.FTPc</I> otherwise it is put in <I>&lt;FTPc$dir&gt;.choices</I>. 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.
<P>
The user menu can be edited by selecting <I>Edit...</I> on the <I>User menu </I>- which opens it in a text editor. Changing the menu file in the editor and saving it will alter the menu.
<P>
User menus can be created in a text editor and the type set to <I>FTPc</I> (077) .The first line of the file should be <I>Menu</I> and the lines following describe the menu entries. 
<P>
Any lines starting with # or | are treated as comments. Blank lines are ignored.
<P>
Menu entries are made up of a series of <I>xxx="yyy"</I> 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 <I>;</I> though you should not break a line in the middle of an attribute. 
<H5>Attributes</H5>
<P><DIV ALIGN=CENTER>
<TABLE>
<TR><TD WIDTH=163><I>name="xxx"</I>
<TD WIDTH=263>Set the name that you see on the menu to <I>xxx</I>.
<TR><TD><I>submenu="xxx"</I>
<TD>Set the name that you see on the menu to <I>xxx</I> and start a submenu. Sub menus may be nested. All subsequent entries go in the submenu
<TR><TD><I>endsubmenu="true"</I>
<TD>End submenu.
<TR><TD><I>line="on"</I>
<TD>Put a line after this entry in the menu
<TR><TD><I>default="true"</I>
<TD>Make adjust click on the iconbar use this entry. If more than one entry has this the1st one that has it is used.
<TR><TD><I>value="xxx"</I>
<TD><I>xxx</I> is a <A HREF="#URL_section">url</A> unless the line contains <I>type="file"</I> in which case <I>xxx</I> is filer_run.
<TR><TD><I>type="file"</I>
<TD><I>value</I> is a file - otherwise it is a url.
<TR><TD><I>site_on_upload="xxx"</I>
<TD><I>xxx</I> is a default list of site commands that will go into the <I>Site on upload</I> dialogue box, see<I> <A HREF="#Site_specific_commands">Site Specific Commands</A>,</I>
<TR><TD><I>site_selection="xxx"</I>
<TD><I>xxx</I> is a default list of site commands that will go into the <I>Site selection</I> dialog box, see<I> <A HREF="#Site_specific_commands">Site Specific Commands</A></I>
<TR><TD><I>list_flags="xxx"</I>
<TD><I>xxx</I> are default flags for the <I>List flags</I> option, see<I> <A HREF="#List_flags">List flags</A></I>
</TABLE>
</DIV>
<P>
A valid entry must have at least one of the following:
<UL>
<LI>a <I>name</I> and a <I>value.</I>
<LI>a <I>submenu.</I>
<LI>an <I>endsubmenu.</I>
</UL>
<P>
Note: A submenu entry can have the same attributes as a name entry.
<H5>Example user menu</H5>
<PRE>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"

</PRE>
<H4><A NAME="URL_section">URL's</A></H4>
<P>
!FTPc supports Ants and Acorns <A HREF="#URL">URL</A> systems. This means that FTPc will be loaded and run if an ftp URL is clicked on in an application or when a <A HREF="#URI">URI</A> file containing a ftp URL is double clicked on.

<P>
The general form of the ftp URL is:
<P ALIGN=CENTER>
<I>ftp://user:password@host:port/path</I>
<P>
where user,password, port and path are optional.
<P>
The URL could be as simple as
<P ALIGN=CENTER>
<I>ftp://host</I>
<P>
when you would be logged in anonymously to the root directory of the host
<P>
If the URL was
<P ALIGN=CENTER>
<I>ftp://user@host</I>

<P>
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.

<P>
The first / in the path is ignored so

<P ALIGN=CENTER>
<I>ftp://user@host/dir1/dir2/</I>

<P>
specifies a relative path <I>dir1/dir2/</I> and 

<P ALIGN=CENTER>
<I>ftp://user@host//dir1/dir2/</I>

<P>
specifies an absolute path <I>/dir1/dir2/.</I>

<P>
The default <I>Proxy Server</I> can be overridden by including <B>-proxy </B>at the end of the url - see <A HREF="#Proxies,_Gateways_and_Firewalls">Proxies, Gateways and firewalls</A>

<P>
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.

<P>
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.

<P>
Note: Path names are case sensitive.

<P>
<B>Writing URI files</B>
<P>
Write the URL in a text editor - eg <I>ftp://ftp.xemplar.co.uk/acorn/</I> - save it and set its file type to URI. For my web site I may write something like
<P ALIGN=CENTER>
<I>ftp://c-granville.freeserve.co.uk@uploads.freeserve.net/Images/docs/</I>
<P>
which when double clicked on will prompt me for my password before connecting to my web site and changing the directory.

<P>
<B>Using URL's with !Browse</B>
<P>
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
<H4><A NAME="Secure">S</A>ecure Connections</H4>
<P>
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.

<P>
To use secure ftp either:
<UL>
<LI>Click on a url which starts ftps://. This will attempt to connect using explicit ftps.
<LI>Select the Security mode from the FTPc connection window before connecting
<LI>Use <I>ftps</I> in the url or add <I>-secure 1</I> to the value in the user menu for the entry to connect using explicit ftps
<LI>Add -secure 2 to the value in the user menu for the entry to connect using implicit ftps
</UL>
<P>
<B>Example menu entry</B>
<P ALIGN=CENTER>
<I>name="web site" value="ftp://user:password@ftp.demon.co.uk -secure 1"</I>
<P ALIGN=CENTER>
<I>name="web site" value="ftps://user:password@ftp.demon.co.uk"</I>
<P ALIGN=CENTER>
<I>name="web site" value="ftp://user:password@ftp.demon.co.uk -secure 2"</I>
<H4><A NAME="Passive">Passive</A> connections</H4>
<P>
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.

<P>
You can set the passive mode by 
<UL>
<LI>Ticking <I>Passive</I> in Choices. This will make all connections <I>Passive</I> by default.
<LI>Selecting <I>Passive on </I>in the connection dialogue box
<LI>Adding <I>-passive on</I> to a URL in the user menu
</UL>

<P>
<B>Example menu entry</B>
<P ALIGN=CENTER>
<I>name="web site" value="ftp://user:password@ftp.demon.co.uk -passive"</I>
<P>
or you can switch passive off in a menu entry if you have passive set in <I>Choices...</I> with
<P ALIGN=CENTER>
<I>name="another web site" value="ftp://ftp.hensa.co.uk/pub/acorn/ -passive off"</I>
<H4><A NAME="Proxies,_Gateways_and_Firewalls">Proxies, Gateways and Firewalls</A></H4>
<P>
This section covers access through Proxies, Gateways and Firewalls which are basically different terms for the same thing.

<P>
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):

<P>
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
<B><I></I></B>
<P>
The <I>USER</I> 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). 
<I></I>
<P>
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.
<I></I>
<P>
If you always use a proxy you can set the default proxy in Choices... on the Iconbar menu.
<I></I>
<P>
Menu entries can override the default proxy setting as follows.

<P ALIGN=CENTER>
<I>name="test" value="ftp://ftp.demon.co.uk/ -proxy"</I>

<P>
switches off the proxy for this menu entry.

<P ALIGN=CENTER>
<I>name="test1" value="ftp://ftp.demon.co.uk/ -proxy 1 local.proxy.name"</I>

<P>
connects to <I>ftp.demon.co.uk</I> through the proxy <I>local.proxy.name </I>which is a type 1 (USER) proxy
<H4><A NAME="Fine_Tuning">Fine Tuning</A></H4>
<P>
If you are using FTPc on a Network you may be able to improve the speed slightly by setting  <I>File buffer size</I> and <I>Extra poll for every</I> in <I>Choices...</I> 
<P>
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. <I>FileBufferSize</I> allows you to set the size of the file buffer (in Kb) used by FTPc.  eg

<P ALIGN=CENTER>
<I>File buffer size: 256</I>

<P>
<B>Note: </B>a file buffer is created for every connection so a large buffer size may take up a lot of memory

<P>
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 <I>Extra poll for every</I> which specified the number of Kb to be transfered before the program multitasks. eg

<P ALIGN=CENTER>
<I>Extra poll for every: 256</I>
<I></I>
<P>
If you set this too high the program will hardly multitask
<H4><A NAME="Problems">Problems</A></H4>
<P>
<B>URI's don't work</B>
<P>
I you don't have Ant or Acorn internet software you'll need Acorns URI module which can be found at <A HREF="http://www.acorn.com/browser/uri/URI.arc">http://www.acorn.com/browser/uri/URI.arc</A> and should be put in System:Modules.Network

<P>
<B>Site created on hard disc doesn't work when downloaded</B>
<P>
Remember the remote site is case sensitive.
<P>
Don't use spaces in filenames - FTPc will change &lt;alt&gt;&lt;space&gt; 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.
<H4><A NAME="Finer_points_of_Ftp">Finer points of Ftp</A></H4>
<UL>
<LI>Due to differences in filing systems it should be noted that <A HREF="#upload">uploading</A> a file loses its Risc OS file type. When <A HREF="#download">downloading</A> !FTPc will attempt to set the file type from the .<I>ext</I> of the remote file name if the mimemap module is present. Failing this it will attempt to recognise <I>arc</I>, <I>zip</I> and <I>text</I> files from their contents otherwise it sets a <I>data</I> type. It is recommended that all files put on the remote host have a .<I>ext</I> which means ending them in <I>/ext</I> in the Risc OS filer or changing the names once on the remote host.
<LI>Ftp allows uploading files in either a Binary or ASCII format. ASCII format modifies the files on transfer both at this end and at the other end of the connection. Unfortunately no information is stored with the file to say what format it was saved with. I would recommend you transfer files in Binary and this is the only way to guarantee the correct transfer of non text files but !FTPc allows you to set the <I>Transfer type</I> to either Binary, Ascii or Auto where:
<UL>
<LI><I>Binary</I> transfers the files bit for bit
<LI><I>Ascii</I> sends files in a standard text format and when loading translates them back to the Risc OS text format. This transfer method is only of use with text files.
<LI><I>Auto</I> this method will use .<I>ext</I> of the file to detemine the transfer type. (requires mimemap module)
</UL>
</UL>
<H4><A NAME="Contact">C</A>ontact</H4>
<P ALIGN=CENTER>
Email: <A HREF="mailto:colin@ftpc.iconbar.com">colin@ftpc.iconbar.com</A>
<P ALIGN=CENTER>
Web site: <A HREF="http://www.ftpc.iconbar.com">http://www.ftpc.iconbar.com/</A>
<H4><A NAME="Glossary">Glossary</A></H4>
<DL>
<P><P>
<TABLE>
<TR><TD WIDTH=123><I><A NAME="dialogue_box">dialogue box</A></I>
<TD WIDTH=322>Window requiring typed input
<TR><TD><I><A NAME="download">download</A></I>
<TD>Transfer files from the remote host to your computer.
<TR><TD><I><A NAME="fso">filing system objects</A></I>
<TD>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.
<TR><TD><I><A NAME="ftp">ftp</A></I>
<TD>File transfer protocol - procedure by which two computers can communicate with the intention of transferring files
<TR><TD><I><A NAME="host">host</A></I>
<TD>Another name for a computer
<TR><TD><I><A NAME="link">link</A></I>
<TD>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.
<TR><TD><I>proxy</I>
<TD>Server through which all requests to access remote sites go.
<TR><TD><I>server</I>
<TD>Program running on remote host which <I>serves</I> you your files and responds to your commands
<TR><TD><I>upload</I>
<TD>Transfer files from your computer to the remote host.
<TR><TD><I><A NAME="URL">URL</A></I>
<TD>Uniform Resource Locator - a description of where and how to find a resource on the net
<TR><TD><I><A NAME="URI">URI</A></I>
<TD>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
<TR><TD><I><A NAME="webspace">webspace</A></I>
<TD>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.
</TABLE>
</DL>
</BODY>
</HTML>
