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 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 Purge files Older than days. Example: DLFILTER -o365 This option purges all entries made more than 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
Purge entries made Prior to
. 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.