MaxFile/PM - VERSION 1.27 COPYRIGHT 1993,94,95 by Craig Morrison. All Rights Reserved. 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 Lanius Corporation. 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 UNRAR.EXE is included in the distribution archive by special permission from: Andrey Spasibozhko UNRAR.EXE is: Copyright 1994 by Eugene Roshal 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. (Very handy guy to talk to when it comes to programming in general!) Andrey Spasibozhko For allowing me to include UNRAR.EXE as a part of the archive. RAR is an up and coming compression utility, if you haven't done so yet, it might be worth your while to take a look at it. The authors are very responsive to all inquiries. Elliott Goodman Beta Tester ANNOUNCE.CMD author Philip Perlman Beta Tester Ronald Van Iwaarden Cohort in crime and Beta Tester ------------------------------------------------------------------------------ --- Foreword ----------------------------------------------------------------- ------------------------------------------------------------------------------ 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. Including these features: * All Files and New Files List Generation * Auto Adopt Orphaned Files with File Description Import * Automatic Generation of FILES.BBS Headers * Built-In Support for Maximus v2.xx, LoraBBS, SuperBBS * Check for Duplicate Files * Context Sensitive Online Help * Create File Announcements in *.MSG/Squish Message Bases * Create File Attaches for *.MSG/Squish Message Bases * Create File Requests for *.MSG/Squish Message Bases * Create Text Okfiles for Mailers * Drag and Drop Enabled * Extract Archives * Extended Description Support * FILE_ID.DIZ, DESC.SDI, SDN.ID Import * Generic Configuration for ANY FILES.BBS Based File System * Kill or Move Outdated Files * Process Received File Requests and Toss them to Proper Area with File Descriptions * Purge Duplicate File Entries * Rearchive Files to a Preferred Format * Remove Missing or Orphaned File Entries * REXX Macro Support * Scan through Documentation Files to Cut and Paste a Description * Sorts File Areas By Name, Date, Size or Description. Comments are left intact and in place * Support for ARC, ARJ, HA, LZH, RAR, UC2, ZIP and ZOO archivers * Tests Archives * User Definable Button Bars for Quick Function Access * User Definable Shift Key Functions * Virus Scanner Support ------------------------------------------------------------------------------ --- Registration ------------------------------------------------------------- ------------------------------------------------------------------------------ I'm going to keep this short, sweet and to the point. It is $25 to register the program. You have unrestricted use of this program for the first 45 days you use it. After that period of time the program will display a registration incentive dialog for 45 seconds each time you run it. MaxFile/PM is not freeware, it is shareware, you are expected to register the program if you continue using it. Please print out and read the REGISTER.FRM file that is included in the archive for more information on registering the program. Registration provides me with the incentive to keep working on the program, it's all up to you folks that use the program. I treat registered users VERY well. '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. Contact either myself, Elliott Goodman at 1:102/1319 or Pete Norloff at 1:109/347 for more information about getting hooked up. Due to the large cost in crashing netmail all over the world I will only be sending replies out crash to registered users who report a problem. Sorry folks, but most of my income is generated by these projects. If they don't get registered I can't provide free support. I will respond to everyone who sends netmail, but it will be routed netmail in most cases. 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. I *will* support MaxFile/PM, all you need to do is ask. ------------------------------------------------------------------------------ --- 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. 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 4 major categories of information here; Main, 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 three 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. 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 usage timer. 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 be 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. 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. File Inbound This is the directory that your mailer places incoming files in. MaxFile/PM will look in this directory for files when you perform a Receive Files... from the File Area window context menu. Main - Page 2 Hide CDs When checked your CD file areas will be hidden from view in the main File Area Window. NOTE: When you have this option turned on it would be wise to make sure there is a CD in the CD-ROM drive, MaxFile/PM needs to ask the file system drivers for some information about the drive and in the process the CD-ROM drive has to be accessed. File Headers When checked MaxFile/PM will generate an information header that is written to the top of the FILES.BBS for an area when you perform a save in a FILES.BBS window. The header looks much like the area headers that are written to the All Files and New Files lists. The only exception being that the custom information from ALLFILES.CUS is not written to the header in the FILES.BBS. 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. Button Bar This check box tells MaxFile/PM whether or not you want the button bar turned on in your FILES.BBS windows. Create File Summaries When checked MaxFile/PM will create a summary of the file statistics for a file area when the FILES.BBS for the area is saved. The name of the file will the same as the file list (FILES.BBS in most cases) with the extension removed and replaced with SUM. It will be saved into the same directory as the file list. An example: C:\BBS\FILES\OS2\FILES.BBS The summary file would be saved in: C:\BBS\FILES\OS2\FILES.SUM 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. NOTE: When you have File Headers checked, MaxFile/PM takes care of this setting for you. Dupe Length Tells MaxFile/PM how many characters to look at in a filename when performing a search for duplicates. 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, DESC.SDI or SDN.ID descriptions read in from archives. MaxFile/PM does not insert this character in multiple line descriptions for you, you need to do this. However, when you use 'Format Description' MaxFile/PM will take care of putting this character where it belongs. FileList Margin This setting causes a change in the file description handling similar to the ED Marker. NOTE: If an ED Marker is defined, FileList Margin is IGNORED. However, if an ED Marker is NOT defined and FileList Margin is greater than zero; File descriptions are limited to 1024 characters, FILE_ID.DIZ DESC.SDI and SDN.ID are imported as is, when a FILES.BBS is written _FileList Margin_ spaces are added to the beginning of each extra line in the file description so that they line up in a file listing. If an ED Marker is not defined and this is set to zero, file descriptions are limited to 255 characters, any non-printable ASCII characters (0-31) and high-bit ASCII characters are stripped from the file description. 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 every time 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 un check the check boxes to set your preferences. Main - Page 3 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 up to 3 characters for each extension, wild cards are allowed. These extensions are used while adopting files, anything not defined here will be ignored. These extensions are use when you perform an Adopt from the FILES.BBS window context menu or you have Auto Adopt turned on. 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 check box tells MaxFile/PM if you want it to automatically perform an Adopt when a file area is first opened. This only works if you have actually added at least one extension for MaxFile/PM to scan for. Download counters If you want download counters added to the description of files that get adopted, check this box. Default Description You may enter up to 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, DESC.SDI or SDN.ID description inside of it. Add (x/xx) counter on description copy This option allows you to tell MaxFile/PM whether or not you want the (xx of xx) counters appended onto the end of descriptions when you perform a "Description->Copy" in a FILES.BBS window. Check it if you want them, unchecked if you don't. The default is for them to be added. Extract All Files on Document Scan When selected all the files in a selected archive will be extracted when performing a Description->Scan Docs from a FILES.BBS Window context menu. Otherwise, MaxFile/PM will attempt to extract a common subset of files that are usually documentation related files. Remove Items Three choices here: Prompt Entries Entries and Files This configuration option affects the default action of "Remove Items" inside a FILES.BBS window. "Prompt" asks you each time. "Entries" removes just the entries. "Entries and Files" removes the entries and deletes the files associated with those entries. Buttons This page allows you to customize the button bar that can be displayed in a FILES.BBS window to your liking. Please Note: If "Button Bar" on Main Pg 2 is not selected, the button bar will NOT be displayed in your FILES.BBS windows. Each button definition consists of two items; A bitmap and a function. The bitmaps used are stored in the directory you start MaxFile/PM from. For best results they should 32x32 16 color bitmaps, larger bitmaps will be clipped to size of the button. When a FILES.BBS window is opened the bitmaps are loaded into memory, if the bitmap doesn't exist the button is skipped and will not display. You can use the Icon Editor that comes with OS/2 to create your own bitmaps for use with MaxFile/PM. To define a button; first select a bitmap file from the drop down list box labelled "Bitmaps" at the top of the notebook page. Then select a function from the drop down list box labelled "Functions" and click on the "Add" button. The button definition will then be inserted into the "Buttons" list box at the bottom of the notebook page. Directly above and to the right of the Buttons list box are a set of buttons that allow you to add, remove or reorder your button definitions. We have already covered the Add button. To remove a button definition; Select the button definition you want to delete and then click on the "Remove" button. The definition will then be discarded from the Buttons list box. To reorder the button definitions; Select the button definition you want to move and then click on either the up or down arrow button to the right of the Buttons list box to move the definition in the respective direction. You can have as many buttons as you want but remember, they take up screen real estate. If the button bar would extend beyond the right hand side of the window it will be wrapped downwards so that all of your buttons are visible. To help you remember what button does what, when you move the mouse pointer over a button the window title bar the button is in will display the function associated with that button. 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 to give you a few hints. There are eight pages, one each for; Zip, Arj, Lzh, Arc, HA, RAR, UC2 and ZOO. 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. 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. I also believe I have gotten the DOS kludge worked around in the code. So you *should* be able to just define your DOS archivers just like OS/2 based archivers, I.E, PKUNZIP -v, for listing an archive. The settings for the DOS archivers below worked for me for what little time I spent with them. Extract This entry should contain the command and switches necessary to extract a file from an archive. ZIP unzip -xo -U -C ARJ unarj e ARJ x -y LZH lh x ARC arc x RAR rar -o+ -std -y HA ha ey UC2 uc2 ESF ZOO zoo xO Add This entry should contain the command and switches necessary to add files to an archive. ZIP zip -9 -r ARJ a -r -y LZH lh a ARC arc a RAR a -r -y -ep1 -std HA ha a12rd UC2 uc ASF ZOO zoo ah 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 ARJ arj v -y LZH lh l ARC arc l RAR v -std -y HA l UC2 VS ZOO zoo 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 ARJ arj t -y LZH lh t ARC arc v RAR t -std -y HA t UC2 TF ZOO zoo xN 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: Archives 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 any necessary switches. I use McAfee's scanner for OS/2 like so: OS2SCAN /A /NOEXPIRE Editor Here you can define a text editor for editing text based files. Currently this is only used for editing REXX macro scripts. 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. ------------------------------------------------------------------------------ --- 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 download path of the file area. 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. File Area Window Context Menu The File Area Window Context Menu is where you control the overall operations of MaxFile/PM. A somewhat detailed explanation of each menu item follows. Open... This menu item allows you to open the highlighted file area(s). The various 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. Area Sort Tag Description Files Dir These options sort the File Area Window listing by the appropriate field in ascending order. 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 this dialog you will see a listing of all the files found. To open the file area associated with a file, simply double-click on its entry. If you decide that you want to delete the file from this dialog, highlight the entry and click the delete button. 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. Find Area... This function will allow you to enter an area tag, MaxFile/PM will find the area and then scroll it into view for you. 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 generate an all files list for you. It's highly customizable and can be run automagically from a batch file once configured correctly. 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 two listings under the filenames ALLFILES.LST and NEWFILES.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 some text files which will be written to your file listing at the appropriate times. The names for the files are: ALLFILES.HDR NEWFILES.HDR ALLFILES.FTR NEWFILES.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. 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. NOTE: This function is run at IDLE priority so that it won't degrade other processes in the system. 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. Create FREQ List... Here you can tell MaxFile/PM to create an OKFILE listing for your mailer based on the selected items in the File Area window. After selecting this option, you will be presented with a standard File Save As dialog to choose a filename from. You can either type in the name of an existing file, or the name you want the listing to have. If it doesn't exist MaxFile/PM will create it for you. If the file "MAGIC.TXT" exists in the directory you start MaxFile/PM from, the entries in it will be copied to the output file. The directory listing will then be appended to the output file. Request Files... Allows you to create a file request message to request files from another FTN capable system. After selecting this option you will be presented with a dialog box that asks you for a number of items; The message base path, mail processor, message base type, message flags, who the file request is generated for and who you are. More information about these options can be found in the discussion of the Announce Files option on the FILES.BBS Window Context Menu. The remaining controls in the dialog box deal with what files you want to request and what areas the files go into. An example will explain this best. Let's say we want to request the following files: FILES Magic name, doesn't go in any area. MPM1_26.ZIP For area - BBS For the first file, FILES, you would enter 'FILES' in the edit control labelled "File:" and then select the "Request" button. This will add the entry "FILES" to the listbox directly beneath the "File:" and "Area:" edit controls. For the second file, MPM1_26.ZIP, you would enter 'MPM1_26.ZIP' in the edit control labelled "File:" and then enter 'BBS' in the edit control labelled "Area:" and then select the "Request" button. This will add the entry "MPM1_26.ZIP - BBS" to the file request list listbox. If you make a mistake or just want to remove an entry for a requested file, select the entry to remove from the request list listbox and then select the "Remove" button. Please Note: If you don't enter an area for a file that is requested no processing will take place for that file when you perform a "Receive Files". Receive Files Receives or processes the files requested with Request Files after actually receiving them. When you requested files with "Request Files..." a file called MAXFMPM.REQ was written to your MaxFile/PM directory. This file contains both the name of the file requested and the area the file should be tossed into. You really shouldn't edit this file, but if you have a burning desire to do so... Each line of the file consists of the filename requested, EXACTLY one space, a hyphen '-' character, EXACTLY one space and the area tag (or name) of the file area the file should go into. REXX Macro... 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 30+ 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 some 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 up to 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. Starting MaxFile/PM with the -r switch will cause MaxFile/PM to open its main window, immediately run the REXX script specified and then exit. An example: MAXFMPM -rTESTREXX.CMD Would start MaxFile/PM, run TESTREXX.CMD to completion and then exit. -r -R /r and /R are all valid forms of the "REXX" switch. 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. ******************************************* * PAY ATTENTION TO THE NEXT PARAGRAPH * * IT WILL MAKE OR BREAK YOUR REXX SCRIPTS * ******************************************* You *MUST* be in the directory that MaxFile/PM resides in when you call one of the extensions added by MaxFile/PM. You can change directories throughout the lifetime of your script, but MaxFile/PM needs to be able to find its files and it expects them to be in the directory that your script gets called from. So if things start acting strangely when you are testing a script, make sure the current directory is your MaxFile/PM directory before you call one of the extensions listed here. The standard REXX function DIRECTORY() will return the current directory for you, use it to save the directory your script starts out in. Then just before your script ends, use it to restore the current directory. 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. If area tag is ommitted the selection emphasis is removed from all items in the 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'. If this function returns 'OK' the window _IS_ open, v. the old behaviour of just letting you know the message to open the window got posted okay. 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_AllFilesList() Starts up the All Files List generator in interactive mode, the list generated will be made up of the file areas that are selected in the File Area window. Use MPM_SelectArea() and MPM_DeselectArea() to select areas from REXX. MPM_OutDated(days, 'MOVE | KILL', areatag) Performs an outdated file scan on the selected file areas in the File Area window based on the arguments passed. All three arguments MUST be present. days is the number of days old a file can be, anything older than 'days' will either be deleted or moved. 'MOVE | KILL' selects whether you want the files MOVEd or KILLed. If you want files moved, areatag must contain the area tag or name (case MUST match) of an existing file area. When "KILL" is selected the areatag is ignored, but it still MUST be present. 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 */ mpmarea = 'TEST' /* Open up the file area */ retval = MPM_OpenArea(mpmarea) 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 FTSC format DD MMM YYYY, 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. MPM_AnnounceFiles('stemvar') Creates a file announcement message and writes it to a Squish or *.MSG message base. The message is built from the information stored in the compound stem variable 'stemvar'. Please see TANN.CMD (included in the distribution archive) for an example of how to use this extension. The elements of the message that need to be placed in 'stemvar' are as follows: stemvar.msgpath - is the root path of the message area to place the message in. stemvar.msgproc - is the executable name and switches needed to run your mail tosser/packer, this one is optional, if it isn't defined it is ignored. stemvar.msgtype - this defines the type of message base and must be one of: SQUISH MSG MSGECHO stemvar.msgflag - is the message flag you want to use for this message, it must be one of: HOLD NORMAL CRASH DIRECT stemvar.to - is the name to address the message to, if it isn't defined it defaults to 'All'. stemvar.toaddr - this the Fidonet style address of the recipient of the message. It must be in the format Zone:Net/Node.Point, I.E, 1:201/60.0, if not defined it defaults to stemvar.fromaddr. stemvar.from - is the name the message is from, this one is required. stemvar.fromaddr - is the address of who the message is from, in other words, the originating Fidonet address. This one is also required. stemvar.subject - this gets put in the subject field of the message. If not defined it defaults to 'File Announcement'. stemvar.header - is the header of the message, it gets placed just before the file list in the message. This one is optional. 1024 character limit. stemvar.footer - this is similar to the header, except it comes after the file list in the message. It is also optional. 1024 character limit. stemvar.origin - this is the text that will get put in the origin line of the message. The " * Origin: " and from fidonet address are taken care for you. All you need to enter here is what text you want added in between the two. This is optional, if it is not defined no origin line is generated. stemvar.0 - contains the number files being announced. stemvar.x.file - this is the base filename of a file to announce. stemvar.x.path - is the drive and path to the above base filename. Do NOT include the filename here. stemvar.x.desc - this is the description you want to use for this file in the message. 1024 character limit. 'x' in the above three is a place holder for each of the files that you want announced, up to stemvar.0 files. MPM_FileAreaSort(area tag, 'Name|Date|Size|Desc', 'Asc|Desc'[, 'All']) Sorts the file area 'area tag' by; Name, Date, Size or Desc. In either ascending or descending order, optionally deselecting all highlighted files. This function behaves just like the menu options on the FILES.BBS context menu, if any items are selected ONLY those items are sorted. If you want to sort the entire area make sure you pass the fourth argument 'All' to it. Here are a few examples: rc = MPM_FileAreaSort('0', 'Name', 'Asc') Sorts area 0 by name in ascending order. rc = MPM_FileAreaSort('FWBBS', 'Date', 'Desc') Sorts area FWBBS by date in descending order. rc = MPM_FileAreaSort('FWCOMM', 'Date', 'Desc', 'All') Sorts area FWCOMM by date in descending order, first deselecting all selected files. MPM_AdoptFiles(area tag) Performs an adopt on all orphaned files in the file area 'area tag'. area tag MUST be open. MPM_ReArchive(area tag, archivetype) Rearchives all selected files in the area 'area tag' to 'archivetype'. area tag MUST be open. archivetype should be one of: ZIP ARJ LZJ ARC HA RAR UC2 ZOO MPM_PurgeDupes(area tag) Scans through the file area 'area tag' and removes all duplicate file entries. area tag MUST be open. MPM_RemoveMissingFiles(area tag) Scans through the file area 'area tag' and removes all entries for files that do not exist. area tag MUST be open. MPM_CleanseDescriptions(area tag) Cleanses the descriptions for all selected files in the area 'area tag'. area tag MUST be open. MPM_GetDIZFiles(area tag) Attempts to extract and use FILE_ID.DIZ, DESC.SDI or SDN.ID for the selected files in the area 'area tag'. area tag MUST be open. MPM_QueryFilesBBS(area tag, stemvar) Returns the FILES.BBS for 'area tag' in the compound stem variable 'stemvar'. area tag does not have to be open, but if it is, make sure you save the FILES.BBS before you call this function. 'ERROR' is returned if an error occurs or there are no entries in the FILES.BBS file. stemvar.0 will contain the number of entries. stemvar.1 - stemvar.x will each contain one entry from the FILES.BBS. The FILES.BBS will be parsed according to your settings for Extended Description Marker, FileList Margin, File Headers and Header Size. In general, each string is formatted just like the entries you view in your FILES.BBS windows. MPM_SaveFilesBBS(area tag) Saves the FILES.BBS for 'area tag'. Should be used after any changes are made to a FILES.BBS window. area tag MUST be open. MPM_SetWindowState([area tag, ]'MAXIMIZE | MINIMIZE | RESTORE') Sets the state of a window. If 'area tag' is ommitted, the File Area Window is set, otherwise, the state of the FILES.BBS window 'area tag' will be set. The possible window states are; MAXIMIZE, MINIMIZE or RESTORE, only one may be specified per call to this function. Examples: rc = MPM_SetWindowState('MINIMIZE') Would minimize the File Area window to either the desktop or Minimized Window viewer, depending on your object settings. rc = MPM_SetWindowState('1' ,'RESTORE') Would restore the FILES.BBS window associated with file area '1' to its previous state. MPM_Crc32('filename') Examines 'filename' and returns a CRC32 value calculated according to FIPS PUB 71 and FED-STD-1003. This should prove useful for rolling your own TIC processor. MPM_ExecPgm(title, program, arguments [, "WAIT | NOWAIT"]) Starts another program session. title is the text that will be displayed in the title bar of the session. program is the name of the executable file. arguments are the command line parameters you want to pass to the program. The last argument is optional, if it is present and is 'WAIT' MaxFile/PM will wait until the program has finished running before returning control to your REXX script. The return value will be the return code from the program if run with the 'WAIT' parameter, or the return code from DosStartSession() if run asynchronously. PLEASE NOTE: if you wish to do any command line redirection you must pass the correct command processor as the program (CMD.EXE, COMMAND.EXE, etc..) and pass the name of the executable you want to run as part of the arguments. MPM_ExtractFromArc(filename, filespec(s), filepath) Extracts filespec(s) from filename into the directory filepath. filename should be a fully qualified filename. filepath MUST exist. Stop REXX Stops the currently running REXX macro. The current instruction in the macro will finish executing before the macro stops. Edit REXX Macro... Here you can find and edit a REXX macro script, provided you have an editor defined in your configuration. After selecting this option you will be presented with a standard file dialog to select from the files on your system. After selecting a file, the editor you have configured will be started with the selected file as its one and only argument. Settings... Brings up the Settings Notebook for MaxFile/PM. Please see 'Configuring MaxFile/PM' for more information. Product Information Displays MaxFile/PM's Product Information Dialog. --- 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. FILES.BBS Window Context Menu Revert... Discards changes made in a FILES.BBS window since the window was opened or the last save was performed, which ever occured last. Save FILES.BBS Performs an unconditional save of the FILES.BBS for the current FILES.BBS Window. At the same time it also sets the flag for this area to tell MaxFile/PM that the File Database Utility (if you have one configured) needs to be run on it. Shift-Macros Each of your defined program macros will be listed on this sub-menu. See Configuring MaxFile/PM -- Other for more information on program macros. Sort Ascending Name Date Size Description Sorts the FILES.BBS entries for the current FILES.BBS Window in ascending order. Sort Descending Name Date Size Description Sorts the FILES.BBS entries for the current FILES.BBS Window in descending order. Please note the following: If you want the entire FILES.BBS sorted make sure that none of the items in the window are selected. If any items are selected ONLY those items get sorted. Deselect All or CTRL+\ will remove the selection emphasis on all items in the window. This applies to both ascending and descending sorts. Comments lines are skipped, the file blocks between them are sorted according to the sort selection made. Descriptions Copy This selection takes the first description from a group of selected items and copies it to the rest of the files in the group. The copied description will have '(xx of xx)' appended to the end of it. This is convenient to use with a group of files that are all part of one program or file collection. Cleanse This option goes through each of the selected items in a FILES.BBS window and removes all the extra whitespace, non-printable ASCII and high-ASCII characters from the descriptions or comments. Edit 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. Format... This option is only usable when you have an Extended Description Marker (ED Marker) or a FileList Margin defined in the Settings Notebook. When an ED Marker is defined: What it does is take a file description and break it up into smaller parts and insert the defined ED Marker at the beginning of the excess lines so that your BBS package will understand the excess lines are part of the description for a file. After selecting this option from the context menu a dialog box will be presented asking you for a left margin and a line length. The left margin is where you want the ED Marker placed on the line and the line length is how many characters past the ED Marker the description is allowed to go on each line. When an ED Marker is NOT defined and FileList Margin is greater than zero: What it does is take a file description and wrap it into smaller line segments based on 80 - _FileList Margin_. Get FILE_ID.DIZ This option goes through the selected items in the window and attempts to extract the FILE_ID.DIZ, DESC.SDI or SDN.ID from them. Comments and files that aren't archives are skipped over by this function. If one of the above 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. Scan Docs... This works only with archives. MaxFile/PM will go through and extract all the documentation files it can find for a selected archive. It will then present a dialog box that will allow you to copy text from a file to use as a description. Each selected archive is processed in sequence, in other words, the Get Description Text dialog gets presented once for each selected archive. When the dialog first comes up a standard File Open dialog will be presented for you to choose a file to open. NOTE: If there were directories stored in the archive, they will be present and you might have to go down a few to find the files. After selecting a file the first 8K of it will be loaded into the text entry control in the Get Description dialog. You can edit the text if necessary to get it somewhere close to what you want. If you choose to open an INF file, the OS/2 View application will be started so that you can view the file selected. Using the Services menu from View you can copy a page to the clipboard from the INF file. Then you can switch back to the Get Description Dialog and paste the contents of the clipboard into the entry control by clicking on the "Paste from Clipboard" button. To copy and use part of the text in the entry control, highlight the text you want to copy and click on the "Copy" button. The highlighted text will be copied into the description of the selected file that the file in the entry control was extracted from. All the normal description handling characteristics apply to the copied text. If you do NOT have an Extended Description Marker defined and FileList Margin is set to 0; all whitespace, unprintable characters (CR, LF, etc..) and high-bit ASCII are stripped from the description and it is truncated to 255 characters. Download Flags... Allows you to place or remove time and byte download flags on the currently selected files. This function is only available to Maximus Sysops. Files Find... Many, many of you asked for this one. After selecting this option you will be asked to type in a filename. MaxFile/PM will search for the name and scroll it into view if it is found. Partial filenames are okay, case is not important. Adopt 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 separate 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. Remove Missing This option automates the process of removing entries in a FILES.BBS window that have no file associated with them. No special setup is required, just bring up the context menu and select this option. MaxFile/PM will then search through the FILES.BBS window and remove all entries that meet the following criteria; The entry is a file, is 0 bytes in size and has a date/time stamp of 00/00/00 00:00:00. Purge Dupes Purge Dupes scans the FILES.BBS window looking for duplicate file entries. Only the last entry for each file that has a duplicate entry is kept. This option is useful for removing extra entries added after a TIC processor has added new files to a FILES.BBS file. Announce... 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 announce 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. Send... Here you can create a file attach message. First select the file or files that you want to send, then select this item. The same dialog that is used for the Announce Files option is presented for you to fill out, please see the discussion of that function for more information on the dialog controls. The Header and Footer text are combined together to create the body of the message, if you enter any text for them. No tearline or origin are added to the message. In addition to the message attributes you set in the message information dialog box, the File Attach and Kill/Sent bits are set. Touch "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. 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. 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. Nothing is extracted from the archives. The files are passed to the 'Other->Virus Scanner' entry from the Settings Notebook one at a time until all the selected files have been scanned. At this writing it is up to you to perform any additional processing. Archives 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. Extract To... Here you can extract a selected archive to a directory that you specify. Note that the directory you specify must exist. After you have used this option at least once, the directory will be remembered the next time the dialog box comes up asking you for a directory. You can just press ENTER to accept it. ReArchive to ZIP to ARJ to LZH to ARC to HA to RAR to UC2 Each of these options takes an existing archive or group of archives and converts them to the appropriate archive type. If one the ADD entry for an archive is not defined its entry on this sub-menu will be disabled. Insert Comment 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. File... Insert/File 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. THE FILE WILL BE INSERTED INTO THE FILES.BBS WITH A FULL PATH SPECIFICATION. It does NOT get copied or moved to the download directory. This allows you to point to a single file from multiple FILES.BBS files. 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 All Selects all items in the current FILES.BBS Window. Select All Files Selects all files in the current FILES.BBS window, excluding orphans. Deselect All Deselects all items in the current FILES.BBS Window. Display Date Toggles the display of the File Date column in the current FILES.BBS Window. This setting is temporary, FILES.BBS Windows will always open according to the settings defined in the Settings Notebook. Display Size Toggles the display of the File Size column in the current FILES.BBS Window. This setting is temporary, FILES.BBS Windows will always open according to the settings defined in the Settings Notebook. 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. ------------------------------------------------------------------------------ --- Presentation Parameters -------------------------------------------------- ------------------------------------------------------------------------------ Container windows are the windows that hold your file area information or file lists. The only presentation parameters that are saved for your windows are the foreground/background color of the container windows and the fonts dropped on the status bar and the container windows. The size and position of each window is also saved. These parameters are saved to your MAXFMPM.INI, which is usually kept in the directory you start MaxFile/PM from. The foreground (text) and background colors of the container window can be changed by dropping a color from the Solid Color Palette on it. The font used for the status bars and context menus can be changed by dropping a font from the Font Palette on the status bar. The container window font can be changed by dropping a font on the container. ------------------------------------------------------------------------------ --- 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. Another technique to select items uses a combination of the CTRL and SHIFT keys along with mouse button one. The SHIFT key when used in conjunction with mouse button 1 will select/deselect all items between the first marked item and the item SHIFT-clicked on. An example might help: COMMENT FILE1 <-- click mouse button one here FILE2 FILE3 FILE4 FILE5 <-- SHIFT-click mouse button one here COMMENT FILE6 <-- CTRL-click mouse button one here FILE7 FILE8 FILE9 FILE10 FILE11 FILE12 <-- CTRL-SHIFT-click mouse button one here With no items selected, the above actions would select two non-contiguous blocks of files; FILE1-FILE5 and FILE6-FILE12. 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. ------------------------------------------------------------------------------ --- Hotkeys ------------------------------------------------------------------ ------------------------------------------------------------------------------ ^ = CTRL, ! = SHIFT The following accelerator keys may be used when you are working in the File Area window: Check for Duplicates ^D Search ^S Find ^F Find Again ^N All Files List ^L Outdate Files ^O Create FREQ List ^Q Request Files ^R Receive Files ^V REXX Macro ^M Stop REXX ^P The following accelerator keys may be used when you are working in FILES.BBS window: 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 Remove Items ^D ------------------------------------------------------------------------------ --- 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. ------------------------------------------------------------------------------ --- 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. When dragging files between windows in MaxFile/PM, holding down the CTRL key will cause the objects to be copied instead of moved. This works for both files and comments. 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. Or, alternatively you can use the 'Remove Items' option on the context menu. ------------------------------------------------------------------------------ --- Excluding File Areas------------------------------------------------------ ------------------------------------------------------------------------------ If MaxFile/PM finds a file called MAXFMPM.EXC in the directory it is started from it will scan that file as it is populating the File Area window. If the area tag of a file area is found in that file, the area will NOT be added to the file area list. MAXFMPM.EXC is a simple text file that contains one area tag per line in the file. ------------------------------------------------------------------------------ --- 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. --- VIEW AND TEST DIALOG LOCKUPS --------------------------------------------- Archive Statistics Dialog comes up as a grey window When run under 2.11 the View and Test functions lock up after opening more than one window. I have NOT been able to reproduce this under 2.10, so I don't even know where to begin to look. I have made several modifications to the code, hopefully one of them fixed the problem. :-( [06 Jun 1994] This *HAS* been fixed!! --- MAXFMPM.INI CORRUPTION --------------------------------------------------- MAXFMPM.INI gets trashed if a REXX script bombs out and won't quit. Always keep a backup of your MAXFMPM.INI file someplace safe. I need specific examples of scripts that I can use to recreate the problem. I'm not sure what is causing it, but I am looking. The key to safety is to BACKUP before you start a new script and try to debug it to get it to work. --- LAUNCH PAD SHREDDER WON'T SHRED MY FILES -------------------------------- Create a shadow of your shredder object on the desktop and drag the items you want deleted to it or use Remove Items from the context menu in a FILES.BBS window. --- MOVING ITEMS ------------------------------------------------------------- Moving items up in a FILES.BBS window more than one window at a time can be a major chore. Here's a simple work around: 1) Select the item(s) at the bottom of the window you want to move. 2) Move up into the list approximately where you want them to go. 3) Hold down the CTRL key and click on an item to highlight it along with the other item(s). 4) Select one of the Sort options off the Context Menu. NOTE: This only works for moving items towards the TOP of your FILES.BBS. --- CAN'T EXTRACT FILE_ID.DIZ ------------------------------------------------ --- DOS ARCHIVERS NOT WORKING ------------------------------------------------ The following is the results of a lot of head scratching on my part for about the 30th time, now it is documented. ------------------------------------------------------------------------- Area: OS2BBS Date : Dec 23 '94, 23:31 From : Craig Morrison 1:201/60.0 To : Rick Cooke Subj : MaxFile/PM 1.24 ------------------------------------------------------------------------- Following up a message from Craig Morrison to Rick Cooke: RC> Robert Jung. My arj version is 2.41a also by Robert Jung. RC> can you suggest an alternative, as neither one works. CM> I just did some checking.. :-( CM> Somehow I've broken the DOS archiver support, I'll be CM> damned if I know what I did to break it but sure enough it's CM> hosed. CM> This WILL be fixed ASAP, hopefully by the time you read CM> this message.. After some more testing, make sure that in the AUTOEXEC.BAT for your DOS sessions you have the directory that your DOS archivers are in listed in the PATH statement. The DOS archiver support is _NOT_ broken in MaxFile/PM. I just got done testing MaxFile/PM with ARJ 2.41a and the following settings: Extract ARJ x -y Add ARJ a -r -y List ARJ l -y Test ARJ t -y All functions operated normally. It did NOT work until I remembered I had to reinstall OS/2 because of a drive failure and that I had forgotten to add my Utilities directory to the DOS PATH statement in my AUTOEXEC.BAT. Once I added the directory to the path ARJ/PKZIP/PKUNZIP et al magically started functioning correctly. Good luck! :-) See ya, Craig cam@wpc.cioe.com --- timEd/2 1.00 * Origin: Workplace Connection * (317) 742-2680 (1:201/60) ------------------------------------------------------------------------------