ftp.nice.ch/pub/next/connectivity/infosystems/Archie.2.18.s.tar.gz#/Archie

AppDoc.tiff
 
AppIcon.tiff
 
AppName.tiff
 
Archie.iconheader
 
Archie.service
 
ArchieApp.h
[View ArchieApp.h] 
ArchieApp.m
[View ArchieApp.m] 
ArchieApp_FtpHosts.m
[View ArchieApp_FtpHosts.m] 
ArchieDaemon.subproj/
 
ArchieIcon.tiff
 
ArchieServer.h
[View ArchieServer.h] 
ArchieServer.m
[View ArchieServer.m] 
ArchieServers.strings
 
ArchieSession.h
[View ArchieSession.h] 
ArchieSession.m
[View ArchieSession.m] 
Archie_main.m
[View Archie_main.m] 
CodeHelp.rtf
[View CodeHelp.rtf] 
DirNotifySnd.snd
 
English.lproj/
 
FTPNotifySnd.snd
 
FTPObject.h
[View FTPObject.h] 
FTPObject.m
[View FTPObject.m] 
FTPObject_Inspector.m
[View FTPObject_Inspector.m] 
File.h
[View File.h] 
File.m
[View File.m] 
FileInspectorInfo.h
[View FileInspectorInfo.h] 
FileInspectorInfo.m
[View FileInspectorInfo.m] 
FileWellView.h
[View FileWellView.h] 
FileWellView.m
[View FileWellView.m] 
FtpFile.h
[View FtpFile.h] 
FtpFile.m
[View FtpFile.m] 
FtpHosts.ps
[View FtpHosts.ps as PDF] 
InspectorInfo.h
[View InspectorInfo.h] 
InspectorInfo.m
[View InspectorInfo.m] 
InspectorManager.h
[View InspectorManager.h] 
InspectorManager.m
[View InspectorManager.m] 
LibClasses.subproj/
 
MainMenu.tiff
 
Makefile
 
Makefile.postamble
 
Makefile.preamble
 
NetrcEntry.h
[View NetrcEntry.h] 
NetrcEntry.m
[View NetrcEntry.m] 
ObjectError.h
[View ObjectError.h] 
ObjectError.m
[View ObjectError.m] 
Object_FTPDaemon.m
[View Object_FTPDaemon.m] 
PB.gdbinit
 
PB.project
 
PVlink.h
[View PVlink.h] 
PVlink.m
[View PVlink.m] 
Pkg/
 
Preferences.h
[View Preferences.h] 
Preferences.m
[View Preferences.m] 
Preferences_Defaults.m
[View Preferences_Defaults.m] 
Query.h
[View Query.h] 
Query.m
[View Query.m] 
QueryNotifySnd.snd
 
Query_Inspector.m
[View Query_Inspector.m] 
README
 
SourceIndex.rtfd/
 
TIFF.bproj/
 
Tiff/
 
appMessages.keys
 
appMessages.strings
 
archie_src.tar
 
errMessages.keys
 
errMessages_ftp.strings
 
errMessages_server.strings
 
format.rtf
[View format.rtf] 
ftplib.h
[View ftplib.h] 
include/
 
obj/
 
prospero.subproj/
 
psfunc.psw
 
tmp.h
[View tmp.h] 
tst.rtf
[View tst.rtf] 

README

Archie - A NeXT specific Archie client

Archie 2.0a is a 3.0 NeXTSTEP analog of George Ferguson's
Xwindow based archie client.  It provides all of its functionality with the niceties of the NeXTSTEP interface, as well as documents and interactive ftp sessions.  The program is based on the query.[ch], ftplib.[ch], and Prospero library subset provided with George's 2.0 beta version of Xarchie.

I am now using RTF source for most of the new classes in the Archie application. The use of RTF in the class implementation files allows for nicely formatted and very readable code. The class header files are still plain text since InterfaceBuilder does not yet parse RTF headers. Compiling the RTF code is accomplished with Rtf_Compiler utilities written by Charles Lloyd. The Rtf_Compiler should be available in the pub/next/submission directory of sonata.cc.purdue.edu.

This version is markedly improved over the previous versions, 1.37 and below.  If you have NeXTSTEP version 3.0, I highly recommend obtaining the new version.  This preliminary release is being made to allow for input on additional features or changes to the current features.  A description of the current features follows.

Archie Documents
	Archie now makes use of documents called  ArchieSessions. An ArchieSession is simply a collection of queries accessible from a single document using a browser interface similar to previous versions of Archie. Any new query initiated from the interface is added to the ArchieSession document. The documents can be saved for later access.  Any expansion of directories in the initial archie server response are saved in the document.
Any number of ArchieSession documents can be open.  Double clicking on an Archie doc opens it in Archie as you would expect.

Automatic Expansion of Directories
	Previous versions of Archie would allow one to obtain a listing of directories returned by the archie server by initiating an FTP session with the host on which the directory resided.  This version does "automatic" expansion of directories by sending another request to the archie server who provided the info on the directory.  This is generally much faster and cleaner.

File Transfers Use Remote FTPD Directly
	I no longer fork a child process which in turns uses the ftp program to retrieve files. I have created a category called Object(FTPDaemon) which provides the methods necessary to interact directly with a remote ftpd server.  The category is based on the ftplib.[ch] files provided with George's Xarchie.

Interactive FTP Sessions
	Once you have received a query result from the archie server, you can initiate an interactive FTP session by selecting a hostname in column 0 and choosing "Connect..." from the FTP menu.  This causes a browser containing the top level files of the host's anonymous ftp directory to be displayed.  At this point you are speaking directly with the remote ftpd.  You can traverse the remote file system much as you can in the Workspace browser.  Selected directories or files can be retrieved using the "Retrieve..." command from the FTP menu.  Any number of FTP sessions can be active.

Support for Opening Files in the Workspace
	One can open files from both the ArchieSession and interactive FTP file browsers by double clicking on a file. Most any type of file that could be opened in the Workspace can be opened from the browsers. A current limitation is that only regular files can be opened. This means that, for example, a remote .rtfd package cannot be opened with Edit.

Current Limitations & Problems
	Not extensively tested - I have gotten all of the features I wanted (with the exception of multiple active queries) incorporated, and my day to day usage is no longer flushing out problems.  However, I have not tried to break program.
	One active archie query - Although I have written the NeXTSTEP portion of the program with support for multiple active archie server queries, I have not yet made the archie / Prospero code from the Xarchie program thread safe.
	Help not complete - There actually is a good deal of help information. The parts not complete include help clicking on interface objects, cross-referencing of the help topics, and setting up the index.
	Sketchy display of links with FTP sessions - Links are displayed in the FTP session browser simply as "link_name -> link_target".  Although links are actually resolved, I just have not tested the display mechanism.
	Drag & drop transfers - I have implemented a file well type of class which allows one to drag a selection from the ArchieSession interface to an application which implements the NXDestination protocol for file names.  Although it does work, it does not work very well.  The problem is that if you drag a file from the Archie interface to a folder in the Workspace, the Workspace asks for the file name prior to getting the file icon actually over the folder. It most likely does this to verify that the file exists.  Since the file does not exist on the local host, I have to initiate an FTP session to obtain a local copy.  The name of the local copy is then placed on the Pasteboard for the Workspace.  During the transfer, the file icon cannot be moved and if you let go without having gotten the icon over the intended folder, the copy operation fails.
	Directories and file packages can not be opened in Workspace - I have not yet added the ability to open directories or file packages (e.g., .rtfd files) in the Workspace.

Send in your comments
	This initial release is to get a number of people using the program so that any remaining errors and problems can be flushed out.  I appreciate the input you have provided for previous versions, and I encourage all to continue to send me suggestions, bugs, no matter how small.

And finally, obtaining Archie
	Both the source and binary may now be obtained via anonymous ftp from the pub/Archie directory of superc.che.udel.edu.  I have placed remote packages for both the source and binary in the pub/submissions directory of sonata.cc.purdue.edu & cs.orst.edu.  A remote package is similar to the normal Installer package except that the archive file is missing.  When you install the pkg file with the Installer application, the archive file is retrieved via anonymous ftp from superc.che.udel.edu.


Scott Stark	Sun Feb 21 20:12:30 EST 1993
stark@superc.che.udel.edu	(NeXT mail accepted)

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