> : Help: File Manager:
- A Remote File Manager

Copyright (C) 1999 Yoram Last (ylast@mindless.com)

For the latest information on this program, check the WebRFM home page.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


Overview

is a web-based remote file manager. It supports basic file manager operations as well as uploading and downloading files. It can be used as a general purpose file manager and also as a tool for maintaining web sites. Most operations with should be straight forward. They usually require selecting a file or a directory and then clicking the appropriate button for the desired action.

's primary interface is the 'File Manager', which includes the following elements:

  1. The name of the current working directory along with a link to the parent directory. The link is provided by the Up image to the left of the working directory's name.

  2. The file selection window. Directories are listed first and are distinguished from files by having a forward slash ("/") preceding their names. Each of the lists (directories and files) is internally arranged in normal string order (namely, alphabetically, but with capital characters preceding all non-capital characters). The two lists are separated by a horizontal line which serves a double purpose:

  3. A set of buttons to perform various file manager operations. The 'Open/Get', 'Cut', 'Copy', 'Paste', 'Delete', 'Rename', and 'New' buttons perform similarly to what the corresponding operations would do in other file managers (see some specific remarks below). Note, in particular, that 'Open/Get' "opens" directories and "gets" files. The 'Edit' button opens the selected file (or a blank file, if the file selection is null) in 's Text Editor. This button shouldn't be used for directories. The 'Get as TEXT', and 'Get as BIN' buttons are used for file retrieval (in addition to 'Open/Get'), namely, they would send the selected file to the client (and they shouldn't be used for directories). The three different options for file retrieval differ by by the MIME type that is being reported to the browser ('Open/Get' reports the MIME type according to the file's extension and to 's MIME table, 'Get as BIN' reports the MIME type to be 'application/octet-stream', and 'Get as TEXT' reports the MIME type to be 'text/plain') and also by the capability of 'Get as TEXT' to send the file in "text mode" (namely, to convert the file to WinDOS text format). With most web browsers (but NOT with Microsoft's Internet Explorer (versions 3.x and above) which has a mind of its own), the reported MIME type determines how the browser handles the file. The 'Get as BIN' option would usually cause the browser to prompt for saving the file to disk, while the 'Get as TEXT' option would usually cause the browser to display the file as plain text. File retrieval with the 'Open/Get' method would usually lead to normal browser behavior for files of this type. Whether or not the 'Get as TEXT' option is performing "text mode" conversion is determined by an appropriate setting in 's options setting form. The 'Upload' button would append to the top of the File Manager an upload form that can be used (by browsers that support this feature) to upload a file to the working directory. The 'Properties' button provides detailed information for the selected object, as well as an interface for changing certain properties (permissions). The 'Home' button changes the working directory to the default (home) directory. The 'Options' button invokes the options setting form. The 'Help' button appends this help page to the top of the File Manager.

Remarks

The following further remarks are worth noting:

  1. Note that 'Open/Get', 'Cut', 'Copy', 'Delete', 'Rename', 'Edit', 'Get as BIN', 'Get as TEXT', and 'Properties' act on the selected object (file or directory). Some of these can only act on files, and should thus not be used for directories. 'New', 'Home', 'Options', and 'Help', on the other hand, do not act on the selected object, and their action is thus independent of it. 'Upload' does not really act on the selected object, but if the selected object is a directory, then 'Upload' will change the working directory to that directory and it would be the location to which the file would be uploaded. 'Paste' will only work if no object is selected (namely, if the selection is null, which can be done by selecting the line which separates files and directories).

  2. The 'Delete' function is very forceful. It would prompt the user once for confirmation, after which it will do its best to delete the appropriate file or directory. The only thing that might (and should) cause file deletion to fail is insufficient permissions. File deletion is FINAL: files are NOT moved to any kind of a trash folder or recycle bin.

  3. The 'Cut'/'Paste', 'Copy', 'Rename', and 'New' functions are more delicately behaved in that they can't be used to overwrite an existing directory (existing directories should be independently deleted if they need to be replaced). Also, while these functions can be used to overwrite individual files, the user is prompted and should explicitly choose this option before it is done.

  4. The 'Cut', 'Copy', and 'Paste' commands, use a special clipboard implementation. This clipboard is disjoint from any other clipboard that the system might have and can only be used to store file/directory names along with the appropriate command option (either 'Cut' or 'Copy'). While most properties (for example, the working directory) are stored as form fields, and thus depend only on the form from which an action is being taken; clipboard information is stored on the server (on disk), and is thus shared among different forms. This is done to enable cut/paste operations between different browser windows.

    As soon as the clipboard is not empty (following a 'Cut' or 'Copy' operation), a small form is being appended to to the top of the File Manager. It shows the clipboard content, and provides an option to empty the clipboard ('Cancel') and an option to paste its content ('Paste as'). The default paste location is the current working directory. It can be changed manually in the appropriate field following the 'Paste as' button.

    Another way to paste the clipboard content is to use the 'Paste' button below the file selection window. This would always paste the current content of the clipboard in the current working directory (of the form where the 'Paste' button is clicked). Note that the 'Paste' button would paste the clipboard content even if the clipboard form is not appended. The clipboard content may be altered from another browser window, or, in principle, by another user from another computer (this is one of the reasons that different users should use different configuration setups of ). The 'Paste' button always responds to the current content regardless of its source. It is possible to have open in two browser windows with different working directories, and to cut (or copy) a file in one of these windows and then immediately paste it in the other.

Additional Features

Other than the "visible" features of 's form-based interface, it also has a "hidden" direct HTTP layer that supports the following:

  1. If gets a request that does not include any meaningful CGI parameters, but does include a path added to its URL, it would send back the file corresponding to this path (if it exists). This mechanism allows proper viewing of HTML pages from the file manager, since linked files (such as images) would also get transparently retrieved through . If the URL corresponds to a directory, would provide a plain HTML directory index. Those plain directory indexes can be used (as an alternative to the File Manager) to browse directory trees. It is possible to switch between the File Manager and the plain indexes by using appropriate links in the upper right corners of the corresponding interface pages.

  2. supports file uploading using the HTTP PUT method and file (or directory) deletion using the HTTP DELETE method. In particular, it supports transparent editing of HTML files using WYSIWYG HTML editors such as the one included with Netscape Communicator. To edit an HTML file with this editor, you should simply retrieve the file using 'Open/Get', and then choose 'Edit Page' from Communicator's 'File' menu. (Alternatively, you can also retrieve the file through a plain directory index, or by directly specifying the corresponding URL.) After that, you can edit the file and upload it back by choosing 'Publish' from the editor's 'File' menu. Other applications that utilize PUT should work as transparently.

  3. provides an implementation of a class 1 WebDAV server, and also supports some non-standardized HTTP extension methods of AOLserver and of Netscape's Enterprise server. This extension layer provides support for many client programs that are designed to perform file management tasks through the HTTP protocol. In particular, the following client programs work with : AOLpress , SiteCopy , Cadaver , Microsoft's Web Folders (they come as part of Internet Explorer 5) and Office 2000 applications, and Netscape's Communicator Roaming Profiles .
's direct HTTP layer is implemented as follows: appears to client programs as if it where a directory on the server, and this directory corresponds to the (virtual) root directory that is seen by .