"File Lister Express Written By Peter Zelezny" ______ ___ ______ -= / \ / \ / \ =- / _____/ / __/ / _____/ -= / /_ / / / /__ =- / __/ / / __ / ___/ -= / / / /__/ \ / /___ =- / \ / / / \ \___/ o \________/o \_______/ o File Lister Express, accelerating MAX's BBS into a new world. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .:::::::::: Updates/changes to Docs by Glen Martin :::::::::::::. .--------------. | Introduction | `--------------' FLE is a total file base replacement for Max's BBS. If allows Max's to use longer descriptions and a whole lot of other great features (read the section on features!). After seeing DFB (another filebase replacement) I decided I'd write my own because I wasn't quiet satified with it, so here is the result, FLE, the most powerfull filebase replacement for Max's BBS :) .--------------. | Requirements | `--------------' * MAX's BBS v1.52+ (or compatable release, I use v1.54) * Kickstart 2.04+ * Reqtools.Library * 2 MegaBytes of free space (more preferrable!) .------------. | Disclaimer | `------------' This programme and all its sub-utilities are provided "as is", the author cannot be held responsible for any damage it may cause to hardware, software or anything else, such damage is the responsibility of the user. .--------------. | Installation | `--------------' ** STEP ONE ***----------------------------------------------------- Firstly, unpack the archive to RAM: and click on the FLE_Install icon. Once the installation process has finished, read below: ** STEP TWO ***----------------------------------------------------- LINES YOU MUST ADD TO THE "TEXT" SECTION IN MAX'S BBS: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 Rest of marked files won't be sent due to lack of credits^M%Z 348 [H]elp [M]ark [V]iewArc [I]nfo [S]top [CR]Continue 347 ^[[20;3HUse this description?^[[K 346 ^M^MLog off after downloading? 345 ^[[20;3HEnter file description...[?? Lines Max]...^[[K 344 ^L^M^MIncomplete Transfer(s): 343 ^[[0;1;44m 342 ^[[20;3HUse your upload signature [Y/n]? 341 ^[[0;1;31m Not enough credits!^[[0m 339 ^[[20;3HSaving to list...^[[K 338 ^M^MSaving to list...^[[K 182 153 ^[[34m * line 153 is the color of the "no. of downloads" in the file list. * line 343 is the color of the numbers in the file list. * line 182 must be made blank ?? = No. of lines you set in your config for description. ** STEP THREE ***---------------------------------------------------- Now you'll have to configure the "MENUS" part of Max's BBS. Menu functions you'll have to change with a door: Listfiles [] Dnload Upload EditMarkList UnMarkAll Newfiles [] FileGraph FLETextList If you specify a areanumber of 0 when using the Listfiles door it'll list ALL files that the user has access to. EG: You have an option like "[L]ist Files in area 26" then you'd configure MAX's BBS like this: KEY FUNC EXTRA LOWAXS HIGHAXS FILE/PATH/DOOR L 34 0 0 10000 FLE: Listfiles 26 Simple enough eh? (just time consuming changing them all.) Have a look at FLE_Menu_cfg.iff, it will make it all clear! :) Other Info: ~~~~~~~~~~~ Now all you have to do is go through all your menus and change any functions that have something to do with MAX's old filebase. Also you have to run the "Newfiles" door somewhere in the login sequence, this could be in maindoor.text or simular. ** STEP FOUR ***----------------------------------------------------- Now its time to edit all the files found in the "doors:filebase/config/" directory. Just load them into your favourite text editor, they are all self explanatory and most have little comments in them to assist you. ** STEP FIVE ***----------------------------------------------------- You must now assign FLE. Edit your user-startup and add the line "Assign FLE: BBS:Doors/FileBase/" Always use the path FLE: when executing a program. eg: FLE:dnload ** STEP SIX ***------------------------------------------------------ You must, if need be, edit your sections.txt located in your config directory. After you have done this, run the FLE_Optimiser. This will create the needed files in Files/DataFiles directory to use FLE. ** STEP SEVEN ***---------------------------------------------------- Run FLE_config and edit the configuration details. .----------. | Sections | `----------' SECTIONS.TXT FILE: ~~~~~~~~~~~~~~~~~~ The installation program will create this file for you but future editing of the file and changing the "FLAGS" is up to you. STRUCTURE: ~~~~~~~~~~ SECTION NUMBER ACCESSREQUIRED , MAXFILES, MAXMEGS MAXDESCLINES , MAXDIZLINES , MAXFILENAMELENGTH NAME OF SECTION FILE PATH FLAGS USER FLAGS Example: 20 10, 0, 0 <-- zero means unlimited 12, 12, 16 Fun And Games Files:Games/ <-- must have "/" or ":" on the end! ---Y-------- -------- <-- must be eight chars * NOTE: IF you add any new sections, RUN the FLE_Optimiser straight after. Currently FLE has a max of 500 file sections but I'm sure thats enough! What the hell are the flags? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ They are different options you can enable in each area. ------------Y ^^^^^^^^^^^^^Exclude a section from newfiles check? (Y or blank, no '-') ||||||||||||_______________________ Force to newfiles check? |||||||||||________________________ When too many MEGS - Notify SysOp? ||||||||||_________________________ When too many FILES - Notify SysOp? |||||||||__________________________________________________ ||||||||________________________________________________ | |||||||___________________________________________ | | ||||||____________________________________ | | Allow U/L |||||________________________ | Exec Upload | Signatures? ||||_________________ | | Master File | |||___________ | | | Exec Area ||_____ | | | | Upload File Allow | | | | | Password?| | Unpack Description Creditless | | File_ID? to filenote? Area? New Files Are Files Public? Free? If you want the option, just stick in a "Y" and if you don't then put in a "-". The above example "---Y-------" would enable only unpacking of file_id.diz and nothing else. Allow Password: ~~~~~~~~~~~~~~~ This lets users users to password protect their uploads, so when a user wants to mark that file in the list, they'll be asked to enter the password. Description to filenote: ~~~~~~~~~~~~~~~~~~~~~~~~ This adds the first 70 letters of the description to the uploaded file's "FILENOTE". If you don't know what a "FILENOTE" is then read your AmigaDOS manual. Creditless Area: ~~~~~~~~~~~~~~~~ The creditless area is an area where users do not get any credits for uploading to it. You may want this for a text files area or some other area which you don't want users uploading to to just get some cheap credits. Execute Upload Master File: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is for the more experienced FLE user. You can get FLE to execute a command line after a user has uploaded a file, this could be to remove banners from a DMS, add an advertisment for your BBS and even check CRC. The Master file is "Doors:filebase/config/MastUploadExec.TXT" (an example is included) which has this format: EXTENSION FLAGS BAD FILE TEXT MESSAGE BAD FILE KEYWORD TEXT MESSAGE COMMAND LINE COMMAND LINE .... - Example: .DMS NN n/a n/a Removing banners from DMS file... Please Wait... dh0:c/RemoveFront %F dh0:c/RemoveAdverts %F - .LHA NY File has found to have a bad CRC and will be deleted! BAD CRC FOUND CRC in progress... Lha t %F - You can have as many command lines as you like but make sure you put the "-" to seperate it from the next extension. Also, you have one auto insert, which is %F and works exactly like in the DIZ unpacking commands, where the program finds %F it will replace it with the filename just uploaded. You can also put escape codes in the TEXT MESSAGE aslong as you don't exceed one line. If one line is not enough for you then you can specify an ansi filename and put a "<" infront of it, eg: [] NewFiles [] What is the layoutnumber option you ask? Well firstly this argument is optional, if you leave it out completely it'll use the default. The layout is basically how the filelist will look, currently there are only 3 options, here's an example of each: LayOut 0 (default) 01 SOMEFILE.DMS 234k 24-10-95 +------------------------------------+ | FILEID.DIZ HERE | LayOut 1 01 SOMEFILE.DMS 234k 06 241095 +------------------------------------+ | FILEID.DIZ HERE | LayOut 2 01 SOMEFILE.DMS +------------------------------------+ 234k 24-10-95 | FILEID.DIZ HERE | Notice that layout 1 has a more compressed date format and also shows the number of times the file has been downloaded (6 times in this case). .---------. | Headers | `---------' These are ansi screens you can show above file lists. They have to be placed in the Doors:filebase/headers/ directory with the filename: XX.ANS XX = Section Number. Example: I want to display an ansi above file area 23 then I'd call the ansi file "doors:filebase/headers/23.ans". There are 3 other header files you can use: Doors:Filebase/headers/.ans Global List Doors:Filebase/headers/NewFile.ans New Files Check Doors:Filebase/headers/LnkXX.ans Linked Areas No. XX (eg: Lnk1.ans) .-----------------. | Linked Sections | `-----------------' This feature is simular to MAX's LNK1, LNK2 etc feature. You may want to have options like: [G]imme All IBM Files [L]ink All Amiga Files To do this you'd configure MAX's BBS like this: KEY FUNC EXTRA LOWAXS HIGHAXS FILE/PATH/DOOR L 34 0 0 10000 FLE:Listfiles LNK1 You can configure as many links as you like, there is no limit. Once MAX's MENUs are configured like the above, you'd have to edit a file called: Doors:filebase/config/LNK1.TXT The file has this format: LINK NAME RESERVED LINE (leave this line as "-") SECTION NUMBER SECTION NUMBER SECTION NUM... .............. Example: Amiga Files Linked - 20 21 22 23 24 25 With the above example, the lister would list sections 20 to 25 when asked to list LNK1. This is a short cut way of doing it: Example: Amiga Files Linked - 20-25 28-37 The above example would list areas 20 to 25 and 28 to 37. Also, you can have a file list header - read the section on headers. .--------. | FileEd | `--------' Name: FileED Type: CLI/Shell Program (NOT A DOOR!) ~~~~~ ~~~~~ This program is pretty much self explanatory but I'd just like to point out a few features of it. Arguments: ~~~~~~~~~~ FileED [] Public Screen Name feature: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ This can be used to make FileED open it's window on a screen other than workbench. Examples: FileED TERM FileED DIRWORK_1 You just have to find out the exact screen name of the screen you want to use and type it in as FileED's first and only argument. * Note: Public screen names are case sensative. The "Edit Desc" button in the FileED window: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ** Attention : The file FileED in this archive uses the editor CED ~~~~~~~~~ instead of the unstable Diz-Ed! You can now edit file descriptions using CED, much easier ... * Note: You can go through the file list using the up and down cursor keys. .------------. | FLE_Config | `------------' Check NewFiles AXS: ~~~~~~~~~~~~~~~~~~~ Minimum access required to check for new files. Assume AXS: ~~~~~~~~~~~ If this box is ticked, a user's ratios/limits will change if their access level in MAX's normal user editor changes. It will change in accordance to the UserDefaults.TXT config. [now works] Upload Log: ~~~~~~~~~~~ Create an upload log or not? [now works] .--------. | UserEd | `--------' UserED is for editing ratios/limits of users. Membership: ~~~~~~~~~~~ If the "Date of membership expiery" is set to a valid date, FLE will down-grade the current user to the "Time limit after expiery" and "Access level after expiery" once that date has come. Conditional Change: ~~~~~~~~~~~~~~~~~~~ Changes current user settings to a another axs. [now works] User Flags: ~~~~~~~~~~~ Feature not yet implemented yet. [lazy Peter ;-] * Note: You can go through the user list using the up and down cursor keys. .-----------. | New Files | `-----------' Newfiles [] You have to run the "Newfiles" door somewhere in the login sequence, this could be in maindoor.text or simular. Also, for users to edit their check for New Files flag at log in, you must do this, you'd configure MAX's BBS like this: KEY FUNC EXTRA LOWAXS HIGHAXS FILE/PATH/DOOR N 34 0 0 10000 FLE:NewFiles CONFIG .---------. | Utility | `---------' Name: FLE Text List Type: Max's BBS Door (NOT CLI) ~~~~~ ~~~~~ FLE Text List allows your users to download the filelist. It is sent to them as a ASCII text file or Amiga GUIDE file (their choice). Of course, only file areas to which they have access will be included in the list. The door also allows the users to compress the list before downloading, and the pack commands and archive types are stored in Config/PackFileCMDS.TXT. Arguments: ~~~~~~~~~~ FLETextList EG: FLETextList Ram:MYBBSFILELIST Do not put an extension on the filename because a .TXT or .GUIDE extension will be added automatically. Also, choose a directory in which there'll be enough room. A filebase with 1,000 files will take about 100,000 bytes. .---------. | Utility | `---------' Name: FLE Tic Adder Type: CLI/Shell Program (NOT A DOOR!) ~~~~~ ~~~~~ If you do not recieve netmail or echo mail then this program is useless to you. It adds any incoming files (files from your nets) to the normal file list. It does this but processing the *.tic file which gives the program the file's description. FLE_TicAdder The section number is the section you want all inbound files to go into. Note: This program would normally be run in a script after mail import. .------------. | MAXs Doors | `------------' Name: ShowFLEAnsi Type: MAXsBBS Door ~~~~~ ~~~~~ Arguments: ShowFLEAnsi This door is used to display ansis onto the remote and local screen. The difference is that it gives you need auto inserts to play with. Maxs normal %x auto inserts will also work in conjuction. -*- AUTO INSERTS AVAILABLE -*- &FR File Ratio &KR Kilo Byte Ratio &FC File Credits Remaining &KC Kilo Byte Credits Remaining &KU Kilo Bytes user has uploaded &KD Kilo Bytes user has downloaded &DL User's daily download limit &US User's upload signature &PR Protocol Name (not just the number!) &PB This user's personal best CPS rate &MA Does the user have marked files, returns "Yes" or "No" &NF Number of active files .-----------. | Arguments | `-----------' Doors: ~~~~~~ Listfiles [] Dnload Upload EditMarkList UnMarkAll Newfiles [] FileGraph FLETextList SignEditor Utilities: ~~~~~~~~~~ FileChecker LostFilesCheck FileDupCheck FLE_TicAdder FLE_Config FLE_Optimiser [] FileED [] UserED .-------------. | Maintenance | `-------------' There are five programs which you can run from WB or CLI. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FileED - Add/delete files, make files public etc UserED - Change user's Ratio's and Daily Limits FLE_Optimiser - Maintenance (like optimising MAX's MSG base) FLE_Config - GUI Configuration program. FLE_TicAdder - Add inbound files to list. There are also three very handy checkers: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FileChecker - Check to see if files in the list actually exist on your harddisk. It also fixes filesizes. LostFilesCheck - Checks for files that are on your harddisk's filepaths but have not been added into the list. FileDupCheck - Checks for duplicate files. First it checks to see if there are any files in your filebase with the same filesize, if yes then it compares the files and if it finds they are the same (might just have a different name) then you are given the option to delete one. This program must be run from SHELL or CLI, but NOT WorkBench. The FLE_Optimiser: ~~~~~~~~~~~~~~~~~~ I suggest you run this once a month or so, its quiet a lengthy process so don't do it too often (3 minutes per 1,000 files). ** NOTE: You must run FLE_Optimiser when you add new sections. .---------------. | Multiline BBS | `---------------' FLE is completely multiline BBS compatable. All you have to do is create some extra directories. You may have noticed that FLE created a files:Tmp1/ directory, so all you have to do is create more like that for your other nodes. Example: You are running a 2 line bbs, then just create files:tmp2/, the directory for node 1 would have already been made. NOTE: tmp0 directory is for local mode. .----------. | Features | (All are optional, you don't have to have them!) `----------' * Extracts file_id.diz from LHA, LZH, LZX, DMS and ZIP archives (and you can add your own!! eg: ZOO, ARC, ARJ etc) * Very Fast file list scroll, doesn't have to search for files in your chosen area like some program I know (starts with D, ends with B and the middle letter is F :) ) * Extraction of file_id.diz is optional in each area * Multiline file descriptions (45 x 12 maximum, but you can set your own limit). * RemoteAccess style tagging system (very quick) * New files check for users is optional at every login * External FileBase editor (makes use of the fantastic ReqTools.Library for File Requests, String Requests etc). * Three external CHECKERS: * FileChecker - Checks for file existance and fixes filesizes. * FileDupCheck - Checks for duplicate files under different names. * LostFilesCheck - Check for files on HDD that arnt in the file list. * External User editor (for editing Ratios/Limits etc) * Logoff after downloading feature. * File passwords (user may want to password protect an upload) * Max of 500 File sections (leaves all 100 MAXS sections free for mail) If anyone needs more sections, then that can be arranged (a version with more sections would take more memory). * Keeps record of top CPS rate for each baud rate * Gives CPS report after download. * Truncates annoying long file names when they are uploaded * Notifies users of incomplete uploads * Saves marked files even if user drops carrier (optional) * User can tag/mark up to 100 files (not 30 like MAXs!) * Option to have file areas in which files are free * Option to add file descriptions to AmigaDOS filenote * Option to have "Creditless" file areas (read docs for more info) * Kilobyte Ratios (and/or Normal File-Ratios, and/or "Credit" system) * Option to execute a command after uploading, this could be to add a BBS Advert into the archive or anything you want! This is of course optional in each area (you may want it for some areas and not for others or a different command to execute for a different section, anythings possible with FLE!) * Upload Signatures (like on Ami-Express BBS Software) * All of the normal list-files options: Sorted List Reverse List Forward List Newfiles List Search String * [V]iew Archive <- this option appears while listing files! * Option to change the View Archive command lines (you may want to add some extra archive types) * All colors/text strings and ansi files are editable by the SysOp to make the whole system look how YOU WANT IT. * And last, but not least, IT LOOKS BLOODY BRILLIANT :-) Extra Doors/Utilities Included: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FLETextList - Makes a ascii text file of your FLE filelist for users to download in a chosen archive format (txt, lha, zip... etc). The list is updated in real time (not once a day) and only areas the user has access to will be included. This door can also create a Amiga Guide list (if the user chooses that option). FLEFileGraph - Simular to a program called "SectionSummary" but this one is for FLE only and generates a graph of the file sections (to see which section has more files). Run this as a Max's Door. FLETicAdder - Adds inbound files to the real file list SignEditor - This program is for users to edit their upload signature. Run this as a Max's Door. * More FLE doors/utils will be heading your way soon! (FREE OF CHARGE!) .-----------. | Debugging | `-----------' .------------------------------+---------------------------------------. | Problem | Solution/Comment | +------------------------------+---------------------------------------+ | Get an "unknown error" if I | | | try to download or upload | Run NEWFILES in the login sequence. | +------------------------------+---------------------------------------+ | When a user selects download | | | his/her marked files appear | | | and then disappear and | This user is LOW on KB credits | | doesn't send any of them | | +------------------------------+---------------------------------------+ | Users need to hit return, | | | when downloading, between | Make TEXT LINE 182 Blank | | each file | | `------------------------------+---------------------------------------' .---------------------------. | Comments/Suggestions/Help | `---------------------------' .-----------------------------------------------------------------. | GREMLiNS BBS +61-3-9870-4393 (24 hrs) | | Mail: Glen Martin at Fido 3:638/116.0 or Maxs 86:303/214.0 | `-----------------------------------------------------------------' .---------------------------------------------------------. | For technical help, EMail the original author: | | | | codyc@ozemail.com.au | | | | This is a temporary EMail address so good luck! :) | `---------------------------------------------------------' .-----------------. | Acknowledgments | `-----------------' ReqTools is an Amiga Shared Library written by Nico François. Edited by Glen Martin -- No doubt I've missed sumthing? [grin] ...