BBS LiSTer V2.00 An Allfiles list creator for QuickBBS and ProBBS SysOps Copyright ½ 1993/94 by Robert Darling. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This program is released into the Public Domain with no guarantees. You use this program at your own risk and I accept no responsibilty for any damage that may be caused by use or mis-use of this program. The source code remains my copyright. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In this archive you should find the following files: BEST_BBS.TXT - A text file about my BBS! *8) LISTER.PRG - The program! LISTER.CTL - An example control file. SEARCH.CTL - An example search list control file. LISTER.TXT - This text file describing LiSTer. UPDT_xxx.TXT - Details of the latest additions. ===================================================================== Please refer to the example control files for use of commands and switches that are described in this text file. ===================================================================== Welcome to yet another ALLFILES creation program! I designed this one for myself as I found all the others far too slow. Seeing as it has served me well I thought I would let it loose on you other SysOps! I would like to hear your opinions if you choose to use this program instead of one of the many others available - I am interested in why YOU like it. Also, any suggestions are most welcome, and if it's a good one and I can incorporate it then I will. *8) Right, enough waffle from me. Let's get on with the explanations. Firstly, it will require a control file to allow it to work. An example is included in the archive. It also requires a search control file to tell LiSTer where to look for your files. I chose not to use the FLSEARCH.CTL file so that problems with security ratings are avoided. It also allows you to add paths that are not available on your BBS! So, what are all the commands, and how do you use them? Simple..... --------------------------------------------------------------------- ALLNAME < Name of Allfiles list > """"""""""""""""""""""""""""""""""" Enter the name you wish your allfiles lists to be called. You may add an extender, a .TXT extender is automatically added if none is included. NEWNAME < Name of Newfiles list > """"""""""""""""""""""""""""""""""" As above, only the name you wish your newfiles list to be known by. LATEST < Number > """""""""""""""""""" The number of days to count new files for. This also switches on the newfiles list generator. Without it the newfiles list won't be created. KEEPLIST """""""" Instructs LiSTer to keep the ascii versions of the allfiles listings. KEEPPATH < Drive > < Pathname > """""""""""""""""""""""""""""""" Shows the path and directory where your allfiles listings are kept. PROBBS """""" Use this switch if you are running ProBBS software. INCDATE """"""" This switches on the file date indication in the allfiles listings. INCSIZE """"""" This switches on the file size indication in the allfiles listings. INCSTAT """"""" This switches on the statistics indications, such as number of files, total files, etc. MISSING-INFO """""""""""" This allows an extra line to be added to the statistics shown at the foot of your Allfiles listing. This will inform you of how many files have no descriptions available. SHOWMEM """"""" This simply allows you to see the memory remaining on your system while LiSTer carries out it's job. TOPTEN < brackets > """""""""""""""""""""" This will append a list of the top ten most downloaded files from your system with the statistics at the foot of your main allfiles list. The brackets that your download count is enclosed by must be shown, and there must be no space between them. This command also acts as a switch in the group definitions, see below. ProBBS users must use the brackets too! For ProBBS users the brackets are inserted into the resulting lists with the download count obtained from your FILES.DAT files. If there are brackets in your actual file descriptions after conversion from FILES.BBS files then these will be ignored. LISTTOP < $number > """"""""""""""""""""" Insert your chosen number directly after the $ symbol. This may be inserted in both the main control file area, or within one or more group definitions. This keyword is only necessary if you wish to have more than ten files in your Top Ten list, i.e. you can now have a top 15 instead! Maximum is 50. Default is 10. TOPTITLE < text > """""""""""""""""" Allows you to enter a title for your Top Ten lists. If this isn't used then LiSTer will insert it's own title. You are limited to a maximum of 74 characters, if you use more than this then the line will be truncated. WRITE TOPTEN < drive > < path > """"""""""""""""""""""""""""""""" Do not add a filename. LiSTer will produce these for you. For the main top ten listing it will output a file called TOP_n.TXT where 'n' is replaced by the number of files in your listing, as set by the above command. The group lists will be given the name TOP_n_g.TXT where, once again, 'n' represents the number of files, and 'g' represents the group letter. Be careful if you are mixing lowercase and uppercase letters for your groups - the filenames can only be given an uppercase letter!!! FOURTOPS """""""" If you include this switch, in addition to the WRITE TOPTEN command, of course, then four types of charts are produced, ASC,VTM, VTC, and ANS. Without it only the ASC version will be written. For QuickBBS SysOps it is a simple thing to have these files written to your TEXT folder, and use menu option 45 to display them. I don't know what you do on ProBBS systems! OMIT and ENDOMIT """""""""""""""" To make the Top Ten list(s) a bit better you also have the option to not include any filenames that you do not wish to appear in your Top Ten listing, such as your ALLFILES.LZH file, etc. To do this, put the filenames between the lines OMIT and ENDOMIT. Each filename must be on a seperate line. For example, OMIT ALLFILES.LZH ALLFILES.TXT NEWFILES.LZH ENDOMIT These three filenames will not appear in any of the Top Ten lists. This need only be included in the main body of the control file, it will apply to all lists produced. FIXDATE """"""" Some files seem to get peculiar dates sometimes, for instance, if you ZIP up a file when you have not set your clock! LiSTer will alter the date in your lists to the current date if it comes across one of these dates. However, LiSTer will not alter the actual file's date unless you include this switch. USE GROUPS ONLY """"""""""""""" This switch will allow LiSTer to only use group settings, and not create the main allfiles and/or newfiles listings. Note that it must be typed exactly as shown, including the spaces. See later for description of groups. AREAS < Number > """""""""""""""""""" This command should not really be necessary but it may be useful. LiSTer can only read so many file areas, it defaults to 250. This should be more than enough for most people. However, I know that there is a least one SysOp out there who probably has more areas than this so by using this command you can raise the number of file areas accordingly. Just make it any figure, so long as it is larger than the number of file areas that you have! LOGFILE < Drive > < Path > """""""""""""""""""""""""""" The drive + path are optional parameters. With no parameters LOGFILE just acts as a switch and will write a log file to the directory that LiSTer is run from. The log file will be written to if LiSTer finds a file without a description for any reason. It is quite handy as it reports the path and file name so you should be able to locate the problem area fairly quickly. It is also used to report errors to if they should occur. DO NOT ADD A FILENAME - it will be called LISTER.LOG! HEADER < Drive > < Path > < Filename > """"""""""""""""""""""""""""""""""""""""" This points to a text file to use as a header, such as an about file, or welcome screen from your BBS. NEWHEADER < Drive > < Path > < Filename > """"""""""""""""""""""""""""""""""""""""" This points to an alternative text file for your newfiles list. If not used then the main header text file will be used instead. MAGIC < Drive > < Path > < Filename > """"""""""""""""""""""""""""""""""""""""" I included this command so that an additional text file may be added directly after the header. The reason I chose this name??? Well, I use MUPDATE to compile my list of magic filenames, etc. so I include the list of MAGIC names that it creates in my allfiles listing. You can actually point it to any other ascii text file that you wish to include. FOOTER < Drive > < Path > < Filename > """"""""""""""""""""""""""""""""""""""""" This points to a text file to use as a footer which will be appended to your lists. Use it to write disclaimers, extra info. about your BBS, etc. LZHLIST """"""" Instructs LiSTer to LZH the allfiles listings. ARCLIST """"""" Instructs LiSTer to ARC the allfiles listings. ZIPLIST """"""" Instructs LiSTer to ZIP the allfiles listings. PACKARC < Drive > < Path > < Filename > """"""""""""""""""""""""""""""""""""""""" This points to the directory containing your ARC.TTP program. You need to define the full path and filename. PACKLZH < Drive > < Path > < Filename > """"""""""""""""""""""""""""""""""""""""" This points to the directory containing your LHARC.TTP program. You need to define the full path and filename. PACKZIP < Drive > < Path > < Filename > """"""""""""""""""""""""""""""""""""""""" This points to the directory containing your ZIP.TTP program. You need to define the full path and filename. Using Groups in LiSTer. """"""""""""""""""""""" OK, LiSTer is pretty powerful! It may use groups to allow several lists to be created with just one program run. This makes LiSTer extremely useful to those SysOps who create different lists for different levels of users, mainly those who are running in one or more of the various mail networks. To make use of this feature you MUST run LiSTer on a drive with enough space to contain the ascii versions of all the lists that it is to produce. LiSTer does not check the drive space before writing files, it would slow it down dramatically. However, should you run out of disk space LiSTer should not just lock up your computer, it should exit with an errorlevel associated with the actual error. This will leave your BBS running if LiSTer is run from a batch file - it just means that your Allfiles lists will not be updated! OK, the following commands are those that you can use for groups. They must be placed between a heading of 'Group x' where x represents the letter associated with the group, and the word GroupEnd. The letter associated with the group is case dependant so beware. I have only catered for a maximum of 26 groups so you can create up to 27 allfiles and 27 newfiles lists. I can't see anyone ever needing more than this, but I can soon increase it! ;-) Here is a list of commands then: Group x ALLNAME NEWNAME KEEPPATH KEEPLIST TOPTEN LISTTOP TOPTITLE WRITE TOPTEN ARCLIST LZHLIST ZIPLIST HEADER NEWHEADER MAGIC GroupEnd OK, that's it. Note that each group is treated seperately, and is independant of the main allfiles listing. All commands are used in exactly the same way as described above, except TOPTEN. This is just a switch, there is no need to define the brackets again, this must have been done in the main body of the control file. You must define the header, newheader, and magic associated with group lists or they will be produced without any. The archiver can be different in any group, and you may use one, two, three, or none of the archiver methods for each. The general switches in the control file will apply to each group, e.g. 'LATEST 30' will mean that all newfiles lists will include files that have appeared at your system in the last 30 days. The footer text, if defined, will be included at the foot of every list, I didn't see any point in making that one different too! The group(s) need to be included in your search.ctl file. To do this just add a % with your group letter(s) listed immediately behind it. e.g. D:\QBBS\UTILS\ %AB If an area does not contain a group letter then the only file this area will appear in is the main allfiles and newfiles listing. So, if you want to create protected, known, and general allfiles listings then make the main listings the protected, and assign groups to those that you wish included in the other lists. A word to ProBBS users. """"""""""""""""""""""" The search.ctl file provides the paths to where your files are stored. However, you do not include headers for these file areas in your FILES.DAT files so a couple of extra bits have been programmed in for you. A line may look something like the following: D:\UTILS\ {D:\PROBBS\UTILS} [Atari ST Utilities] %KO The first part is the path to your file storage area. The second part allows you to define a seperate path to the FILES.DAT file, just in case you are using a CD Rom drive (lucky you!). The third part will cause a nice title to appear at the head of each file list. And lastly, the group(s) definition as described above. The use of the square and curly brackets is a must if you need to define these. If you do not include a title for your file areas then LiSTer will kindly do so for you. --------------------------------------------------------------------- OK, that's about it. But, before you run it, a little note on how it reads the FILES.BBS files. All lines are read in until an empty line is encountered, or a filename is found. LiSTer makes it's decision as to whether it is a filename or not by looking to see if a '.' appears in the first 9 characters. Bear this in mind when entering your titles! An empty line must not even contain a space. This allows you to have as much space as you want before the actual files are listed to draw up your titles. These titles are included in your allfiles listings. Please be careful! If you have an empty line between, say, two lines of the title then put a space in it!!! The easiest way to ensure it is correct is to leave just one empty line immediately preceding the first of the filenames. Any lines above it must have at least one space on them. One more thing - the filenames FILES.BBS, FILES.BAK, and FILES.DAT will be omitted from the lists. I hate seeing them in my lists! ;-) Well, I hope this is clear to you! *8) That's it. Have fun, and don't forget to tell me what you think of it. All the beST, Robert. Contact numbers: """""""""""""""" FolkeSTone QBBS - +44-(0)303-249306 NeST - 90:104/0 - 90:104/100 AtariNet - 51:504/0 - 51:504/1 TurboNet - 100:107/6 FishNet - 777:300/2 Email - Robert_Darling@standard.embassy.com A Miracom Dual Standard Plus allows connections at up to 14,400 baud, 24 hours a day. LiSTer history. """"""""""""""" 20-06-93 - V1.0 released. """"""""""""""""""""""""" 22-06-93 - V1.1 released. """"""""""""""""""""""""" One major bug fixed. If a file area with no files (other than FILES.BBS) was encountered then LiSTer would crash. Also, a couple of minor bug fixes, mainly cosmetic. No files escape a description of some sort now! *8) 18-10-93 - V1.2 released. """"""""""""""""""""""""" Just a cosmetic change. The date format is now displayed in DD/MM/YY format. This is so that I could add an asterisk after a date to show new files on the BBS in the last 'xx' days (set by the command LATEST in the control file). 1.12.93 - V1.30 released. """"""""""""""""""""""""" Had a call from Mark Butler saying that LiSTer stopped working before it came to the end of his file areas. It turned out that he had around 237 file areas!!!!! I had geared up LiSTer with 100 maximum, more than enough for most people - I thought. Default is now 250 but this can be changed. I have also added a few more options and even managed to speed it up in the process. *8) Added the following: AREAS x FOOTER LOGFILE MISSING-INFO NEWHEADER 7.12.1993 - V1.31 released. """"""""""""""""""""""""""" LiSTer may now be started with parameters passed from the command line. Format is: LISTER.PRG -cCONTROL2.CTL -sSEARCH2.CTL where CONTROL2.CTL is the name of the alternative contol file you wish to use, and SEARCH2.CTL is the name of the alternative search control file you wish to use. Both parameters * MUST * be passed. 10.12.1993 - V1.32 released. """""""""""""""""""""""""""" Mark Butler called me again - "Can I have LiSTer create just the ALLFILES list but not the NEWFILES one?". Of course you.... erm....! ;-) Well, now you can! Just omit the statement NEWNAME and that's what you will get - no NEWFILES list. *8) However, you can still use the command latest so that new files in the last 'x' days will be marked with a '*' in the Allfiles list. While I was in the source code I decided to do something about removing the '*' from the NEWFILES listing - it bugged me! They were all new, that was the idea of creating it. So now it's gone. *8) Also fixed the formatting of lines as any line that didn't include date AND / OR file size were not done correctly. 12.12.1993 - V1.33 released. """""""""""""""""""""""""""" Thanks to Mark Taylor I managed to find another bug. It would only appear if the logfile option was set. If a missing file was found it would be reported and then no more files for that area would be reported! Hopefully fixed now. 15.12.1993 - V1.34 released. """""""""""""""""""""""""""" Mark Butler phoned me and mentioned that all the log entries were terminated with CRs but no line feeds were issued. Due to the various different ways that the text file could be viewed it was awkward to output a line that would look right in every situation. However (!) I have altered the way in which I log entries so hopefully that is now fixed. I also discovered that if the log file was activated but nothing was recorded a logfile of 0 bytes would be created. Fixed. 6.1.1994 - V1.35 released. """""""""""""""""""""""""" Received a netmail from Karl Foley saying that the NEWHEADER option didn't appear to be working. Then found that I had lost my source code to v1.34 which didn't help matters. However, I have brought the source code back up to date (not too difficult as I remembered the changes from reading this text file). I also found the bug causing the above command not to work - I forgot to set the required switch, oops! Thanks Karl... 12.1.1994 - V1.36 released. """"""""""""""""""""""""""" Daron Brewood pointed out that LiSTer did not like file sizes greater than 999999 bytes! Oops - hopefully fixed now. *8) 16.1.1994 - V1.37 released. """"""""""""""""""""""""""" Oops! I buggered up the output of the newfiles list after making the adjustment to the file size reporting! Now fixed. 01.2.1994 - V1.38 released. """"""""""""""""""""""""""" Incorporated ProBBS compatibility. 23.2.1994 - V1.39 released. """"""""""""""""""""""""""" Corrected bug that made list look ugly when reading from desktop! It looked fine using any of the text file viewers that are available. ( Thanks Mark Taylor - I didn't forget! *8) ) One minor cosmetic change - the title screen doesn't scroll off the screen now. *8) 26.2.1994 V1.40 released. """"""""""""""""""""""""" My thanks go to John Carolin who kindly provided me with the information about the FILES.DAT structure for ProBBS, and the permission to release LiSTer with ProBBS compatibility. With his information I added the following feature: ProBBS allows the FILES.DAT file to be kept seperate from the main files area so that it will be compatible with CD-ROM drives in the future. To allow this feature to be incorporated into LiSTer I have altered the search.ctl file. This only applies to ProBBS and will not affect QuickBBS systems. Finally, for this release, I added the FIXDATE function. (Thanks to Mark Taylor for the idea.) 28.2.1994 - V1.41 released. """"""""""""""""""""""""""" Oh dear! Found a bug with the Fixdate routine. It would only be noticeable with the FIXDATE switch on. Amazing how one simple spelling mistake can cause the machine to bomb! 12.3.1994 - V1.42 released. """"""""""""""""""""""""""" Mark Butler reported a strange fault. LiSTer would crash when he was running seperate control files from the commandline, but it didn't seem that we could find anything wrong. We eventually traced it to missing file descriptions. When LiSTer found a description missing it would try to open the logfile to report it. However, if the LOGFILE command wasn't in the control file then it didn't know the name of the file to open!! Whoops, fixed now! 19.3.1994 - V1.50 released. """"""""""""""""""""""""""" Finally got around to incorporating group control. Also included some error trapping. Just to complete the package I even managed to get around to updating the main docs. *8) 21.3.1994 - V1.51 released. """"""""""""""""""""""""""" Fixed the group Headers / Newheaders bug. Only one was ever read! 23.3.1994 - V1.60 released. """"""""""""""""""""""""""" Altered the method by which I read the title of an area. Previously, if it was contained on one line only then it would not be written correctly. Also added a new TOPTEN command, now the allfiles lists can display a list of the ten most popular files in that list. And, finally, included the biggest / smallest file statistics for each list produced. 26.3.1994 - V1.70 released. """"""""""""""""""""""""""" Fixed a couple more bugs, and added a couple more new features. 31.3.1994 - V1.80 released. """"""""""""""""""""""""""" Fixed a couple more bugs! Added some more new commands! 3.4.1994 - V1.90 released. """""""""""""""""""""""""" Hopefully the final version! I released the last version with a couple of bugs that I'd forgotten to remove after testing things out. You probably won't have noticed them anyway. I have also fixed a few other bugs that were reported to me by Mark Williams, thanks Mark. *8) Only one extra switch added, it was really only disigned for me to keep an eye on things but I thought I'd leave it in anyway. I've now updated this text file so it should include coverage of all the options open to you with LiSTer. It is a pretty flexible program, the one that I consider the best available for it's purpose. I just hope you agree. 15.4.1994 - V2.00 released. """"""""""""""""""""""""""" This IS the final version of LiSTer. There is a couple of minor bug fixes and just one addition, requested by David Malins. You may now create your own titles for your Top Ten charts. See main text. I'd just like to say thanks to the following people, who have tested and are using LiSTer, Mark Taylor, Daron Brewood, Karl Foley, Simon Gardner, John Curtis, Mark Williams, Dave Houldey, and David Malins. If I've forgotten anyone, sorry!