



  DOWNLOAD FILTER VERSION 1.0
	
  (C) COPYRIGHT 1993  Jon E. Estes
  All Rights Reserved
 

  
  Summary:
    
	Download Filter is designed to allow PCBoard sysops to purge their
	download log file of entries for files which are no longer on board
	or entries older than a given date.  It will run on nearly any size
	BBS system, and has a number of options which allow you to customize
	how you want the program to work.



  
  Shareware:
  
    Download filter is distributed as shareware.  You are free to use
    the program for 30 days for evaluation purposes.  If you wish to
    continue using the program beyond the evaluation period, please
    register the program.  The registration fee for DLFilter is $5 (US).
    To register, please follow the instructions in the file REGISTER.TXT.

  Legal Stuff:
  
    Use of this software for any purpose whatsoever constitutes your
    unqualified acceptance of the following statements.

  	The author makes no warranty or representation that the software
  	will be error free.  The author disclaims any warranties, either
    or implied, including but not limited to any implied warranty of
    merchantability or fitness for any particular purpose.

    The user agrees to take full responsibility for the selection of and
    any use whatsoever made of the software.

    IN NO EVENT WILL THE AUTHOR BE LIABLE FOR ANY DAMAGES WHATSOEVER
    (INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF BUSINESS PROFITS,
    BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION OR THE LIKE)
    ARISING OUT OF THE USE OF, INTERRUPTION IN THE USE OF, OR INABILITY
    TO USE THIS SOFTWARE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF ANY
    POSSIBILITY OR LIKELIHOOD OF SUCH DAMAGES.




  
  Basic Information & Requirements:

	
	  To use Download Filter, the program must be able to find
	PCBOARD.DAT either in the current directory or in the DOS path.  
	The program has been tested under PCBoard 14.5 & 14.5a.  It has not
	yet been tested under version 15.  If you are running version 15, I
	suggest using the "-l" option.  I plan to release an updated version
	soon after version 15 is released.

	  The program will scan the current download log, purge entries, and
	create a new download log file.  After completion, the program will
	rename the new file with the same name that the prior one had.
	The original download log file will be preserved and renamed with a
	.OLD extension.  By default, PCBoard names this file DOWNLOAD.TXT,
	but this is not required for proper operation of Download Filter.

      Download Filter has two basic modes of operation which are
    dependent on the amount of memory available and the number of files
    on your system.  The default mode (quick mode) holds all of the
    required data in memory.  Slow mode does some of the work on disk,
    and as such, will perform more slowly (as the name implies).
      With 550k of RAM free, quick mode should work on a system with up
    to approximately 31,000 files on board.  If you attempt quickmode
    and Download Filter cannot fit your entire file list into memory, it
    will halt and give an error message suggesting the use of the "-s"
    (slow mode) option.

	  I would suggest running Download Filter after each time you
    perform file maintenance.  With the -o and -n options, it could be
    run in the nightly event to trim out entries more than a certain
    number of days old, though this is probably overkill (weekly would
    be a more probable solution).

      To provide a rough gauge of performance, Download filter can
    filter a 600k download log on a BBS containing ~4000 files in about
    3 minutes ('286-12, no cache).  On a '386-33 with a 2Mb cache, the
    comparing the same 600k log against 2500 system files takes about 20
    seconds.  If you run the program with the -n (no scan) option in
    combination with the -o or -p (by days or date) options, processing
    time will be significantly shorter.	 Bear in mind that using the -s
    (slow) option may increase times by as much as 15x.






  Command Line Options:
    
    NOTE: Case is significant in all command line options.
    
    The simplest option is no options at all:
    
    DLFILTER <enter>
    	
        This will scan your system for all files which are located in
		all of the download paths which you have specified in your
		PCBoard setup (including all conferences); therefore every
		downloadable file on your board will be scanned.  Each entry in
		the download log file will be compared against the files on the
		board, and any entries not found will be deleted from the log
		file.
		  This option automatically detects and uses .idx files (e.g.  a
		%mainfile.idx in your download path listing) for path
		information, but does a physical search of the paths for file
		information (so your .idx file need not be up to date).
	
	-l filename[.pth]  	  Use path list file.
	   
	                         Example: DLFILTER -l PATH.LST
	                                  DLFILTER -l makeidx
	
	    Instead of scanning your PCBoard download paths, Download
		filter can also make use of a file containing download path
		information.  The format is the same as that used for the
		MAKEIDX program supplied with PCBoard, i.e.  an ASCII text file
		containing a list of pathnames that you want to be scanned.
		Download Filter automatically recurses subdirectories, just as
		MAKEIDX.  
		  For example:
		  
		  	C:\PCB\UPLOADS     
		  	D:\DL01
		  	E:\
		  	
		  The first and second lines scan the listed directory (and all
		subdirectories).  The third line will scan drive E: in its
		entirety.  Download filter is not sensitive to trailing
		backslashes (i.e. E:\ is treated the same as E:).
		
		  The path file name must be listed directly after the -l
        option.  If no extension is provided, .pth is assumed.

        NOTE: This option runs somewhat slower than using the PCBoard
              download path information.  The only real reason for
              running this option would be when there are certain
              directories or drives which you want to drop all download
              log entries for (CD-ROM's, for example).




              
    -s  Slow Mode option.              
                             
                             Example:  DLFILTER -s
    
          This option tells Download Filter to use the disk to hold the
        bulletin board file information.  This option should only be
        needed in situations where memory is at a premium or when you
        have a very large number of files on the system.
          This option should really only be run if you know you have
        more than 40,000 file on board, or if Download Filter tells you
        that you should try this option.
  		  The -s option has no effect if the -n option is used (since no 
  		file list is generated).
      
        NOTE: This option runs CONSIDERABLY slower than the default.
              Its performance can be helped greatly through the use of
              an XMS or EMS disk cache program.	 Even with a cache, be
              prepared to take a nap during this one.
        
        
    -o<dddd>  Purge files Older than <dddd> days.
    
                             Example:  DLFILTER -o365
    
          This option purges all entries made more than <dddd> days ago.
		Note that there is no space between the "o" and the number.  The
		example above will purge all log entries more than 1 year old.
		
	-p<dd/mm/yy>  Purge entries made Prior to <dd/mm/yy>.
	
	                         Example:  DLFILTER -p01/01/93
	                         
	      This option will purge all log entries made prior to the date
		listed.  Note again that there is no space between the "p" and
		the date.

		NOTE: If both the -o and -p options are listed, the last one on
              the command line will be used.
		
    -n  No File Scan
    
                             Example:  DLFILTER -o365 -n
                             
           This option allows you to filter the download log based only
		the age of files, skipping the scan for existing files.  It may
		be used with either the -o or -p options.  (It is also legal to
		use it by itself, causing DLFILTER to do nothing at all).






  Whereto from here?
  
  		I welcome your comments and suggestions regarding this program
    (and its documentation).  future enhancements may include report
	generation, having the program auto-restart in slow mode if memory
	runs out, and/or the use of XMS for swapping.  I am also working on 
	speeding up the "slow" mode significantly.
        I also welcome your suggestions for other 'nifty little
    utilities' that you would like to see.

  Acknowledgements:
  
	This program was written in C++ and compiled using Borland C++ 2.0.

    PCBoard is a registered trademark of Clark Development Company, Inc.
    Borland C++ is a trademark of Borland International. 

  The Author:
  
      I can be contacted at the following address:
      
      Jon E. Estes
      65 Davis Rd.
      Chicopee, Ma, 01022
      
      I also monitor the SmartNet(tm) C and Chat conferences.  If you
      choose to contact me this way, please address your message to
      Jon Estes.  I can also be reached via the BBS below.
      
   BBS Plug:
   
      Download Filter is distributed through:
      
      Uncle Hanks BBS  - Home of Uncle Hanks Shareware Reviews
      (413) 527-8977  24hrs, 2400-16800 USR DS, PCBoard 14.5a/10.

      
