ftp.nice.ch/pub/next/connectivity/filetransfer/Yftp.0.564.NIHS.bs.tar.gz#/Yftp/Yftp.0.564

ANNOUNCE
 
BUGS
 
CHANGES
 
Controller.h
[View Controller.h] 
Controller.m
[View Controller.m] 
DBDoubleArrow.tiff
 
DirPanel.h
[View DirPanel.h] 
DirPanel.m
[View DirPanel.m] 
English.lproj/
 
FtpBrowserCell.h
[View FtpBrowserCell.h] 
FtpBrowserCell.m
[View FtpBrowserCell.m] 
FtpConnection.h
[View FtpConnection.h] 
FtpConnection.m
[View FtpConnection.m] 
FtpDirectory.h
[View FtpDirectory.h] 
FtpDirectory.m
[View FtpDirectory.m] 
FtpFile.h
[View FtpFile.h] 
FtpFile.m
[View FtpFile.m] 
FtpFileSystem.h
[View FtpFileSystem.h] 
FtpFileSystem.m
[View FtpFileSystem.m] 
FtpHost.h
[View FtpHost.h] 
FtpHost.m
[View FtpHost.m] 
FtpSession.h
[View FtpSession.h] 
FtpSession.m
[View FtpSession.m] 
FtpSubThread.h
[View FtpSubThread.h] 
FtpSubThread.m
[View FtpSubThread.m] 
Makefile
 
Makefile.postamble
 
Makefile.preamble
 
NXmystd.h
[View NXmystd.h] 
NXmystd.m
[View NXmystd.m] 
NiftyMatrix.h
[View NiftyMatrix.h] 
NiftyMatrix.m
[View NiftyMatrix.m] 
ObjectError.h
[View ObjectError.h] 
ObjectError.m
[View ObjectError.m] 
PB.project
 
README
 
SortedList.h
[View SortedList.h] 
SortedList.m
[View SortedList.m] 
Yftp.iconheader
 
Yftp_main.m
[View Yftp_main.m] 
appicon.tiff
 
appicon64.tiff
 
arrow.tiff
 
connectIcon_nib.tiff
 
default.cache.gz
 
dimple_nib.tiff
 
gator.tiff
 
kill.tiff
 
knob_nib.tiff
 
parser.h
[View parser.h] 
parser.lm
 
questionmark.tiff
 
services.text
 
trackKnob_nib.tiff
 
version.pl
[View version.pl] 
version.strings
 

README

WARNING: This is (still) a BETA Version !!! Use at own risk !!!

Hello,

This is Release XXXXX of YFtp. Look at the end of this file to see what's new.

YFtp is a graphical FTP-Client. Some of its features include:

- Yftp now supports term ! (in a seperate binary release, see below !)
- filesize in the browser.
- a persistent directory cache, that lasts between sessions
- automatic reconnect after lost connection
- reget !!
- directories and README's have higher priority than filetransfers
  (filetransfers are interrupted, when these have to be transferred)
- U can set a default dir for every ftphost (e.g. /pub/next)
- Only directories that have been modified are retransferred, when
  the cache times out.
- NEW: A Services menu entry !!
  For example, if Jolly writes in comp.sys.next.announce
  about his new toy:
  "This program can be found on ftp.informatik.uni-muenchen.de
   in /pub/comp/platforms/next/Tools/workspace/FastConsole.0.02.NIH.bs.tar.gz "
  just:  - select that line
  		 - choose from the menu Services->Yftp->Get
  and Yftp will login to that host, get the file and you can try it out :)
- several other nice stuff, which is too small to mention here

Changes since 0.447
- Processes Panel shows the queue of transfers
- Kill Button to Abort the current transfer
- "ask for password" option when doubleclicking host

Bugs fixed since 0.447
- crashes when downloading many files at once
- NLST failed
- rereading large directories caused it to crash
- crash when "timeout (900 seconds): closing control connection."


Some of the non-features (or not-yet-features) are:

- interrupting filetransfers sometimes doesn't work (hell knows why)
- Still no nice preferences.
- Still no 'put file'


How to use:

After you start the program, you see a list of default ftphosts.
You can add hosts to the list, remove and rename them, and, most
important, login to them :)
(You can login to as many hosts as you want at the same time, but if
you login to the same host more than once, the display isn't updated
correctly. Have to fix that. And please, don't start Yftp twice !
You may corrupt your cache and configuration data if you do)

Clicking login brings up a login panel. Here you can enter the userid
and password, you want to use for the ftp transfer. Password is entered
invisible. Or you can just use the default setting, which is "ftp"
for the username, and "yourusername@" for the password. You can also
change the default login for this host. Please remember, that the default
password you set is stored unencrypted on disk, which is generally not
a good idea. The password you enter for login (not the dafult) isn't stored anywhere.
(at least, that's what I tell you :) If you don't trust me, look at the
source)


After this you get a window with a big browser in it. In the statusline,
you will probably see something like "Connecting to xxx.xxx.xxx.xxx".
After Yftp has connected to the ftpserver and logged in successfully,
it transfers the root directory and displays it. You can now
browse through the whole directory structure of the server.

Every directory is only transferred once, and then put into the cache.
There are three different arrows that indicate directories:

thin black          : you have never visited this directory before, it
                      will be transferred, when you select it.

normal NeXT arrow   : this dir is already in the cache, nothing will be
					  transferred, when you click on it.
					   
double arrow        : this dir is already in the cache, but probably out
                      of date, so it will be retransferred when clicked.


In addition there can be two icons in front of every file. The gray
square one means, this file is in the queue of those to be transferred,
and the round one means, this file is new or has changed
(after a cache refresh). This is very useful with the 2_WEEKS_NEW
directory on peanuts :)

If you doubleclick a file, it will be copied to the local harddisk,
and "open"ed afterwards. If you select one or more files, and then
press GET, the files will only be copied, but not opened. If you
doubleclick directories, they will be transferred, whether they are 
in the cache or not.

Directories (and files with README in its name) have generally
priority over normal files. When a filetransfer is in progress,
and directory should be listed, the transfer is interrupted, and
resumed afterwards.

MainMenu:

"set local path" allows you to choose a local directory, where the
ftp files are saved.

"set remote path" remembers the current remote working directory, so when
you later connect to that same host again, you will end up in the same
directory.


Other odd stuff:

When the connection somehow breaks, or is lost, YFtp tries to reconnect
and resume the filetransfer. (up to three times)

The double arrow (for directories) actually represents two cache states. It appears
after the cache date for the directory times out (which is defined by UPDATETIMEOUT 
in FtpDirectory.m and is currently set to three hours) This doesn't mean, that the
whole directory is retransferred every three hours ! First the modification date
of the remote dir is compared to the one in the cache, and only when they differ,
its acually transferred. (because the modification date is only accurate to the
minute, it can happen, that you miss modifications that appeared directly
after you transferred the directory. If you think this happened, you can
manually retransfer it. In any case, a directory is automatically retransferred
after 2 weeks (FORCEDUPDATETIMEOUT)).

Services and such: When you use the Services Get command, Yftp
tries to find out what file and hostname you want in the following way:
First it tries the kind used by WWW, URL like "ftp://ftp.next.com/pub/NextAnswers",
then it tries the old form most people use, like "ftp.uu.net:/pub/linux"
and then it looks for filename and hostname seperately just somewhere in the
text. Dont rely on Yftp to figure out for you what you want, select as few
text as possible, the parser is actually very stupid and creates funny hostnames, when presented with too strange texts.

Term:
If you want term support, you either have to recompile the application with term enabled (see below) or email me. It's not compiled in anymore, because most people don't need it, and it makes the distribution a lot bigger.
I have been told, It_Just_Works(TM). It shouldn't break anything for people who
don't have term.
But I have seen some strange crashes, and I don't know why. I assume
term isn't threadsafe, but I don't know about it. The term people didn't
answer my question till now, so if anybody would like to investigate this
any further, I would appreciate it.

Compilation:

The newest version of Yftp can always be found on ftp.cis.uni-muenchen.de:/pub/yoda/.
If you want to compile Yftp for yourself, you need MiscKit and term(optional) installed.
MiscKit is available on:
    cs.orst.edu:/pub/next/sources/objects/MiscKit1.2.6.tar.gz
    sonata.cc.purdue.edu:/pub/next/submissions/MiscKit1.2.6.tar.gz
    ftp.et.byu.edu:/pub/next/misckit/MiscKit1.2.6.tar.gz
    ftp.informatik.uni-muenchen.de:
        /pub/comp/platforms/next/Developer/objc/misckit/MiscKit1.2.6.s.tar.gz
or whatever version is the newest.

Yftp now uses term. If you want to compile with term, you have to change
two things:
- define TERM in FtpSubThread.m
- add the libtermnet.a library to the project.


Thanks to (in no specific order):

Scott Hess for DirPanel
Jayson Adams for NiftyMatrix
NeXT for making this wonderful black computer and then dropping it
somebody unknown on the net for the icon
Trey Matteson(NeXT) for the Graph example
Gatorftp for making me want to write this program
Gene Roddenberry for Star Trek
Jolly and other people on the net for suggestions and help
Don Yacktman and all the other people for MiscKit (esp. MiscCircularSlider)
soon H. Scott Roy for IconKit :-)
My Mother for being there
And all other intelligent lifeforms in the galaxy (are there any ?)


And:

If you have any comments, suggestions, bug reports, or unused 100$ bills
flying around, they are greatly appreciated !!


Have fun, and may the force be with you !

yoda@cis.uni-muenchen.de (Marc Guenther)

---------

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.