MaxFile/PM - VERSION 1.20 A FILES.BBS Manager for Presentation Manager Portions of the header files used in compilation are: Copyright (C) 1992 by Scott Dudley Copyright (C) 1993 by Aki Antman Copyright (C) 1994 by Marco Maccaferri MSGAPI portions of the Announce Files option are: Copyright 1991,94 by Scott J. Dudley. All rights reserved. "Squish" and "Maximus" are trademarks of SCI Communications. From the Development Team of: Craig Morrison - MaxFile/PM Development 1:201/60@fidonet.org Ronald Van Iwaarden - MaxFile/2 Development 1:104/338@fidonet.org Special Thanks go out to: Mark Kimes For putting up with my never ending questions and general bull-headedness when it comes to programming under OS/2. Elliott Goodman Beta Tester Philip Perlman Beta Tester Ronald Van Iwaarden Cohort in crime and Beta Tester --- OS/2 Service Pack and Beta Version Information --------------------------- !!!! NOTICE TO OS/2 SERVICE PACK USERS ­­­­ The incompatibility problems experienced with the service pack have been addressed. MaxFile/PM should now run on stock 2.1 GA code and 2.11 whether it be 2.10 with the XR06200 level CSDs or the 2.11 SE. I make *NO* garauntee that MaxFile/PM will run reliably under OS/2 version 2.11. IBM broke OS/2 for many, many people when the CSDs were released for the XR06200 level. MaxFile/PM will run reliably under the Performance Beta I, at least it has for the testing that I have done. --- What's New --------------------------------------------------------------- This is a complete, from the ground up, rewrite of MaxFile/PM. We are starting fresh again. This text file is by no means a comprehensive set of instructions on the operation of the program. However, it is enough to get us started and going in the right direction. Once most of the initial problems get ironed out I will be updating this document and producing a new online guide. Right now I'd rather work on getting the program running as well as possible, then I will concern myself with getting the documentation complete. MaxFile/PM is NOT that difficult to use, the most difficult part is going to be getting the program configured. --- Forward ------------------------------------------------------------------ MaxFile/PM is a FILES.BBS manager that runs under Presentation Manager. While it was written with the Maximus-CBCS in mind, any BBS software package that uses the standard FILES.BBS format is supported. A quick but less than comprehensive list of the features are: 1. Drag and Drop between file areas 2. Adopting orphan files 3. FILE_ID.DIZ import 4. Rearchiving files 5. Sorting by: Name Date Size Description 6. In-place editing of file descriptions 7. Renaming files 8. REXX Macros --- Registration ------------------------------------------------------------- I'm going to keep this short, sweet and to the point. It is $25 to register the program. The only sort of "crippling" you will find in MaxFile/PM is that you can not run the All Files Generator in batch mode. Registering the program stops the initial Program Information dialog, thus also allowing for unattended operation. Please print out and read the REGISTER.FRM file that is included in the archive for more information on registering the program. Registration also provides me with the incentive to keep working on the program, it's all up to you folks that use the program. 'Nuff said... --- Support ------------------------------------------------------------------ If you need to contact me about the program I can be reached in a number of places. NetMail will get you the fastest response, but I read the OS2PRODSUP, OS2BBS and MUFFIN conferences everyday and intend on answering any questions posted there. There is also a local conference on my BBS called MFILEPMSUP that you are more than welcome to poll for. I *will* support MaxFile/PM, all you need to do is ask. I will respond to you in the same manner you contact me, with certain exceptions.. If you are in Zone 1 and you crash netmail to me, I will return netmail to you in the same fashion. Routed netmail will get a routed response. To those of you in other Zones, I am sorry but the cost of international calls is very prohibitive. If one of you would like to volunteer to hub the support echo in your Zone, I would really appreciate it and it will get you a registered copy of MaxFile/PM. While I will answer questions from those of you who have not registered the program, you will get a much quicker response from me if you have. If your BBS package is not directly supported by MaxFile/PM and you would like me to add it, I need a few things from you or the author of your BBS software. First I need the structure definitions or layouts for the file that holds your file area information. Second, I need a copy of the file that holds the file area information so that I can test the code before I ship it out to anyone. --- Before You Start - READ THIS!! ------------------------------------------- The default installation of OS/2 defines Mouse Button 1 as the left button and Mouse Button 2 as the right button. Please keep this in mind as you read through this document if you have redefined your mouse buttons. MSGAPI32.DLL is *REQUIRED* for this release of MaxFile/PM. A word to the wise here.. BACKUP *BEFORE* USING MAXFILE/PM ! Here comes the standard disclaimer...I don't promise that MaxFile/PM will do anything for you except take up space on your hard drive. While I am fairly certain I have got all the nasties out of it, there is a chance that I may have missed something. So please be safe and backup prior to using the program. Suffice it to say, you have been warned.. :-> --- Configuring MaxFile/PM --------------------------------------------------- To configure MaxFile/PM for use, simply start MaxFile/PM by typing MAXFMPM and pressing ENTER at an OS/2 Command Prompt. The MaxFile/PM Settings notebook will be presented for you, so that you can enter the vital information about your system and BBS setup. The Settings Notebook is where you configure MaxFile/PM so that it fits your particular system. There are a lot of options here, some required, some not all depending on whether you want to be able to use that particular feature or not. There are 5 major categories of information here; Main, Adopt, Archivers, Viewers and Other. Some of the categories have more than one page devoted to them. A detailed discussion of the categories follows. Main - Basic information The Main section of the notebook consists of two pages that contain the information that tells MaxFile/PM the basics about your BBS configuration and how to handle certain options. Main - Page 1 Registration Key Your registration key, if you have one. If not leave it blank. Make sure if you have registered an earlier version of MaxFile/PM that you contact me to obtain a new key. Enter the registration key exactly the same as it is given to you. Registration Name Your name, this works in conjunction with the Registration Key field. MaxFile/PM hashes your name against your Key to see if you really are a registered user. The Registration XXXX fields when filled out properly, stop the Product Information dialog from appearing when MaxFile/PM first begins. BBS Package Four choices here: Maximus Lora SuperBBS Generic Simply select one from the drop down list box. Or type in one of the names in the list above. BBS Directory This is the directory that your BBS software resides in. Enter the FULL path specification. Temp Directory This is the FULL path to an EXISTING directory that MaxFile/PM can use to store temporary files in and use for rearchiving files. Don't use this directory for ANYTHING else while MaxFile/PM is running. EVERYTHING, INCLUDING ANY SUB-DIRECTORIES WILL BE REMOVED BEFORE Maxfile/PM TERMINATES! File Area Data This is the FULL path and filename of the file that contains your file area definitions. For Maximus 2.xx users this will be AREA.DAT, for Lora users this will SYSFILE.DAT, for SuperBBS users this will be FLSEARCH.BBS, for those using the Generic setup this should be the name of the text file you created according the guidelines in the "Generic File Area Definitions" section. Main - Page 2 AutoSave This tells MaxFile/PM whether or not you want your FILES.BBS files automatically saved when you close a file area. If you check this option MaxFile/PM will save the FILES.BBS for you as soon as you close the window associated with a FILES.BBS, if not, it will prompt you and ask if you want the information saved. Header Size For those of you using programs such as DownSort, this option will allow you to tell MaxFile/PM how many lines at the beginning of your FILES.BBS to skip when reading them in. The headers ARE preserved when MaxFile/PM writes out a new FILES.BBS. ED Marker For those BBS packages that support extended descriptions this option will come in handy. Here you tell MaxFile/PM what character is associated with extended descriptions for your BBS Package. This character can not be a space or a dash. Defining this character causes a few changes in the way MaxFile/PM handles your file descriptions. When this option is used, file descriptions are allowed to be up to 1024 characters in length and nothing is stripped from FILE_ID.DIZ descriptions read in from archives. MaxFile/PM does not insert this character in multiple line descriptions for you, you need to do this. If this character is not defined, file descriptions are limited to 255 characters. Default Description You may enter upto 80 characters for a default description. This text will get used any time you Insert, Adopt or drop files from an outside source into a window in MaxFile/PM and those files meet the following criteria: 1, they are not an archive or 2, they are an archive and the archive does not contain a FILE_ID.DIZ description inside of it. File Database Utility The next field is for the filename of your File Database Utility. For Maximus this will be either FB.EXE or FBP.EXE. On my system I have this set to FBP, since the utility is in my path. For Lora-BBS users, this will be FILEIDX.EXE. Please see the "Known Problems" section at the end of this document for more information about FILEIDX.EXE. For SuperBBS users, I don't have a clue. If someone would fill me in on this one I'd really appreciate it! This entry is only required if you want MaxFile/PM to run the utility for you. Run FD Utility The options for Run FD Utility determine when and if the File Database utility will get run. There are three; Always, Prompt and Never. Always will run your file database utility everytime you exit MaxFile/PM. If no changes have been made, it will prompt you before running it. Prompt will ask you if you wish to run it. Do I need to explain Never? :-} Display The Display options control whether or not the file size and date information gets displayed for your files in the FILES.BBS windows. Simply check or uncheck the check boxes to set your preferences. Adopt - Adopting Files Extensions edit control This is a simple edit control that you use to enter in the extensions that you want add to the list box to the right. You may enter upto 3 characters for each extension, wildcards are allowed. These extensions are used while adopting files, anything not defined here will be ignored. Add button After entering an extension in the edit control click this button to add it to the list of extensions in the list box. Remove button This button allows you to remove an entry from the list box. Simply highlight the entry you want to remove from the list box and click here. Auto Adopt This checkbox tells MaxFile/PM if you want it to automatically perform an Adopt when a file area is first opened. Download counters If you want download counters added to the description of files that get adopted, check this box. Currently this is hard coded to [ ], in the future this may be made configurable if enough people ask for it. Archivers - Archiver Information This section causes the most confusion when configuring MaxFile/PM. The best I can do to help is to tell you what I use here on my system and give you a few hints. There are seven pages, one each for; Zip, Arj, Lzh, Arc, HA, RAR and UC2. I don't use HA, RAR or UC2 so you are on your own with these archivers. You will need to enter the executable name and the appropriate switches for each of the actions for each archiver. You should include any switches necessary for recursing sub-directories and if you want to make MaxFile/PM's job a little easier, any switches to tell the archivers to 'move' files into archives when adding to or creating a new archive. Below I will give a short description of each entry and the settings for the archivers I use. You will have MUCH better success with OS/2 based archivers, see below for a work around for DOS archivers. NOTE: Each of the archivers you use must be able to accept filenames on the command line other than just the archive name. Some versions of UNARJ do not allow you to do this. F'REQ GNUNARJ.* from me if you need an updated version that allows filenames. Extract This entry should contain the command and switches necessary to extract a file from an archive. ZIP unzip -xo -U ARJ unarj e LZH lh x ARC arc x Add This entry should contain the command and switches necessary to add files to an archive. ZIP zip -9 -r ARJ not supported under OS/2 LZH lh a ARC arc a List This entry should contain the command and switches necessary to list the files in an archive to standard output. ZIP unzip -v ARJ unarj l LZH lh l ARC arc l Test This entry should contain the command and switches necessary to test the integrity of an archive with the output going to standard output. ZIP unzip -t ARJ unarj t LZH lh t ARC arc v DOS ARCHIVERS You can use DOS based archivers with MaxFile/PM, but for the List and Test entries you will need to create a small BAT file that will redirect standard output to a file called ARC.TXT. Something similar the following will suffice: ---------------SHOWZIP.BAT---------------- @echo off pkzip %1 %2 %3 %4 %5 %6 %7 %8 %9 > ARC.TXT ------------------------------------------ Then use the name SHOWZIP and the appropriate switches in your entries for List and Test. Viewers - File Viewers Here you can define viewers for use with the View function in a FILES.BBS window. Enter the filename and any necessary switches for each of the programs. There are entries for the following file types: GIF PCX JPG TIF BMP Other The 'Other' entry catches anything that is not an archive, GIF, PCX, JPG, TIF or BMP file. I.E, text files. Other - Things I couldn't figure out where else to put. :-) Virus Scanner This should be the name of the program to scan files for viruses, make sure to include and necessary switches. I use McAfee's scanner for OS/2 like so: OS2SCAN /A /NOEXPIRE Shift F6 Shift F7 Shift F8 Shift F9 Shift F10 These five entries are for things I may have overlooked or for some special processing that you would like to do to a file. Enter the program name and any switches they need. When in a FILES.BBS window and you press one of the above keystrokes, the appropriate entry will get started with one of the selected files as a parameter on its command line, this will continue one file at a time until all selected files have been processed. --- MaxFile/PM and External Programs ----------------------------------------- If you have REXX installed you can use REXX command files for any of the external program options. You may also call OS/2 command files. Just remember to save the directory that your command file gets called from and restore it just before your command file gets done. During certain operations MaxFile/PM expects to find a result file in the directory it calls these programs from. The Test and View functions are those times. MaxFile/PM expects to find the file ARC.TXT in the temporary directory these programs are called from, if it doesn't find that file it will not display anything about the files that are being tested or viewed. I had originally stated the MaxFile/PM could directly run DOS applications, well it can but in certain circumstances it takes a little work. For the Archiver Test and Viewer functions, if you use a DOS based archiver you will need to write a small batch file that runs the archiver and directs the output from the archiver to a file called ARC.TXT. As stated above this is the file that MaxFile/PM displays to you for those functions. Please note that what directory the programs start out in WILL vary over the course of a MaxFile/PM session, so don't hard code any references into your command files. --- Generic File Area Definitions -------------------------------------------- To provide support for any BBS system that uses the standard FILES.BBS format for their file listings I have come up with a very simple text file format that will allow you to tell MaxFile/PM how your file areas are defined. The file is made up of a verb that tells MaxFile/PM how many areas it can expect to find in the text file. Each successive line after that verb defines the file areas themselves. A sample file is shown below: ----------------------------- AREAS.CFG sample -------------------------------- AreaCount 5 0 d:\max\file\uncheck d:\max\file\uncheck\files.bbs Unchecked Uploads 1 d:\max\file\max d:\max\file\max\files.bbs BBS Stuff 2 d:\max\file\dos\games d:\max\file\dos\games\files.bbs Dos Games 3 d:\max\file\os2\util d:\max\file\os2\util\files.bbs OS/2 Utilities 4 d:\max\file\os2\apps d:\max\file\os2\apps\files.bbs OS/2 Applications ------------------------------------------------------------------------------- The 'AreaCount' keyword tells MaxFile/PM how many area definitions it can expect to find in the file. The AreaCount keyword must come BEFORE the area definition lines. The format for each area definition line is: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Is a short name to identify the file area. Is the path to the files. Is the full drive:\path and filename of the FILES.BBS for the area. Is a short description of the area. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ You can name this file what ever you wish, just make sure you specify the name of this file for the File Area Data option in the Main Settings Dialog and make sure the BBS Package is set to 'Generic'. --- Using MaxFile/PM --------------------------------------------------------- When MaxFile/PM first comes up a window will be displayed that contains all of your file areas. I will be referring to this window by the term 'File Area Window' throughout the rest of this document. When you open up a file area, a window that is very similar in appearance to the File Area window will appear. This window will contain all the files listed in the FILES.BBS for that area. These windows will be referred to as 'FILES.BBS Windows' from here on out. --- File Area Window --------------------------------------------------------- The File Area window serves two basic purposes. First, it allows you to open FILES.BBS Windows and second, it also serves as a dropping point for files so that you can quickly move files to another file area without having to open the file area. The File Area Window Context Menu: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Open Opens the highlighted file area. Check for Duplicates Scan all file areas for duplicate files. Search... Search selected files areas for a given string. All Files List Generate an All Files List. Outdated Files... Move or delete outdated files. REXX Macros... Execute REXX Macro. Area Sort Change sort order of file area display. Settings... Configure MaxFile/PM for use. Product Information... Displays some information about MaxFile/PM. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ To bring up the context menu for the File Area window, press mouse button 2 anywhere inside the confines of the window. --- File Area Menu/Open ------------------------------------------------------ This menu item allows you to open the highlighted file area. The other ways of opening a file area are: Highlighting the area you want to open and pressing enter or double-clicking mouse button 1 on a file area. If the file area is already open it will be brought into view, even if it is minimized to the Minimized Window Viewer folder. --- File Area Menu/Check for Duplicates -------------------------------------- To check your file areas for duplicate files choose this menu item after selecting the area(s) you want MaxFile/PM to check against all of your file areas. Please note that the scan performed when checking for duplicates does not involve the FILES.BBS files for the areas scanned, it looks at the contents of the download directory for each area. So all duplicates will be found regardless of whether there is a FILES.BBS entry for them or not. However, the files searched for come directly from the FILES.BBS files of the areas selected in the File Area window. So make sure if you have a FILES.BBS window open for one of the areas you will be checking for duplicates from, that you have saved any changes made in that window. The File Area window will be locked open until you close the DupeCheck Results dialog box. This dialog will appear as soon as the file scanning is complete. Inside it you will see two list boxes, the list box on the left contains all the files that MaxFile/PM scanned for, the list box on the right contains a list of area tags for the areas that the selected file on the left resides in. Double-clicking mouse button 1 on an area tag opens the FILES.BBS window that is associated with that file area. --- File Area Menu/Search... ------------------------------------------------- This function is very similar to the Dupe Checker option, with the exception that instead of checking for duplicate files you can enter a string of text that MaxFile/PM will search for in each of the FILES.BBS files for each of the selected areas. First select the areas that you want to search, then bring up the context menu and select 'Search...' A dialog box will come up asking you what to search for. You may enter up to 80 characters. Click ok to begin the search. The search is not case nor position sensitive. Both the filename and description are searched for the text, if the text appears in of these two places a 'hit' will occur. The dialog box that comes up after the search is complete works exactly the same as the dialog box showing the results of the Dupe Checker option. --- File Area Menu/All Files List -------------------------------------------- Probably the most requested feature had to be the ability to generate a list of available files from the FILES.BBS listings. MaxFile/PM will now generate an all files list. It's highly customizable and can be run automagically from a batch file once configured correctly (NOTE: you must register MaxFile/PM to stop the Product Information dialog from appearing.) To use the all files generator interactively, simply start MaxFile/PM and then select the areas from the File Area window that you want included in the listing. Then bring up the context menu and select "All Files List". MaxFile/PM will then process each FILES.BBS and produce a listing under the filename ALLFILES.LST in the directory that MaxFile/PM resides in. Each time you run the all files generator from the context menu, a file called ALLFILES.CFG will be written that contains a list of the area tags for each of the areas in the listing. Do NOT modify this file. The purpose behind this file is to tell MaxFile/PM what areas to include when you run the all files generator in batch mode. If you add or delete file areas, you MUST run the all files generator from the context menu in interactive mode at least once to keep the ALLFILES.CFG in sync with your file areas. I'll put it this way... IF YOU WANT TO RUN IN BATCH MODE YOU MUST KEEP allfiles.cfg IN SYNC WITH YOUR FILE AREAS. To customize the all files generator to suit your tastes, you can create three text files which will be written to your file listing at the appropriate times. The names for the files are: ALLFILES.HDR ALLFILES.FTR ALLFILES.CUS ALLFILES.HDR and ALLFILES.FTR are written verbatim to the file listing at the beginning and ending of the listing, respectively. ALLFILES.CUS is a little more complex. It allows you to insert text into the headers that are written to the listing for each file area. The format of the file is:
is the area tag of the file area header the text that follows it should be inserted into. You may place as many lines as you need to for each area as long as they all follow this format. is checked against the area tag for each area in such a manner that if the tag for the area begins with the tag specified in this file the text will get inserted. A sample .CUS and .HDR file are included in the distribution archive. An example might be of some help here.. You have the following areas: CICA001 CICA002 CICB001 001 002 In your ALLFILES.CUS file you have: CICA Files in this area are NOT freq'able. CIC These files are on my CD-ROM. 00 These files are freq'able anytime but ZMH. CICA would match CICA001 and CICA002. CIC would match CICA001, CICA002 and CICB002. 00 would match 001 and 002. Get the idea? Its rather simple once you get used it. To run the all files generator in batch mode from the command line, specify the -A switch on MaxFile/PM's command line. MaxFile/PM will do its thing and then return to the command prompt when it is done. -a, -A, /a and /A are all recognized as valid switches for this mode of operation. If you have not registered MaxFile/PM please note that the Product Information dialog that appears when you first start the program will severely hinder your ability to use batch mode effectively. --- File Area Menu/OutDated Files... ----------------------------------------- This option will allow you to either remove or move to a file area those files that are older than a certain number of days. The process of taking care of your outdated files begins by selecting the areas that you wish to scan from the File Area window. Now, bring up the context menu and select 'OutDated Files...', you will be presented with a dialog box, this is where you tell MaxFile/PM how to manage the old files. To remove files, select the Kill radio button. To move files to a selected file area, select the Move radio button and then enter the Area Tag of the file area you want the files to go into. The Area Tag you type in MUST exactly match one of the area tags listed in the first column of the File Area window, upper and lower case letters are important here. Now you need to tell MaxFile/PM the number of days old a file has to be before it will be moved or deleted. Either type in the number of days or use the spin button to adjust the number of days to your liking. To give you some indication of the date range you will be working with, the date below the spin button will tell you what the date on the oldest file can be. After entering the above, click OK and sit back and let MaxFile/PM do its thing. If a file area you have selected is open, it will be skipped. Also, if you are moving files, the file area that will receive the dated files will be skipped. --- File Area Menu/REXX Macros... -------------------------------------------- Don't like the way MaxFile/PM does something? Well, now YOU can change it! REXX scripts are now supported. In addition to all the commands available from REXX, there are 20 REXX extensions added by MaxFile/PM so that you can manipulate your files from a REXX command script. A discussion of REXX is well beyond the scope of this document, instead what you will read about here are the extensions that MaxFile/PM adds to REXX to allow you to work with your files. The supplied TESTREXX.CMD file is a sample that shows the syntax and usage of each of the added functions. PLEASE use this file as a guide when you are constructing your macros. REXX commands and programs that communicate with the user via Standard input and Standard output are fully supported by MaxFile/PM's REXX interface. When the REXX interface first starts up a window entitled "MaxFile/PM REXX Output" will appear on your desktop, this window is your means of communication with REXX. The top line of the REXX output window contains a single line edit control that can accept upto 80 characters. When you wish to actually send the typed text to standard input, click on the Send button. Clicking on the Send button when the control is empty sends a CR/LF pair to standard input. The remainder of the output window is reserved for the output coming from your REXX commands and/or application programs. REXX's PULL and SAY commands are fully supported. There are some limitations to what the output window can do though. It doesn't support; reverse tabs, vertical tabs, backspace or cursor movements. For applications that use this type of output or expect to be able to write to the screen using other methods than standard output you are going to need to use the START command or some other similar utility to run them in another session. To stop a REXX script that is running, bring the Main File Area window to the front and pull up the context menu, then select 'Stop REXX' this will halt the script after the current instruction is complete. Listed below you will see the REXX extensions for use with MaxFile/PM, they will be listed by name with a short explanation of each. All the functions return 'ERROR' if something goes wrong. Those functions that aren't meant to return some type of information return 'OK' for success. If a syntax error occurs, processing of the script stops and the error cause can be found in the file REXX.ERR in the directory MaxFile/PM resides in. IT IS YOUR RESPONSIBILITY TO SAVE THE CURRENT DIRECTORY WHEN YOUR SCRIPT GAINS CONTROL AND RESTORE IT JUST BEFORE YOUR SCRIPT ENDS!! THIS IS A MUST FOR MaxFile/PM TO FUNCTION CORRECTLY. MaxFile/PM REXX Extensions -------------------------- MPM_GetVersion() Returns MaxFile/PM's revision or version number. MPM_ClearWindow() Clears the REXX output window. MPM_MsgBox(message, title) Displays a simple message box using 'message' as the text displayed in the message box and 'title' as the title for the message box. MPM_QueryArea([area tag]) Works in two different ways. Called with no arguments it returns the area tag of the first file area listed in the Main File Area window listing. When called with a single argument containing the area tag of an existing file area, it will return the area tag of the NEXT file area in the list. In either case, if an area can't be found it returns 'ERROR'. MPM_QueryAreaList('stemvar') Creates a compound stem variable containing the area tag, description, download path and the full path/filename of the FILES.BBS for each area. The stem variable name is passed to the function as a string. stemvar.0 contains the total number of areas that information has been returned for. An example of how to use this function follows: /* MPM_QueryAreaList() example */ rc = MPM_QueryAreaList('arealist') Say arealist.0' items in Area List.' Say arealist.1.area' is the first area.' Say arealist.1.desc' is the first area description.' Say arealist.1.path' is the first area download path.' Say arealist.1.fbbs' is the first area FILES.BBS location.' MPM_QueryAreaInfo(area tag, '0' | '1' | '2') Queries and returns the specified information for 'area tag.' The level info is as follows: 0 - Area description 1 - Download Path 2 - FILES.BBS Location MPM_DeselectArea(area tag) Detags a file area in the Main File Area window. MPM_SelectArea(area tag) Tags a file area in the Main File Area Window. MPM_OpenArea(area tag) Opens the FILES.BBS Window associated with 'area tag'. MPM_CloseArea(area tag) Closes the FILES.BBS window associated with 'area tag.' MPM_IsAreaOpen(area tag) Returns "1" if the FILES.BBS window associated with 'area tag' is open, "0" otherwise. MPM_SetFDUFlag(area tag) Sets the File Database Utility flag for the FILES.BBS that is associated with 'area tag.' Use this to tell MaxFile/PM that the File Database Utility needs to be run to update your file database after making changes that MaxFile/PM doesn't know about. MPM_QueryFile(area tag[, filename]) Returns the base filename of a file from a FILES.BBS window. When called with just the area tag of an open window it returns the first file in the window. When called with both the area tag and an existing filename it will return the NEXT filename in the window. If something goes wrong it returns ERROR. MPM_QueryFileList(area tag, 'stemvar') Creates a compound stem variable containing a list of all the files in the FILES.BBS associated with 'area tag'. The stem variable name is passed as a string to the function. stemvar.0 contains how many items are in the list. An example follows: /* MPM_QueryFileList() example */ Call RxFuncAdd 'SysSleep', 'RexxUtil', 'SysSleep' mpmarea = 'TEST' /* Open up the file area */ retval = MPM_OpenArea(mpmarea) /* Give the open call a chance to work */ Call SysSleep 3 If MPM_IsAreaOpen(mpmarea) = '0' then Exit rc = MPM_QueryFileList(mpmarea, 'files') rc = MPM_CloseArea(mpmarea) Say 'There are 'files.0' files in the list.' Say Say files.1.file' is the first file.' Say files.1.path' is the path of the first file.' Say files.1.desc' is the description of the first file.' MPM_QueryFileInfo(area tag, filename, '0' | '1' | '2' | '3') Queries and returns the specified information about 'filename.' The level information is as follows: 0 - File Path 1 - File Date in DD MMM YYYY format 3 - File Size 4 - File Description MPM_SelectFile(area tag, filename) MPM_DeselectFile(area tag, filename) Select and deselect 'filename', respectively, in the area identified by 'area tag'. MPM_SetFileInfo(area tag, filename, '0' | '1' | '2') Set the displayed information for a file in a FILES.BBS window. The level information is as follows: 0 - Set File Date 1 - Set File Size 2 - Set Description Please note that options 0 and 1 are only for display purposes, if you want to set the file's date ("touch" it) you need to perform this yourself, MaxFile/PM does not do this for you, the same goes for the file's size. This REXX extension is merely to update the display in the FILES.BBS window. Option 2, for setting descriptions, does actually alter the description that will get saved for the file. Dates should be in the UTC format DD MMM YYYY, like 01 Dec 1993. Sizes should be unformatted with no thousands separators. MPM_RemoveFile(area tag, filename) Removes the file 'filename' from the FILES.BBS window associated with 'area tag'. MPM_AddFile(area tag, filename, description) Adds 'filename' with description to the FILES.BBS window associated with 'area tag'. 'filename' MUST be a FULL file specification in the form of D:\PATH\FILENAME.EXE! The function returns 'ERROR' if something goes wrong. --- File Area Menu/Area Sort ------------------------------------------------- The default order for your file areas is the order they are defined in. Here you may change the order in which they are displayed. You can sort your file areas in the following ways: ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Tag Sorts file area display by Area Tags. Description Sorts file area display by Area Description. Files Dir Sorts file area display by Area Download Path. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ --- File Area Menu/Settings -------------------------------------------------- This option brings up the Main Settings Notebook. --- File Area Menu/Product Information --------------------------------------- This menu item displays the Product Information dialog box for MaxFile/PM. --- FILES.BBS Window --------------------------------------------------------- FILES.BBS windows are the heart and soul of MaxFile/PM, these windows are where you will be spending most of your time. A FILES.BBS window is very similar to the File Area window in appearance. What you will see when you open one of these windows is the contents of the FILES.BBS that is associated with the file area this window belongs to. --- Sort Ascending/Descending ------------------------------------------------ With this option you can sort the entries in this FILES.BBS window in one of four ways; Name, Date, Size or Description. Pay attention here, this is the part that confuses some people. If there are any items selected ONLY those items get sorted. To sort the entire window, make sure NONE of the items in that window are selected. We'll talk about this a bit later. --- View --------------------------------------------------------------------- The View option works in conjunction with the external program options. For archives it will fire up the proper archiver to create a list of files contained in the archive and display a dialog containing that list. For pictures and text files the appropriate viewer will be started. View is also the action that is associated with double-clicking mouse button 1 on an entry in the window. --- Test Archive ------------------------------------------------------------- This option only works with archives. It simply invokes the appropriate archiver for each selected item in the window. The output from the archiver will be displayed in a dialog box after the testing is completed is completed for each archive. --- Virus Scanner ------------------------------------------------------------ This option runs the virus scanner you have set up on each file selected in the current FILES.BBS window. The window that the virus scanner is run in is not closed when the scan is complete so that you may view the results. --- ReArchive ---------------------------------------------------------------- This option allows you to convert archives to your preferred archive format. --- Extract to Directory ----------------------------------------------------- Here you can extract a selected archive to a directory that you specify. Note that the directory you specify must exist. Once you select this option a dialog box will appear asking you to specify the directory you want to extract the files to, it also displays the current directory. Type in the directory name and select Ok, or select Cancel to abort the operation. --- Adopt Files -------------------------------------------------------------- Adopt Files allows you to add any orphan files in a particular file area to the FILES.BBS for that area. Adopting is performed in a seperate thread so that you may continue to work in the window for the file area while the adopt is going on. The window will be locked open while the Adopt is being performed. --- Announce Files... -------------------------------------------------------- This option will allow you to write a customized message announcing selected files directly to any Squish, *.MSG or *.MSG ECHO message base. You may also specify a mail processor so that you can scan for the message to send it out of your system. The whole process gets started by selecting the files you wish to annouce from a FILES.BBS window. Next you bring up the context menu and select 'Announce Files...' You will be presented with a configuration dialog you must fill out to tell MaxFile/PM the particulars about the message you want to send. As it stands right now, you have to fill out the dialog for each different window. The configuration for each window will be saved separately and will be used each subsequent time you announce files from each particular window. There are a few things MaxFile/PM needs to know to be able to send the message correctly and they are as follows: Message Base Path -The full path and base filename of the message area put the message in. For *.MSG areas this will be the full path to the directory that contains the *.MSG files. For Squish areas this will be the path and base filename of the Squish files related to the message area. This is a required entry. Mail Processor -This is an optional entry to allow you to scan for the message that was just written by a mail tosser/scanner. Please see the documentation for your tosser/scanner for more information. Message Type -This is the message base type, *.MSG and Squish are fairly self-explanatory. *.MSG Echo, refers to a Fidonet style *.MSG echo mail area that stores the high-water mark in 1.MSG. Message Flags -These are the attribute flags for the message you will be creating. They are mutually exclusive. I will be adding Direct to the available flags when I get the time to research the flags more. To: -This is the name of the recipient of the message. If you leave it blank, MaxFile/PM will automatically default to 'All.' To Addr: -This is the address of the recipient of the message. If left blank, the From Address will be used. (Please see the From Address discussion for more information on entering Fidonet addresses.) From: -This is a required entry. This is the name of the sender of the message. From Addr: -This is a required entry. This is the address of the sender of the message. Most likely this will be your fidonet address if you have one. If not it doesn't matter what you enter here, as it won't get used by your message bases. The format for entering Fidonet addresses into MaxFile/PM is: zone:net/node.point All four elements are required. To use my address as an example, the field would have 1:201/60.0 entered into it. Header -This is an optional entry that you can use to place a customer banner at the top of the message just before the files that are being announced in the message. It is pretty much free-form, but you will be much better off if you leave the formatting up to MaxFile/PM. You may enter up to 1024 characters in this field. Footer -This entry is basically the same as the Header field, except it comes after the announced files. You may enter up to 1024 characters in this field. The 'Subject' line of the message is 'File Announcement' it is currently hard coded. If I get enough requests, I will add it as an option but as you can see, the message dialog is quite full as it is. The same holds true with the Tear and Origin lines, they are not configurable. The Tear line will always read '--- MaxFile/PM......' and the Origin line will always just be a standard origin line with your Fidonet address in it. These two I will probably be adding macros for so that you can place them into either the header or footer of the message. It all depends on user feedback. --- Touch Files -------------------------------------------------------------- "Touching" is the process of updating the Time and Date stamps of files to the current time and date. This option allows you to do that for the selected files in the current window. --- Edit Description --------------------------------------------------------- Many of you asked for this one. Edit Description allows you to edit the description of a selected item by first selecting it, then choosing this option from the context menu. It works the same way as ALT+clicking mouse button 1 on an item's description. --- Get FILE_ID.DIZ ---------------------------------------------------------- This option goes through the selected items in the window and attempts to extract the FILE_ID.DIZ from them. Comments and files that aren't archives are skipped over by this function. If a FILE_ID.DIZ is present in the archives selected, it will be read from it and placed in the description field. You will need to edit this text to suit your needs. --- Set FILE_ID.DIZ ---------------------------------------------------------- Here you can insert the file description for selected archives into the archives as a FILE_ID.DIZ. You will need to edit the description to conform to the 45/10 standard. --- Insert ------------------------------------------------------------------- To Insert a comment into the current FILES.BBS window, first select the item in the window that you want the comment to go in FRONT of. Then bring up the context menu and select Insert->Comment. A blank comment will then be inserted in the FILES.BBS window. To allow you to adopt a single file from either the current directory or another drive/directory, you can use Insert/File. It works much the same way as Insert/Comment, first select the item in the window that you want the file to go in front of, then select Insert->File from the context menu. A file dialog will be displayed so that you can find the file you want to insert. Once you have found the file, select the Insert button in the dialog box. The file will then be inserted into the current window. Selecting the Cancel button inside the file dialog box aborts the insert operation. --- Remove Items ------------------------------------------------------------- This item removes or deletes items from the FILES.BBS window. When you select it from the context menu, a dialog box will appear allowing you two options. 'Entries' just removes the entry from the FILES.BBS window, 'Entries and Files' causes the entries to be removed and the associated with the entries to be deleted. Click Ok to remove the items, or Cancel to abort the operation. --- Select/Deselect All ------------------------------------------------------ These two options do exactly what they say. Select All, selects every item in the window and Deselect All, deselects all items in the window. --- Area Statistics ---------------------------------------------------------- This option displays an information message box containing how many files are in the current area, how much space they take up and how much free space remains on the volume. --- Selecting Items ---------------------------------------------------------- Perhaps the most confusing part of working in a FILES.BBS window is selecting or deselecting items. I wrote the program and I still have to think about it. Basically it works like this; Clicking mouse button 1 on an item selects it and clears the selection from any other items in the window. To select multiple items in the window, press mouse button 1 on the first item you want selected and hold it down while you drag the mouse cursor. This allows you to select a contiguous range of items. If you want to select multiple items and they aren't adjacent to each other, hold down the CTRL key while you click mouse button 1 on each item. If the item is not selected it will become selected, if the item is already selected the selection is cleared for that item. If you need to select or deselect all the items in a window, your best bet is to use the Select All/Deselect All options from the context menu. --- The Button Bar ----------------------------------------------------------- Just below the title bar of each FILES.BBS window there is a button bar that contains buttons for the most commonly used items on the context menu. Moving from the left side of the window towards the right, here's what they do: Sort Uses the *last* sort type selected from the context menu in a FILES.BBS Window. If no sort has been selected it defaults to Name/Ascending. Edit Description This is the same as ^E and Edit Description on the context menu. Allows you to edit the description for the highlighted file, if more than one file is highlighted the file with the dotted cursor focus is the one that will have the edit box opened for it. Get FILE_ID.DIZ Attempts to extract the FILE_ID.DIZ from the selected files. Touch Files Touches all the selected files. Virus Scan Runs the defined Virus Scanner on all highlighted files. Test Archive Runs the archiver tests on the highlighted archives. Remove Items Just like 'Remove Items...' from the context menu. Should you forget what a particular button does you can find out by pressing mouse button 1 down while the mouse pointer is over the button and holding it down. A short description will appear in the status bar at the bottom of the FILES.BBS window. If you don't want to perform the operation at that time, drag the mouse pointer down into the list of files and release mouse button 1. --- Drag and Drop ------------------------------------------------------------ THIS IS HOW YOU MOVE FILES BETWEEN FILE AREAS Remember, MaxFile/PM is a Workplace Shell and Presentation Manager friendly program. The basic operations of changing, editing and moving objects work the same way. A drag operation is started by pressing mouse button 2 down and dragging the mouse cursor. The operation is considered complete when you release mouse button 2. Should you wish to abort the drag, press the ESC key on your keyboard. You will need to make sure that both the source and destination windows are visible on your display. You can drag files from anywhere on your system and drop them either on a FILES.BBS window or onto the File Area window. When dropping on an open FILES.BBS window, the files are inserted into the FILES.BBS at the point at which they were dropped. When dropping on the File Area window, the files are inserted at the end of the FILES.BBS for the area they are dropped on. You can also rearrange the items in a window by selecting them, then dragging them and dropping them where you want them to be. Many of you have asked about this one...To delete one or more items from a FILES.BBS window; highlight the items you want deleted, then drag them to the shredder object and delete them. --- Renaming Files ----------------------------------------------------------- To rename a file, press and hold the ALT key and click mouse button 1 on the file that you want to rename. Then enter the new filename and click button 1 anywhere outside the edit box or press the keypad Enter key. Pressing ESC will discard any changes you have made to the filename. --- Editing File Descriptions ------------------------------------------------ Editing descriptions works in the much the same manner as renaming files, ALT+click mouse button 1 on the description you want to edit. To save the description, click outside the edit box or press the keypad Enter key. Pressing ESC will discard any changes made to the description or comment. The standard CUA conventions for cutting and pasting text work while the editing window is open for you to edit descriptions. They are as follows: Ctrl+INS Copy to the Clipboard Shift+Del Cut to the Clipboard Del Cut (to the black hole of bits) Shift+INS Paste from the Clipboard These aren't well documented, but they are standard items that you can expect *most* applications to use when working with text, including MaxFile/PM. --- Program Macros ----------------------------------------------------------- FILES.BBS windows are the only place that the Shift-F(x) macros will operate. When pressing one of these key combinations MaxFile/PM will search through the container in the window and pass the fully qualified filename of the selected files to your macro one at a time. Comments are ignored. Don't make any assumptions about what directory the macro will start out in, that will be determined by the default OS/2 shell. --- Hotkeys ------------------------------------------------------------------ The following accelerator keys may be used when you are working in FILES.BBS window. ^ = CTRL, ! = SHIFT Sort Ascending Name ^1 Date ^2 Size ^3 Description ^4 Sort Descending Name ^5 Date ^6 Size ^7 Description ^8 Description Edit ^E Format ^F Get DIZ ^G Set DIZ ^S Files Adopt ^A Announce ^N Touch ^O View ENTER Virus Scan ^C Archives Test ^T Extract to ^X ReArchive to ZIP !F2 to ARJ !F3 to LZH !F4 to ARC !F5 --- Known Problems ----------------------------------------------------------- In a system as configurable as OS/2 there are always going to be problems, this section is devoted to those problems and in some cases work-arounds. If you are having trouble with MaxFile/PM this is the first place to look to see if you can find some help. --- FILEIDX.EXE -------------------------------------------------------------- Lora-BBS File index maintenance utility Make sure that you specify the files IDX file that you want rebuilt in the Main Settings dialog box. For example: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ File Database Utility ³ E:\LORA\FILEIDX E:\LORA\FILES.IDX ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ MaxFile/PM will take care of the rest. (The "AREA .. .. .." part.) --- CONTAINER DISPLAY CORRUPTION --------------------------------------------- Moving vertical separator bar messes up highlighting The Service Pack for OS/2 2.1 screwed up the way the highlighting is handled when the vertical separator bar is moved. I didn't it break folks, IBM did.