FTP Explorer by Alan Chavis =========================== Copyright Notice ---------------- Copyright (c) 1995-1996 by FTPx Corp. FTP Explorer is a trademark of FTPx Corp. Windows, Windows NT, and Visual C++ are registered trademarks of Microsoft Corp. WS_FTP is a registered trademark of Ipswitch, Inc. CuteFTP is a trademark of Alex Kunadze fpArchie is a trademark of fpWare All other trademarks are owned by their respective companies. Warranty Disclaimer ------------------- THE SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, FTPX CORP. FURTHER DISCLAIMS ALL WARRANTIES, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. THE ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE PRODUCT AND DOCUMENTATION REMAINS WITH RECIPIENT. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL FTPX CORP. BE LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL, DIRECT, INDIRECT, SPECIAL, PUNITIVE, OR OTHER DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) ARISING OUT OF THIS AGREEMENT OR THE USE OF OR INABILITY TO USE THE PRODUCT, EVEN IF FTPX CORP. HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Release Notes ------------- PLEASE HELP ME TO IMPROVE THE PROGRAM BY REPORTING ANY PROBLEMS OR SUGGESTIONS TO: achavis@ftpx.com The main objective of FTP Explorer is to provide an FTP client that looks and feels just like the Windows 95 Explorer interface. Please keep this in mind while evaluating it. Registration ------------ Please read the license agreement for complete information. FTP Explorer is FREE for home or educational use. The registration fee for all other uses is $30 U.S. If you are not entitled to a free license, you may use FTP Explorer for 30 days for the purpose of evaluating whether to purchase it. Even if you are eligible for a free license, you may register anyway if you wish to support and encourage the further development of this program. Checks may be mailed to: FTP Explorer P.O. Box 20574 Okc, OK 73156-0574 For credit card orders, print out the registration form from the help file, and either mail it to the above address, or fax it to: 405-755-0158 Extra Special Thanks -------------------- Ben Reser and StealthMan for your initial encouragement that night on IRC. Had it not been for you guys, this program would have never made it this far! Casey Hart for his awesome work on the help file. Daniel Beckham and Chris Chase for the coolest web site I've ever seen. Rodney Herrmann for getting me started on the BBS program that inspired FTP Explorer. We'll have to finish it someday, ok? Edward Mendelson for his early encouragement and the write up in Internet User. My wife Cheryl and my sons Gregory and Preston for putting up with me for the last 7 months while I worked on this project. Everyone else who has sent me words of encouragement, suggestions and bug reports! It's the users who have really made this program what it is! The Torture Test Team --------------------- Ben Reser Casey Hart Chris Chase Daniel Beckham Dave Taylor Donny Jasperson Kerry Sanders Kevin Dente Paul Geller Rami Anati Randy Jack Rodney Herrmann StealthMan T.J. Weber Tim King Tom Cantor The Localization Team --------------------- Andrea Matta (Italian) Dale Gillham (German) Hans O. Sorteberg (Norwegian) Distribution Sites ------------------ THE LATEST RELEASE WILL ALWAYS BE AVAILABLE AT: FTP Explorer Home Site (U.S.): http://www.ftpx.com ftp://ftp.ftpx.com/pub/ftpx/ftpx.zip Italy: ftp://ftp.volftp.vol.it/pub/pc/windows/win95/progs/communications/internet/ftp/ Norway: ftp://powertech.no/users/crossrec/ftpx Mailing List ------------- If you would like to subscribe to the FTP Explorer mailing list and be notified via email about new releases, send email to: listserv@ftpx.com with no subject, and put this in the body of the email: subscribe ftpx-announce NOTE: DON'T PUT ANYTHING ELSE IN THE BODY OF THE MESSAGE. IF YOUR EMAIL PROGRAM ALWAYS ADDS A SIGNATURE TO THE END OF EVERY MESSAGE, PUT "end" BY ITSELF ON THE LINE FOLLOWING THE SUBSCRIBE STATEMENT, LIKE THIS: subscribe ftpx-announce end If you would like to participate in general discussion about FTP Explorer you may wish to subscribe to the ftpx mailing list instead. Do so by putting this in the body of the email instead. subscribe ftpx If you thought you were on the mailing list, but didn't receive a notification about the latest build, you may want to subscribe again. IRC Chat Channel ---------------- I'm frequently available on the EFNET IRC channel: #ftpx Feel free to join me if you would like to discuss FTP Explorer online. System Requirements ------------------- FTP Explorer requires Windows 95 or Windows NT (3.51 or higher, the shell extension will probably only work on 4.0) Please note that FTP Explorer requires a 32-bit TCP/IP stack. If you are using a 16-bit stack you will need to upgrade to a 32-bit stack to use FTP Explorer. Disclaimer of Warranty ---------------------- THIS SOFTWARE AND THE ACCOMPANYING FILES ARE PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND WHETHER EXPRESSED OR IMPLIED. In no event shall the author be held liable for any damages whatsoever, including without limitation, damages for loss of business profits, business interruption, loss of business information, or any other loss arising from the use or inability to use the software. What's New ---------- * Changes in Version 1.00.002 (10/07/96) - Fixed a bug that was causing downloads to fail on VAX systems. - Added "Upload" option to list view context menu. * Changes in Version 1.00.001 (10/07/96) - Fixed a bug that was preventing the uninstall routine from working if the program was not installed in default directory. * Changes in Version 1.00.000 (10/06/96) - Program now displays a license dialog the first time it is started. - Added "Contents", "License", and "Register" options to the help menu. - Fixed a bug that was causing certain sites (ftp.pitt.edu) not to display properly. - Fixed a bug where "Quick Connect" was not using PASV mode if it was enabled. * Changes in Version 0.00.063 (09/15/96) - Program will now prompt the user to switch to BINARY transfer mode if if ASCII transfer mode is selected and a file with one of the following extensions is transferred: ARJ, AVI, BMP, DLL, DBF, EXE, GIF, GZ, JPG, LIB, MDB, OBJ, TIF, TGA, TGZ, XLS, Z, ZIP, LZH. * Changes in Version 0.00.062 (09/12/96) - Fixed a bug that was causing a stack fault GPF when opening or quick viewing large (>200k) files. This may also fix some problems when listing large directories. - Disabled "Maximize" and "Size" options on transfer progress dialog. - Moved strings on transfer progress dialog to resource table. * Changes in Version 0.00.061 (09/09/96) - Fixed a problem with the setup program where it was unable to install the shell extension if it was in use. - Added code to save the application directory so that it can be utilized by the setup program. The setup program can now use the existing app path for the default target directory. (Note: This will only take effect after you have executed build 061 for the first time) * Changes in Version 0.00.060 (09/08/96) - Fixed a bug with some of the "File Types" in the upload dialog not displaying files properly. - Fixed a bug that caused the program to report "Insufficient disk space" when attempting to download to a UNC (network) path. - Added a "Quote" command to the tools menu. This allows special commands to be sent directly to the server. - The "Paths" options page now verifies that the specified paths are valid. - Fixed a bug that was causing the date/time on downloaded files to reflect the date/time that they were downloaded instead of the original date/time. - Added menu options to Transfer Manager to allow for cancelling and re- submitting transfers. Note that active transfers can only be cancelled via the "Cancel" button on the transfer progress dialog. - Added "Progress" and "Bps" columns to the transfer manager. - Added a "KeepAlive" option to the connection options page that sends NOOP commands to the server periodically to prevent timeouts. - Added a "New Window" option to the file menu. This allows you to easily start a new instance of FTP Explorer. - Added some additional sites to the sample profiles that are set up when the program is run for the first time, and added descriptions to all of them. - Widened "Description" text box on connect dialog, removed horizontal scroll bar and added a vertical scroll bar. - CuteFTP import routine now imports descriptions. - Added support for several proxies/firewalls to the firewalls options page. - The files in the build are now compressed and must be installed via the setup program. - The setup program now detects if the shell extension is already installed and will only prompt to reboot if it is necessary. * Changes in Version 0.00.059 (09/03/96) - Created a setup program and an uninstall routine. The program can now be uninstalled via the "Add/Remove Programs" feature in the control panel. - Fixed a problem with the login:password@ option for URLs if there was an @ in the password. - Fixed a problem with "Quick Connect" not working correctly when only a host name name was entered instead of a URL. - Added some common file types to the upload dialog. - Program now refreshes the directory automatically after renaming a file if the new name is the same as an existing file or if the new name contains a path. The rename command can now be used to move files to a different path. * Changes in Version 0.00.058 (08/23/96) - Fixed a problem with ftp.cdrom.com that was caused by the fix for ftp.symantec.com. Jeez! - A CDUP command is now issued before the current directory is removed with an RMD command. * Changes in Version 0.00.057 (08/23/96) - Fixed a problem with some UNIX sites that do not display group names (ftp.symantec.com). - Program should now not prompt to delete files in temp dir if other instances are active. Last instance to close should clean up temp path normally. - The "auto-download" feature for command line URL's and the "Quick Connect" option now uses the "Background download threshold" setting from the transfer options dialog to determine if it should download the file in the background. - Program will now prompt for confirmation if a foreground transfer active and an attempt is made to connect to a new site, disconnect, or close the program. - Added a "Refresh" button to the toolbar. - Fixed a bug where the login name was not being filled in on the password prompt dialog that appears when you leave the password blank. - URL's that include the login name and password are now handled properly (ftp://username:password@ftp.site.com) - Added a "File Types" option page. This allows you to specify which files are used as description files, and what types of files always transfer using ASCII mode. * Changes in Version 0.00.056 (08/19/96) - Fixed another bug that was causing a GPF when the connection timed out. - Added code to resolve links that are linked to files in the same directory. If a link is linked to a file in the same directory, then it should reflect the correct information from the file it is linked to (i.e. size, type, etc.) - Added a "Download File" check box to the "Quick Connect" dialog. This option is enabled if a URL is entered that does not end with a slash (/). If checked, the last segment of the URL is interpreted as a file and a download will be initiated after the connetion is established. If it is not checked, the last segment will be interpreted as a folder. - The program now uses RMD (remove directory) instead of DELE (delete) to remove folders. This should fix some problems with some sites that do not allow the delete command against folders. * Changes in Version 0.00.055 (08/15/96) - Fixed a bug that was causing PASV mode not to work on certain servers for file transfers. - PASV mode is now selectable on a per profile basis via the connection dialog. - New connection profiles now default to anonymous login. - Added "Timeout attempt after" option to "Connection" options page to allow adjustment of timeout value. This should help with dial up connections that take a while to connect. - Removed unused options from "Edit" menu. - Added option to convert case of short filenames when uploading to "Paths" options page. (This probably should go on the "Transfers" page but there's not enough room left, and it does have something to do with paths anyway.) - Added the ability to automatically download files specified via a URL on the command line or via the "Quick Connect" option. - Fixed a bug that affected UNIX sites when there was not a space after the permissions field in the directory listing. * Changes in Version 0.00.054 (08/13/96) - Fixed a bug that was caused by the implementation of PASV mode that caused the resume function to corrupt downloaded files. - Fixed some problems with the ABOR (abort) command. - Fixed a bug that was causing GPF's that cropped up when the timeout code was added. - Fixed a bug that was causing miscalculated transfer rates and remaining time estimates for resumed transfers. * Changes in Version 0.00.053 (08/03/96) - Added "Download Path" field to connect dialog to allow for custom download paths on a per site basis. - Added "Description" field to connect dialog. - The delete command now works recursively when deleting folders. - Fixed a bug where folders and drives were not treated case-sensitively. - Program will now attempt to create target directories automatically if they downloading if they do not exist. - Fixed a bug where UNIX "setuid" files were not listed properly. - Fixed a bug where program was not saving a profile if only the profile name was changed. - Fixed a bug where an invalid directory would still show up in the tree view when it was entered via the "goto" command. - Fixed a bug that caused the program to hang if you tried to "goto" a path that had a tilde (~) char in it. - Added options to context menus to allow user to manually toggle a link from a folder to a file and vice versa. - Added code to handle connection timeouts. If the connection times out, then the program should automatically attempt to reconnect and continue. - Fixed a bug that caused all queued transfers to be cancelled when one was cancelled. * Changes in Version 0.00.052 (07/29/96) - Fixed a problem with PASV mode and NT FTP servers. - Fixed a bug where an additional backslash was being appended to the destination path if the default download path had a backslash at the end. - Added 00INDEX to files recognized as description files. * Changes in Version 0.00.051 (07/28/96) - Added "Firewall" options page. - Added support for "PASV" mode via "Use PASV mode" option on firewall page. - THANK YOU MICROSOFT! ExtractIconEx() is now documented in Visual C++ 4.2, so extracting large and small icons is alot easier and faster! This should provide a nice performance boost to loading directories with lots of files in them. * Changes in Version 0.00.050 (07/23/96) - Double clicking a list box entry on the connection dialog is now the same as selecting it and clicking "Connect". - Changed email address to: achavis@ftpx.com - Changed "FTP Explorer Home" sample profile to point to: ftp.ftpx.com * Changes in Version 0.00.049 (07/21/96) - Revamped connection dialog. It now has a list box instead of a combo box to select connection profiles. - Fixed a bug that was causing the toolbar buttons to remain disabled after connecting. * Changes in Version 0.00.048 (07/14/96) - Fixed a bug that was causing the "Quick Connect" option to save profiles. * Changes in Version 0.00.047 (07/13/96) - Added "Quick Connect" option. This allows you to type in an address or URL to connect to without having to setup up a connection profile. If the URL includes a path, the last character must be a slash (/). * Changes in Version 0.00.046 (07/12/96) - Fixed a bug that prevented upload dialog from appearing. * Changes in Version 0.00.045 (07/07/96) - Fixed a bug that could cause a GPF during the connection sequence. - Enabled drag and drop uploading from the shell to the tree view pane. - Improved resume functionality. Resume no longer requires target file to have the same date/time. Fixed a bug that was causing the target file to remain opened after a transfer was aborted, causing the resume not to work properly. This also left a thread active after the program was closed. - Downloads initiated with drag and drop now prompt when a resume is possible. - Optimized CPU utilization during file transfers. Transfers were using 100% of CPU time, now down to 2-4% on my P133. * Changes in Version 0.00.044 (07/04/96) - Program now saves the upload path selected with the upload dialog between sessions. - Added "Cache data between sessions" option to connect dialog. If this option is enabled, all of the directory and file information for the selected connection profile is cached to disk so it can be reloaded. This allows a site to be browsed without actually having to connect first. Any operation that requires a connection will establish a connection automatically. The "Refresh" command can be used to force a folder to be updated. - Removed "Automatically re-connect" option from connection options page. The program now always attempts to re-connect whenever it is necessary. * Changes in Version 0.00.043 (07/03/96) - Fixed a bug that was causing the directory to not be refreshed properly after a rename. This bug was created by the bug fixes in 040. Jeez! * Changes in Version 0.00.042 (07/03/96) - The Select All hotkey (CTRL-A) was not working. Fixed. - Fixed a bug that was causing the transfer dialog to pop up with every new file when transferring a group of files via the primary connection. - Fixed a bug where the upload dialog was not allocating enough memory to handle large multiple file selections. * Changes in Version 0.00.041 (07/03/96) - Fixed a bug that was created by the fixes in 040 that caused the search animation on the list view to continue after the list was finished refreshing. * Changes in Version 0.00.040 (07/03/96) - Fixed a bunch of bugs that were causing the views not to be refreshed if a menu was pulled down, or if the window was being resized. This should also fix the problems related to the tree view folders staying green after they have completed refreshing. * Changes in Version 0.00.039 (07/02/96) - Fixed bug that was causing a page fault if you hit the "Cancel" button while connecting. * Changes in Version 0.00.038 (07/01/96) - Enabled recent file list. - The first fix for the "FTP Log" pane didn't work, so there is now a registry setting (MaxFtpLogSize) that determines the maximum number of chars that it will hold. - Context menus now reflect current status properly. (i.e. List view type, auto arrange, etc.) - Modified password dialog so that login name can also be specified if the password is left blank in the connection dialog. * Changes in Version 0.00.037 (06/30/96) - Moved options dialog into it's own thread. This should fix some problems that occurred when the options dialog was opened while connecting. * Changes in Version 0.00.036 (06/29/96) - Fixed a bug where if a folder was deleted, it was not removed from the tree view properly. - Added the ability to upload entire directory structures. - Added the ability to download entire directory structures. Unfortunately, you can no longer drag drop a folder to create a shortcut. You can still create shortcuts to folders via the file and context menus. I'm looking for a work around for this. - Fixed a bug that was causing directories to not be parsed properly. This usually made the permissions show up in the filenames column. - Added a facility to assist me in supporting various servers. If you run into a directory that is not listed properly, look in the folder that the program uses for temp files and you should find a file named "dirlist.txt". Email this file to me and it will help me to debug the problem. You must grab this file before listing any other directories because it is overwritten every time. - Fixed a bug where the "FTP Log" pane was filling up after which it not longer worked. The "FTP Log" pane should now hold up to 4294967295 bytes. Hopefully this will be sufficient. - Fixed a conflict with the DELETE key where it was causing the "File Delete" dialog to appear if you used it while renaming a file. - The "Download To" dialog now remembers the last path that was selected so that you don't have to browse for the path when downloading multiple files. You still have to hit "Save" for each selected file. - Links that contain periods are now treated as files. I'm still going to add a menu option to allow the user to change this manually on a per link basis. * Changes in Version 0.00.035 (06/06/96) - Added "Cancel" command to "Tools" menu and toolbar. This command will cancel all pending commands and issue an FTP abort command to the server. It may not work in all cases. Please let me know if you have problems with it and what the circumstances were. - Added "Resume" feature. Program will now prompt to resume download if file exists in target directory and is same date/time and smaller size. * Changes in Version 0.00.034 (06/04/96) - Changed "Save As" menu options to "Download To". - Added support for Mac "NetPresenz" server. (Tested with v4.0.1) * Changes in Version 0.00.033 (06/04/96) - Fixed a bug that was causing the columns in the details view to be sized to 0 width if program was closed in any other view. - Fixed a bug where program was unable to start fpArchie if fpArchie was located in a "long filename" path (i.e. \Program Files). - Fixed a bug where if the folder was empty, the tree view icon stayed green after the LIST command was complete. - Fixed a bug where certain shell functions (such as changing wallpaper) were performed while connected, a blocking thread was not allowing the function to complete. - Fixed a bug where transfer progress dialog was not appearing on top of the main window properly. - Added code to check for insufficient disk space before a file is downloaded. - Fixed a bug when "Quick Viewing" files that "Quick View" does not recognize where the file would be deleted before quick view could open it. - Added percentage complete indicator to transfer progress dialog's caption. - Added "Port" option to connect dialog. - Enabled transfer progress dialog for non-background transfers. - Enabled non-background uploading. - Added "Transfer Dialog Threshold" option to transfer options page. This options controls how large a file has to be before the transfer progress dialog is displayed. When transferring many small files, displaying the transfer dialog can degrade performance slightly. NOTE: The transfer dialog is always displayed for background transfers. - Added option to connection options page to hide files that begin with a period. * Changes in Version 0.00.032 (06/01/96) - Fixed some problems with date/time display on certain VMS systems. * Changes in Version 0.00.031 (06/01/96) - Program no longer terminates until last active transfer is either completed or cancelled. - Fixed bug which prevented "Small Icons" or "List" list view settings from being restored between sessions. - Program now saves column width settings for list details view. Sorry, still no way to change the order of the columns. :( - Fixed a bug related to background transfers where if password was entered via password prompt dialog, the password was not available to the background transfer so it couldn't log in. - Fixed bug on VMS servers where rename command was not working. - Improved support for multiple drives. * Changes in Version 0.00.030 (05/30/96) - Fixed some problems with server reporting "UNKNOWN Type: L8" in response to SYST command. (listserv-ftp.dartmouth.edu) - Fixed a bug that was causing the SYST command to be issued every time a list command was issued. - Improved VMS support. Program now remembers current drive info. Please note that to use the "Go to" command on a VMS system, you currently have to specify the path with unix style slashes instead of VMS style paths. (i.e. drive:[pub.misc] becomes drive:/pub/misc) - Fixed a bug that was preventing larger files from being transferred at all unless they were transferred in the background. - "Go to" command now treats path relative to the current directory. If you enter a path that doesn't start with a slash "/" character, or a drive specification, then it will append it to the current directory and attempt to change to that directory. * Changes in Version 0.00.029 (05/29/96) - Added "Sequential or Simultaneous" option to transfer options page. This options allows the user to specify whether to transfer queued items sequentially, or to start multiple threads for simultaneous transfers. There is also an option to specify the maximum number of logins. - Moved english resources back into main executable to facilitate development. The program will now look for "ftpxres.dll" and use it if it finds it, otherwise it will use the built in resources. If you are using english resources, you can delete the file "ftpxres.dll" that was provided with earlier builds. Localized DLL's for Norway, Russia, and France are under development. * Changes in Version 0.00.028 (05/28/96) - Fixed a bug that was causing the program to consume large quantities of system resources when listing large directories. (i.e. Microsoft's /Softlib/MSLFILES). - Program now saves the state of the toolbar and status bar between sessions. - Fixed some problems with a Silicon Graphics server. * Changes in Version 0.00.027 (05/27/96) - Fixed a bug that was causing the "Go to" command to not work if you tried to go to a folder you hadn't been to before. - Fixed a bug that was causing folders not to be listed completely if the program encountered a "process" file. - Fixed a bug that was causing a thread not to terminate when the program was closed. This caused the program to show up in the task list once for every time it was executed. - Moved program resources to a separate DLL (ftpxres.dll) to facilitate localization. - Transfer progress dialog was only showing download animation whether uploading or downloading. Fixed. - Fixed a bug that was causing the "Search" animation to continue playing after disconnecting. - Added a line to the .reg file for the shell extension to allow it to install the extension properly under Windows NT. - Fixed a bug that was causing the list command to "hang" when listing folders with a lot of entries. - Fixed some more problems with specific server types. * Changes in Version 0.00.026 (05/25/96) - Dates should now be displayed appropriately for the current locale. - Connection attempts setting must now be greater than 0. - Added "Go to" button to toolbar. The bitmap for this might change but "Open" seemed sort of appropriate. * Changes in Version 0.00.025 (05/25/96) - Fixed a bug where the TEMP directory cleanup routine was detecting the "." and ".." entries as files. * Changes in Version 0.00.024 (05/23/96) (NOT RELEASED) - Added support for VMS FTP sites. It's not perfect, but it works (I think). Please let me know how it works for you. I tested it against a VMS MultiNet V3.4 system (ftp.iup.edu). NOTE: VMS seems to use some weird numbers for the file sizes it reports, so the sizes are not very accurate. Also, I was unable to test uploading to this server, so if anyone has access to a VMS system that you can upload to, please test this and let me know if it works for you. - Fixed a bug where the tree view was not being refreshed sometimes if the corresponding folder was opened from the list view. - Threshold for background transfers now defaults to 50k. * Changes in Version 0.00.023 (05/22/96) (NOT RELEASED) - Revamped Drag and Drop routines. A shell extension is now required to enable download drag and drop functions. This was necessary to be able to queue files for download and then download them in the background. The program will be unable to perform the drop operation if the shell extension is not installed, and it will probably create a folder named "ftpxdrop" in whatever folder you dropped the item into. Hopefully I'll be able to improve this and be able to detect whether the shell extension is installed in the future. Also, you can only drop files on shell windows. If you try to drop a file on an application, you'll get an error message. I'm looking into a work around for this. - You can now select multiple items and drag them out of FTP explorer and drop them on a shell window. Selected files will be queued for download, and shortcuts will be created for any selected folders. * Changes in Version 0.00.022 (05/19/96) (NOT RELEASED) - Added hot keys: F2 = Rename F5 = Refresh CTRL-G = Go To - Totally revamped FTP subsystem to run in a separate thread and to "Queue" commands for sequential execution. This allows the user to change directories in rapid succession and the FTP subsystem will eventually catch up, refreshing the directories in the order that they were requested. This should make the user interface much more responsive overall. The tree view now reflects the status of folders that are being refreshed. Folders are gray as before when they have not been listed yet and now they turn green while they are pending an update, and finally turn yellow when the refresh process is complete. - The "FTP Log" view now has it's own thread. This was necessary to allow any of the various threads to post log updates and for the log to remain sequential. When you queue up alot of actions the log thread may lag behind, but it should eventually catch up. - The tree view should now properly update itself when folders are added, deleted, or renamed. - Fixed a bug where the "FTP Log" view size was not always being restored properly between sessions. - The "Byte Counter" on the status bar now increments in 128 byte intervals. Previously it only incremented in 1024 byte intervals and it had a bug that made it reset itself which made it useless for the most part. - Fixed several bugs related to logging in to "Home" directories. Previously, if the "Initial Dir" setting for a given profile was left blank, FTP Explorer would attempt to change to the root of the server, which caused problems on some servers. Now, it just goes wherever the server takes it and determines where it is once it gets there. - Finally got around to fixing the small icons! Someone tell Microsoft to fix and document ExtractIconEx()! - Added "Search" animation to "List" view when folder is being refreshed. - Multiple selection delete is now functional. - Rename command now de-selects all selected items except for the focused item. (This is how the Windows 95 explorer works) - Reworked the description parsing routine to be more intelligent when parsing index files. Please report any sites that are not parsed correctly. - Debugged shutting down while the program is busy communicating with the server. It should be much more robust now. - Added code to trim leading and trailing whitespace characters off of "Host", "Login", and "Initial Path" values. The program will now also trim trailing slash "/" characters off of the initial path value if it is not a single slash. Let me know if this causes problems for anyone. - Added "Remember" option to tools menu. This stores the current folder's path to the current profile's "Initial Path" value. - Added options to "Paths" options page to automatically clean up the temp dir at shutdown. By default the program warns the user before deleting files from the temp dir to prevent accidental deletions. This warning can be disabled if desired. - If you "QuickView" a file, a low priority thread is launched to watch for the "QuickView" program to end. When "QuickView" ends, the temporary file is deleted. If you quit FTP Explorer before quitting "QuickView", the file will not be deleted automatically, but the file should be deleted eventually by the temp file cleanup routine if it is enabled. - Added option to warn if excessively large file is selected for "QuickView" or "Open". This option can be configured via the "Transfer" options page. - Added "Find" option to the "Tools" menu to launch fpArchie if it is installed. If it is not installed, a dialog box will appear that will prompt the user to connect to a site so they can download fpArchie. - Moved "Connect" and "Disconnect" menu options to the "Tools" menu to be more consistent with the Windows 95 explorer interface. - Added "Download" option to "File" and context menus, and added a "Download" button to the tool bar. This option downloads the selected files to the default download path. The user is prompted if the file(s) already exist. - Added "Upload" option to "File" menu and added an "Upload" button to the toolbar. This option presents the user with a "File Open" dialog box to allow them to select files to be uploaded to the current folder. Multiple files can be selected. - Transfers are now "Queued" and handled by a separate thread, which initiates a separate FTP connection automatically. This allows the user to connect to a site, queue up a few transfers, then connect to a different site and queue up some more. The transfer thread will process each transfer in the sequence it was queued. - Added "Transfer Manager" option to the "Window" menu. This window displays the status of queued transfers. (It will eventually allow for control over the transfers, such as cancelling, re-submitting, etc.) - Fixed bug on "Transfer Progress" dialog where progress meter was freaking out when large files were transferred. Please report any bugs related to this. - Disabled "New Folder" menu option when not connected. - Program now accepts FTP URLs on the command line. Connections via URLs are not saved as connection profiles, although I may add an option for this later. URLs must end in a slash (/) character because the program trims all characters beyond the last slash to eliminate filenames. - Program now uses shell API to aquire the correct path to the "Desktop". This should solve some problems for international users whose "Desktop" is not called "Desktop". - Added "Select All" and "Invert Selection" options to the "Edit" menu. These currently only affect the "List" view. - Browse buttons on "Paths" options page now use the Windows 95 ShBrowseForFolder() routine to present a better looking browse dialog box. - Decided this was a bigger project then initially thought. :) * Changes in Version 0.00.021 (05/06/96) - Program now saves splitter positions between sessions. (This also saves the "FTP Log" option setting on the view menu) - Program now optionally saves window size, position and state (minimized, restored, or maximized) between sessions. Size and position are only saved if the program is closed from a restored (not minimized or maximized) state. - Fixed bug that occured when window was sized too small. - Added toolbar button to toggle "FTP Log" view on and off. - Added option to "Include description bar for right and left panes" to "Options" dialog to allow toggling the "All Folders" and "Contents of ..." captions on and off. - Fixed bug on "General Options" page where "Index file size" edit control was not disabled initially if "Autoload Descriptions" was turned off. - Fixed bug where the "Sort by type" option was not working correctly. - Fixed bug that prevented use of backspace key while renaming files because backspace was defined as an accelerator key for moving to the parent directory. Added code to handle backspace key separately and only when not editing a list item. - Added "File/New/Folder" option to "File" and context menu to allow subdirectory creation. - Browse buttons on "Paths" options page are now functional. - Program can now import "CuteFTP" site lists (TREE.DAT). This has only been tested with CuteFTP v1.4 Final Beta 7 32-bit. Please let me know if you run into problems with other versions. - Program no longer echos password to "FTP Log" view for security reasons. - Program will now prompt for a password if the login name is anything other than "anonymous" and no password is specified for the profile. Added an option to the "Connection" options page to disable this. This can also be disabled directly from the dialog that prompts for the password. - Fixed bug where anonymous login password (email address) values were not updated for each profile if the email address was changed. The connect dialog now reads the password value directly from the email address value if the "Anonymous" option is selected. - Passwords stored in the registry are now encrypted. The program should automatically encrypt any existing passwords the first time the new version is executed. - Added "Save As" button to toolbar. - Removed "Cut", "Copy", "Paste", and "Undo" buttons from toolbar. These may come back in a future build when I make them do something. These options still exist under the "Edit" menu, but don't do anything. - Program now prompts user to create sample connection profiles if no profiles exist. If you have any really good sites that you feel should be part of the samples, let me know. - Added a prompt that warns the user that the email address is empty and will launch the options dialog if allowed to. This is intended to point new users in the right direction, and will only appear once. After that, you're on your own. :) * Changes in Version 0.00.020 (04/24/96) - Initial public beta release. * Changes in Version 0.00.019 (04/19/96) - Fixed bug where "Options" dialog was not saving changes to the "Connection" page. - Added "Import" option to "Tools" menu to allow importing connection info from WS_FTP. Other formats will be supported in the future. - Added "Byte Counter" indicator to the status bar to give some feedback when downloading directory contents. - Program now attempts to retain creation original date and time for downloaded files. * Changes in Version 0.00.018 (04/18/96) - Fixed the description feature. It's been broken for a while and I just noticed it! * Changes in Version 0.00.017 (04/17/96) - Added icons to the transfer dialogs. - Changed drag and drop operations from list view to work as "move" operations so that the TEMP dir is cleaned up automatically. - Added code to the "Connect" dialog to set the focus to the profile name combo box after an "Add" or "Remove" operation. - Fixed bug that was caused by fix for older Windows NT FTP servers. Newer NT servers list directory contents differently. - Fixed bug caused by code attempting to update transfer dialog after the dialog was closed. * Changes in Version 0.00.016 (04/09/96) - Program now detects if "Quick View Plus" is installed and reflects this in the "File" menu and context menus. Right now I'm doing this manually, but I hope to add support for any installed "Shell Extension Context Menu Handlers" in the future. For more info about "Quick View Plus" check out http://www.inso.com - Added "Attempts" and "Retry Delay" options to "Connect" dialog to allow customizing these settings on an individual connection basis. These settings default to the settings from the "Options" dialog. * Changes in Version 0.00.015 (04/08/96) - Fixed some bugs on the "Connect" dialog. If you added a new profile, or deleted a profile, the "Profile Name" combo box was not being reloaded. If you changed the name of the current profile, and then saved it or selected a different profile from the combo box, the combo was not updated with the new name properly. - Fixed a bug with the "File" context menu where the "Save As" and "Open" options were not functioning properly. * Changes in Version 0.00.014 (04/07/96) - Fixed a bug that was causing the program to lock up or GPF if you opened the file menu without being connected. This crept into 013 when I added the "Create Shortcut" option to the file menu. * Changes in Version 0.00.013 (04/07/96) - Changed "Autoload File Descriptions" to default to on. - Added "Autoload File Descriptions" size limit to "Options" dialog. This was previously hard coded to 50k. - Implemented asynchronous host lookup call to prevent non-responsiveness during connect sequence. Program was blocking on host lookups before and would not respond or repaint itself until the host name was resolved. - "Options" dialog is now a tabbed dialog with "General", "Paths", and "Connection" pages. - Fixed several problems with date and time field. Program now displays appropriate date and time for current locale. Also, this fixed a problem with sorting by date. - Changed the transfer animations. - Fixed a memory leak that was occurring when a download was cancelled. - Changed "bps" indicators to read "bytes/sec" for more clarity. - Fixed another bug that was causing Log pane to scroll to the right for long lines. - Worked on optimizing download throughput. Program is now performing at least as well as other popular FTP clients. - Added "transfer complete" and "transfer incomplete" notices to FTP log stream. The "transfer complete" notice also displays throughput information. - Added "Create Shortcut" option to "File" and context menus to create a shortcut to a folder on the desktop for the currently selected folder. - Added "Connection Retry" feature. This allows user to configure the number of times to try to connect, and the number of seconds to wait between each try. - Added "Enable sound" option to "General" options page. This allows the user to enable or disable any sounds generated by the program. - Added sounds to connection progress. Program will now play the default "Ding" sound on connecting, and the default "Asterisk" sound when a connection attempt fails. (The specific sounds are configurable via the control panel.) I'll be adding additional sounds in the future. Please let me know where you would like to see sounds added. - Added "Automatically reconnect" option to "Connection" page. This option is currently disabled, but when completed it will allow the program to automatically reconnect if the connection fails. * Changes in Version 0.00.012 (04/05/96) - Added keyboard accelerators to "Connect" and "Options" dialogs. - Added "Window" menu to allow quick switching between Tree, List, and Log views. - Added "Vertical Split" and "Horizontal Split" options to the "Window" menu to allow maniplating splitters via the keyboard. - Added confirmation dialog for delete operations. - Changed "Name" caption on "Connect" dialog to "Profile Name" and "Host" caption to "Host Address" for greater clarity. - Fixed bug where context menu initiated by Shift-F10 was not properly positioned over selected item. - Changed context menus so that they are more context sensitive depending on what is selected. - Added "Save Log As" option to file menu. This allows the FTP log file to be saved. - Removed trailing line feed chars from FTP Log view entries. This eliminates that annoying blank line that used to appear at the bottom of the Log view. - Added "Folder Shortcuts". You can now drag folders to the desktop or shell windows to create a shortcut to the FTP site! I plan to add the ability to drag folders from the Tree view as well. - In implementing the shortcut feature I added a command line option as follows: //Profile Name!/Initial/Path The command line option must start with two slashes, followed by the profile name. The initial path is optional, but if included, must be separated from profile name by an exclamation point. If a path is not specified, then the profile's default path is used. If this syntax ends up being too confusing, I'll probably change it. - Added "Shortcut" button to "Connect" dialog to provide an easy way to add a shortcut for the profile to the desktop. - Added an option to automatically highlight the last line in the FTP log. - Added the rest of the possible "Sort" options to the "Arrange Icons" menus. * Changes in Version 0.00.011 (04/04/96) - Changed connect dialog so bytes transferred is displayed as "(xxx of xxx bytes transferred)". - Fixed tooltips on delete and properties toolbar buttons. - The main program icon got hosed when I added the "Go to" feature. It's now been changed back to the correct icon. - Added code to make the TAB key cycle through the Tree, List, and Log views. - Added code to auto select the first item in the List view when it is loaded. - Fixed bug that was causing Tree and List views to not regain the focus when the program lost and regained focus. - Changed the transfer buffer sizes to 1024 bytes. This seems to help the throughput some, but there's probably some more tuning to do to find the right size. This may become an option. * Changes in Version 0.00.010 (04/03/96) - Fixed bug in connect dialog where garbage was sometimes being appended to strings stored in the registry. - Fixed bug where if invalid initial path was specified in the connect dialog, it would still be added to the tree view. - Password field on "Connect" dialog now hides the password based on whether or not "Anonymous" is selected. - Backspace key now changes to parent directory. - Fixed bug where tree view was not properly tracking the current directory when CD was changed via method other than via tree control. - Added "Go to" command on new "Tools" menu to allow user to go to any specified directory. - Upload dialog now has same indicators as download dialog. (i.e. file size, bytes transfered, etc.) - Added "Bps" (bytes per second) indicator to transfer dialogs * Changes in Version 0.00.009 (04/01/96) - Implemented background downloading. This works by opening a new FTP connection, so it takes a little while before it starts up. Background transfers are only functional for "Save As" and are not available for "Open" and "Quick View" commands due to dependancy issues. Eventually I may come back to this and try to make it work somehow. - Added option to "Options" dialog to allow user to specify the file size threshold for background transfers. - Added code to release the mouse capture after a drag drop operation to fix bug where mouse was not working during download initiated by drag drop. - Added "Add" and "Save" buttons to "Connect" dialog to add and save entries. - The "Remove" button on "Connect" dialog is now functional. - Added filename being transferred to download dialog caption. - Added file size to filename label on download dialog. - Added bytes transferred status indicator to download dialog. - Fixed the sorting routine for the list view. It's been broken since I added the "Description" column. If you clicked on the size column, it sorted by description. Also added the rest of the columns to the sort routine so you can now sort by "Permissions", "Owner" and "Group". - Added "Properties" dialog for item detail information. - Fixed a bug that was making the tree view folders turn yellow before they had been actually opened. This bug was also slowing down the process of filling the tree view. * Changes in Version 0.00.008 (03/28/96) - Program now saves the list style to the registry so that it is restored the next time you run it. - Added an option to specify the default download path to the options dialog. This only effects the "Save As" command. - The "FTP Log" pane is now read only. A side effect of this is that it turned gray. I'm not sure if I like it or not so let me know what you think and maybe I'll force it back to white. - Added an "FTP Log" option to the view menu to easily toggle the "FTP Log" pane on and off. Actually all it does is resize it. - The "FTP Log" pane now attempts to remain the same size when the main window is resized. - You can now cancel a connection attempt by selecting "disconnect" from the file menu or clicking the "disconnect" icon on the toolbar. - Fixed the "connect" icon on the toolbar so that it is disabled during connection attempts. - Removed horizontal scroll bar from "FTP Log" pane. - Transfer dialog is now closing the data socket when the cancel button is selected. This is just a quick fix to kill the transfer, you will probably have to disconnect. - Changed the toolbar icons for "connect" and "disconnect". - The options dialog's caption is now "Options" instead of "Dialog" - DUH. - Fooled around with the main icon a little. Whadaya think? * Changes in Version 0.00.007 (03/26/96) - Program now uploads files dropped on it to the current directory. - Added quick fix for crash if you tried to close the program while it was busy doing something. - Now loading version info from resource info. - Changed EXE name to ftpx.exe. - Added my email address to the about dialog. - Added "initial path" option to connect dialog. - Fixed bug related to new "initial path" option where tree was not working properly if the parent directory had not been listed before. Known Problems -------------- 1. The file formats for the INDEX files on the various FTP sites vary widely, so you can help by using the "Autoload File Descriptions" feature and reporting any problems you have with it. Currently the program only looks for INDEX, INDEX.TXT, and 00_INDEX.TXT, so if you find other filenames or ones that don't load in correctly email them to me. Don't forget to include the address of the server that you get them from so I can test the fixes. 2. If you drag a group of files to the desktop, you sometimes have to hit F5 to refresh the desktop for them to show up. I have a fix for this that I'll be implementing soon. 3. Resume is always attempted for drag and drop downloads. 4. The program only warns about overwriting the initial directory when transferring complete directory structures. I'll add overwrite prompting in a future build. 5. High color icons, like the ones that you can set up with Microsoft Plus! are not utilized. Hopefully I can fix this eventually. Planned Changes and Additions ----------------------------- 1. Will probably add an option to the menu structure to allow you to load in an INDEX file manually, so you don't have to wait every time you change directories. 2. Add drag drop support from list view to tree view. 3. Add some sort of notification when an action fails, i.e. if the user doesn't have rights to rename a file. This would be useful if you have the "FTP Log" pane sized small enough where you can't see what's going on. 4. Add context menus to the Tree view. 5. Might add a menu option to expand and collapse tree view branches. 6. Add option to allow changing file permissions from properties page. 7. Add proxy and firewall support. 8. Might add some sort of directory synchronization mechanism to allow transferring only files that have changed. This is way down the road! 9. Add option to change the "FTP Log" font. 10. Might add an option to allow selection of files via wildcards. 11. Add options to allow customization of the order of the columns in list view. 12. Add some sort of capability to move files from one remote folder to another. 13. Add an option to disable the prompt that asks you if you are sure you want to delete a profile from the connection dialog. 14. Add the ability to delete files when you drag them to the recycle bin. 15. Add "Sounds" page to the options dialog to allow for custom sounds. 16. I've looked into adding the local drives into the tree view, and it is also possible to integrate FTP Explorer with the Windows 95 shell. These would both require major changes to the fundamental architecture of the program, so I've decided to finish what I've started and release a stable, full featured stand alone product before delving into anything like this. 17. Add the ability to drag files from one FTP Explorer instance to another. 18. Make the goto-dialog store directories only when pressing save. 19. Choose directory option for creating shortcuts. 20. Add a "Treeview" toggle to the "View" menu. 21. Add the ability to disable auto-refresh of directories after uploads. 22. Allow filters to be specified such as *.txt and only display/download files that match the filter. 23. Add an "Upload To" option. 24. Add the ability to "LIST" the entire directory tree of a site with one command.