Changes in 2.50 =============== Enhancements ------------ * Added the ability to allow the sysop define the default response for a Yes/No prompt. Select a language in the language editor, and edit the text. As you scroll through the prompts, watch the character to the immediate left of the prompt number at the top of the screen. This character can be one of four, and has the following meaning: - Normal prompt, display only. * - Prompt has keys associated with it (ie. requires a multiple-choice response). Y - Prompt is a Yes/No question, the default is Yes. N - Prompt is a Yes/No question, the default is No. Editing a Yes/No type prompt will give you the opportunity to select the users default response (ie. what happens when the user presses Enter). Note that the Y/N character displayed at the top of the screen indicates the system default, not necessarily the default which is currently selected. * File and message areas/groups may now be moved, copied, deleted, etc. NOTE! File/message areas/groups now retain their own area or group number regardless of what order they appear in RACONFIG. Moving areas so that the numbers are no longer sequential is okay. This means that moving areas does not require you to renumber your menus, message-base, or file-base. When selecting an area, the user WILL see sequential area numbers (for ease of use). The area number that a user thinks he/she is in is not necessarily the same as the ACTUAL area number defined in RACONFIG. These two separate sets of area numbers are automatically mapped to one another. You will notice a number of new options in RACONFIG when any one of the first four manager options is selected: Enter - Edit the highlighted area. Space - Drop the tagging anchor to select a range of entries (as in RAMGR.Files). INSERT - Insert a new area at the current position. This will cause all entries after the new entry to be moved down by one position. DELETE - Delete the current area/range of areas. All entries after the deleted area(s) will be moved up to close the gap left by the deleted areas. Alt-M - Move the currently selected area(s) to another position. You will be asked to specify the new position at which to insert the areas. Alt-C - Same as Alt-M, but duplicates the areas instead of just moving them. Alt-G - Perform global changes to the currently selected area or range of areas. You will be presented with a blank edit screen which looks exactly like a normal edit screen. (NOTE: The edit screen will automatically 'inherit' the values from the record that was last edited.) Edit the fields which you want to apply to the selected areas. You will notice that after editing a field, it will be flashing. Note that only flashing fields will be applied to the selected areas. To toggle whether a field is flashing, move to it and press the space bar. Press ESCAPE to apply your changes. Press F1 at any area/group edit screen to modify the number of the currently displayed entry. NOTE: By default, RACONFIG will not allow duplicate area or group numbers to be entered. Placing a -N on RACONFIG's command-line will temporarily disable the dupe checking. * New textfile control codes: ^K$ - Number of callers today. ^K% - Handle of last caller. ^K& - Number of files currently tagged. ^K' - Total kilobytes of tagged files. ^K( - Name of currently selected language. ^F^ - Current session time limit. ^F_ - Time remaining this session. * Added a user flag which enables the user to determine the scope of a mailbox scan. The default behaviour is to check all areas the user has access to. Enabling this option will limit the scan to only message areas which the user has enabled is his/her combined settings. This option is toggled with menu type 75, and its textfile control code (ON/OFF) is ^F-. * During file transfers, ALT-J as well as all the ALT-Fn keys are now automatically disabled. * The *U parameter for a type 7 command, to place a custom message in the "who's online" list, is now valid for menu types 1 to 4. * It is now possible to pre-define the width of any textfile control code. Simply place one '.' character between the ^K/^F and the second part of the code for every additional space you would like the field padded with. Example: ^FA Displays the users name. ^F....................A Displays the users name padded with 20 spaces. If the field is longer than the defined number of spaces, it will be truncated. Text fields are always justified to the left, and numerical fields are always justified to the right. * Added an option in the menu editor (in the ALT-P edit window from the menu edit screen) to not append the global menu (GLOBALRA.MNU) to the menu currently being edited. The default is to always append the global menu to every menu. * Textfile control codes are now valid for all menu item optional data fields. * Added a new command to the questionnaire language - COMMIT. Normally, user responses are stored in a buffer and written to disk when the questionnaire terminates. The COMMIT command will force the contents of the buffer to be written to disk immediately. * Normally, questionnaire responses are written to a file called nnn.ASW (where nnn is the original questionnaire name) in the system directory. A new command, DEFINEOUTPUT, allows the sysop to specify the name of the output file. The format is DEFINEOUTPUT . Example: DEFINEOUTPUT C:\RA\ANSWERS\NEWUSER.TXT * Implemented Netware IPX support for real-time conferencing. To enable IPX support, simply use the new -I command-line parameter when loading RA. * Real-time conferencing now sends users messages only when they press (Enter). This prevents users from 'interupting' one another, and makes large conferences more readable. * New option - RACONFIG.Options.Files.Logoff warning, if enabled, will warn a user who is about to logoff that he/she has tagged files. The user will be given the opportunity to return to the system. * FILE_ID.DIZ type descriptions are now displayed without automatic word-wrapping. A FILE_ID.DIZ description is defined as not having any lines which exceed 45 characters in length. * Added an option (RACONFIG.Options.System.Limit local) to disable the use of all sysop keys during all user sessions (this includes local logons). This effectively means that users who log on locally have no more power than those who log on remotely. * Encrypted passwords are now optional, and are enabled or disabled by setting the new 'Save password' option in RACONFIG.Options.System. Setting this option to 'Yes' will force RA to store passwords as regular text in the user-file, as with versions prior to 2.0x. NOTE: Because RA cannot convert an encrypted password back into straight text, the actual password cannot be stored/used until the user has logged on at least once. RAMGR will show user passwords as 'Not visible' until you press (Enter) on the Password field. You will not be able to view a users password until either: 1. The user has logged on at least once since 'Save password' was enabled. 2. You enter a new password for the user with RAMGR yourself. DEVELOPERS: If the 'Save password' option is enabled, the following rules should be observed when editing/ viewing passwords: 1. When entering a new password, the PasswordCRC field must be updated as well as the actual Password field in the user record. 2. Only assume that the Password field is correct if it matches the PasswordCRC field. If the two fields do not match, do not allow the password to be viewed as it is probably incorrect. Offer only the ability to enter a new password. * The file list format may be temporarily overridden for both the 'list files' and the three file search menu commands, on the command's optional data field. This makes it possible to have several file list commands (for example) available to the user each with different list formats (brief/verbose/etc). Simply specify the desired list format immediately after the /A= parameter. Example: Type 31 (list files) Optional data: /F /T /A=@NE @DF The above command would list files in the current area with tagging enabled, using the alternate file list format shown. NOTE: The /A= parameter must be the last parameter specified. * The internal delay function in RA now timeslices while waiting for the timer to expire. * RA now makes a log entry when a user is disconnected because the logon speed is too slow. * Added two new commands to the questionnaire script language; GOSUB and RETURN. GOSUB has one parameter - the name of the label to branch to. When a RETURN command is encountered, the interpreter will branch back to the command immediately following the last GOSUB command. GOSUB commands may be nested up to 50 levels deep. * Added a new option to auto-hangup a user if (Enter) is pressed on a blank line at the login prompt more than a certain number of times. Set the RACONFIG. Options.System.Blank logins option to the maximum number of tries. Leaving the field set to 0 disables this option. * The Keyword file search menu command now accepts multiple search keywords. If more than one keyword is specified in the search criteria, the words are ANDed together. * Added a 'Scanning messages, please wait' prompt to the language file. * Hitting (Enter) during a RTC will now cause a brief help message to be displayed. * Changed the default behaviour of the "Terminal" setting on the menu item screen; if "ANSI" is selected, the option will only be made available to the user if RIP is *NOT* enabled. To make the option available to RIP users, the "RIP" setting must be enabled separately. * The "Assign" questionnaire command now accepts other variable numbers preceded by the '#' character. For example: Assign 2 #5 This command would copy the contents of variable 5 into variable 2. * Removed support for the @ and ` characters in menus to display current msg and file area names. There are textfile macro equivalents which work in menus, and the expansion of these characters causes problems for certain applications. * Added new fields to the LIMITS settings to extend the accounting system: FlexTime - If set to a non-zero value, then the user will be permitted to stay online after his/her daily time limit has been exceeded, however the amount specified will be deducted from the users credit balance every minute. The user will be disconnected when his/her credit balance reaches zero, unless post-billing has been enabled in the users record. Session - Sets the maximum amount of time a user may stay online per session (as opposed to per day). Reset - Enables the sysop to automatically deduct or add credits to the users account via RAUSER at regular intervals. Options are Never, Weekly, Monthly or Yearly. ResetOfs - Determines on which day of the period specified in the Reset option that credits will be deducted or added to the users account. (Eg. 1 = First day of the Week/ Month/Year). ResetAmt - The amount to apply to the users account if the Reset option is activated. A positive amount will add to the users credit balance, a negative amount will subtract. * The textfile FLEXTIME.A?? will be displayed when the user switches from regular time to flexitime (if the option is enabled). * RAUSER -R will cause RAUSER to update user account balances according to the new options in LIMITS. A pack will be automatically performed if not otherwise specified. * Pressing PgUp and PgDn on the numeric keypad while a user is online will increase and decrease respectively the users time-limit for the current session only. * The (F1) status line has been enhanced to show both the users daily time limit, as well as the time limit for the current session only. If the time limit for the current session is LESS than the overall dail time limit, it will be displayed to the right of the daily time limit. Eg: Time: 90/30 .. would indicate that the users daily limit is 90 minutes, and there are 30 minutes remaining before the user will have to log off and call again. Note that if the user goes into 'overtime' due to the FlexiTime option, this will be indicated by a negative number on the left: Time: -25/15 .. would indicate that the user has gone overtime by 25 minutes, and the time limit for the current session will expire in 15 minutes. * Added support for the RIP 2 standard. Callers using RIP 2 compatible terminals will be sent .RI2 textfiles, if they exist. RIP 2 compatibility is indicated on the (F1) status bar. * Added a path in RACONFIG.System.Paths to indicate where RIP icons are stored. * New menu command (type 76) : Display a RIP icon. This can be used to display a RIP icon to the user. There are several parameters that may be used on the optional data field: /FILE= - Filename of the icon to display. If omitted, a plain button will be drawn. NOTE: Specify the filename only; the RIP path (see above) is automatically added. /LABEL= Line of text to display with the button. If the button is an icon, the text will be displayed below the image, otherwise the text will be displayed in the centre of the button. UNDERSCORES WILL BE REPLACED WITH SPACES. /LABELCOL= Colour in which to display the button's label. /HOTKEY= Hotkey to simulate when the button is clicked by the user. If no hotkey is specified, the button will not be clickable. /X= X-coordinate at which to display the button. REQUIRED PARAMETER. /Y= Y-coordinate at which to display the button. REQUIRED PARAMETER. Example: Menu type 76 Opt data: /FILE=EMAIL.ICN /X=100 /Y=100 /HOTKEY=M LABEL=Msg_Menu This would display the icon EMAIL.ICN on the users terminal at coordinates (100,100), with the text "Msg Menu" below it. When clicked, the BBS would act as if the user had pressed the 'M' key. If the button is an icon, this command will automatically check to see if the user already has the icon file, and if necessary, send it automatically. * Added support for modem speeds 31200 and 33600 BPS. * All messages posted after a user enters an incorrect login password are now forced to Private. * Added an option in RACONFIG.File Options to include CD-ROM file areas in a new files scan. Bug fixes (post- GAMMA) ---------------------- * RACONFIG now checks that the RIP icon path is valid. * The "You have exceeded your timelimit.." message was sometimes displayed twice to a user before disconnection. Fixed. * If New User IEMSI was disabled and a new user logged in using IEMSI, the user would not be asked for a password during the new user login sequence. Fixed. * When creating a new filebase directory, RACONFIG now creates the IDX/HDR/TXT subdirectories automatically. * Fixed a nasty bug which would cause RACONFIG to crash when deleting FDB files. * RACONFIG would incorrectly report that a group number was already in use even if it wasn't. Fixed. * Editing a group/area number with the F1 key, and then aborting by hitting ESCAPE would still save the changes. Fixed. * The control codes to show session limit and session time remaining now display their daily equivalents if session limits are not enabled for the current user. * RA was not taking session limits into account when writing the DOOR.SYS and DORINFO1.DEF door files. Fixed. * If a user's session time left was greater than his/her overall daily time left, RA would incorrectly display the session time left as the user's remaining time for the session. Fixed. * If flexitime was enabled and a user had a zero or negative credit balance, the session would be terminated immediately, even though the user's daily time limit had not been exceeded. Fixed. * After a DOS shell, the ^KM and ^FU control codes would return incorrect values. Fixed. * The upgrade procedure did not correctly fill in the new baudrate connection fields. Fixed. * If a user selected a msg/file area whose primary group number was different to the users current area (ie. it was chosen from one of it's secondary groups), the users current group would be changed to the area's primary group. Fixed. * The control codes to display session time info now return '0' if session times are not configured for the current user, rather than a blank. * Reduced the memory requirements for the new archive viewing code. * If a user posted a message to another user who was currently on-line, the recipient would only be notified if the message was addressed to his/her real name, not the handle. Fixed. * Added timeslicing support to the RTC. * Trying to view a file which was not currently displayed in a file list would cause unpredictable results. Fixed. * RAFILE CLEAN did not correctly account for file areas which had been moved and re-indexed. Fixed. * Deleting file areas in RACONFIG would sometimes delete the wrong FDB files. Fixed. * RA would not correctly display the contents of a self-extracting ARJ 2.50 archive. Fixed. * Selecting an invalid area from the message area selection menu command would produce unpredictable results. Fixed. Bug fixes (pre- GAMMA) ---------------------- * Fixed a nasty bug which would cause an internal JAM buffer to not be deallocated if RA could not create a JAM area which did not exist. * Fixed a small cosmetic bug in the position indicator during a file transfer. * It was possible for RemoteAccess to delete files in the root directory if a message was deleted that had a blank subject line with the file attach flag enabled. Fixed. * Fixed a bug in RAMGR which would cause the adopt files screen to screw up if files were tagged in the current area. * Fixed a bug which would cause the screen to screw up if ALT-D was pressed in "waiting for call" mode. * Fixed a bug which caused the message 'WARNING -- THIS USER ENTERED AN INVALID PASSWORD' to be incorrectly added to the top of return receipt and duplicate telephone number warning messages. * RA now correctly updates the users location in the USERON file if edited via ALT-E. * Previously, if a user asked to turn on ALL message areas for combined reading, RA would select message areas 1 to 200, regardless of whether the areas were active or not. This has been fixed, so RA now selects the first 200 active areas only. * The group mailing function would not correctly process security levels greater than 999. Fixed. * It was possible for a user to receive the same online message more than once if the internode message semaphore could not be deleted. The semaphore is no longer deleted, rather it is truncated to zero length. This should fix the problem. * A WaitEnter command would not work in a questionnaire if preceded by a menu command 72 (change default protocol). Fixed. * Internet email messages may now be marked as kill/sent and file attach. * The RACONFIG.Options.System.Telephone scan option was previously ignored. This has been fixed. * Older versions of RAMGR would not accept the root directory of a drive as a valid file path. Fixed. * Using the sysop message adjustment menu ('*') while reading messages in an area whose number was greater than 255 caused unpredictable results. Fixed. * The Read Messages function was previously not showing the 'Sent' attribute for echomail/newsgroup messages that had actually been exported. Fixed. * When a file/message area/group edit window became inactive, sometimes the area number displayed in the header would be displayed incorrectly. Fixed. * It was possible for the 'Time' field in the file transfer window to be truncated if it exceeded five characters. Fixed. * If a user tried to reply to an echomail message via netmail, but did not have access to any netmail areas, RA would post the reply in the current echomail area. This has been changed so that the posting process is now simply aborted. * RA now requires message posted in an Internet email area to contain either the '@' or '!' characters. * If a user did an ALT-P in RAMGR.Files to copy the current file to a path, and entered the same path that the file was already in, the file would be truncated to zero length. Fixed. * Previously, RA did not apply the FlatCost or TimeCost fields to menu types which were auto-executed, as opposed to those selected by the user. Fixed. * The nodelist browser now supports zones above 255, as well as an unlimited number of zones/nets/regions. * RA would not properly recognise the '!' character in an Internet address. Fixed. * Users' upload credit amounts would be calculated incorrectly if a transfer started before midnight and finished after midnight. This has been fixed. * Users would not receive online messages while in real-time conferencing. This has been fixed. * Users' birthdates were incorrectly extracted from IEMSI logon sequences. Fixed. * Rewrote RA's command-line parser to be more bullet- proof when parsing extended modem connect strings. * The @, ~ and ^ characters would be translated into their menu control code equivalents in online messages at the receiving node's end. Fixed. * Previous versions of RAMGR could not pass a filename that contained the '@' character to the command-line from a function key. Fixed. * Fixed a bug which caused RA to ignore certain FTS kludge-line subfields in a JAM message. * Fixed a cosmetic bug which would cause filenames to be overwritten when validating file passwords, if the default colour of the 'Password' prompt was changed. * RA would not count external downloads if the files downloaded were listed in lowercase characters in the FDB. Fixed. * RAMGR.Files 'Update' would place the path of the file area into any blank lines currently tagged. Fixed. * RAFILE would still not list files from the previous year with the /D option. Fixed. * Fixed a bug which would cause questionnaires to sometimes not branch correctly to a label when a GOTO command was executed. * Attempting to output more than 50 lines of output to the .ASW file of a questionnaire would result in garbage being written. This has been fixed. * Posting a message to '@All' in an area which forces users to use handles now addresses each message to the users handle, rather than real name. * Revamped the download ratio code. All file ratios should now be enforced correctly. * Menu type 43, 'show message areas with new mail', did not honour the /MG command on the optional data field. Fixed. * Trying to download file attaches which did not exist could cause the system to appear to have locked up. This has been fixed. * External downloads were not updating users' credit balances. Fixed. * The character '?' is now treated as invalid in a birthdate. * Returning from a shell, RA previously did not correctly re-read the sizes of free files from the taglist. Fixed. * RAFILE COMPRESS did not cope too well with blank description lines, and would sometimes generate garbage in the file database. Fixed. * Previously, turning off the (Exported) flag on an echomail JAM message via the sysop message menu did not work. Fixed. * When tagging files, the "Sorry, this file would exceed your.." message would be seen locally, but sometimes not remotely. Fixed. * Fixed a bug in the JAM .IDX scanning code. Previously, if RA encountered a deleted message when doing a forward scan, it could 'drop out' of message reading mode. Fixed. * Fixed a bug in the parsing of menu command optional data from questionnaires. * Fixed the ARJ viewing bug. RAMSG 2.50.b4 ============= * When purging messages in the Hudson message base by date, RAMSG will now treat dates where the year is smaller than 80 to be in the 21st century (20xx). * If RAMSG Pack aborts due to an error while packing a JAM base, it will now clean up the temporary .$xx and .SWP files. * Added detection for Windows 95 and DESQview/X. * The Purge command no longer uses existing information when purging a JAM base by number of messages, instead it builds new index files, which is safer than relying on the old index files and "ActiveMsgs" value. * The Index and Purge commands will now set the HdrOffset in the index record of a deleted message to -1.