*****************************************************************
   What's new in RemoteAccess Automated Message System v2.00
*****************************************************************

The following is a list of all the changes made to Rams, they
are not listed in any particular order, so it would be advisable
to quickly read through this file if you are using an earlier
release of Rams.

If you are upgrading from v1.30 or v1.31, Please run UPDATE.EXE in
your Rams directory BEFORE attempting to run RamsCfg OR Rams.Exe...
There  are  changes  to  the data  structures in this  version, and
attempting to run either Rams OR RamsCfg without running Update.Exe
first WILL cause runtime errors!

If this is a first time install of Rams, please refer to the Rams.Doc
file for details of how to setup the program on your system.


IMPORTANT! IMPORTANT! IMPORTANT! IMPORTANT! IMPORTANT!

Rams no longer does it's midnight event automatically! To run the Rams
Daily procedures you MUST run it with the command line parameter /D

ie. RAMS.EXE /D in your midnight event.

This MUST be done ONCE per day ONLY. Running Rams MORE THAN ONCE with
this command line WILL cause duplicate messages. Rams should be run in
this mode as soon after midnight as possible to keep all it's counters
etc up to date.

Fixed a minor bug in the Sysop metastrings that would cause Rams to
incorrectly insert a co-sysops name instead of translating it to the
correct one if Rams was setup to post a user message from a Co-Sysop.

Added a 'Timelimit exceeded' message in the 'Normal' messages. Rams
will post this message if a user exceeds their daily timelimit.

Added the following metastrings:

%SYSTLIMITPOSTED% Sysop Timelimit messages posted today.
%USERTLIMITPOSTED% User Timelimit messages posted today.
%SYSTLIMITWEEK% Sysop Timelimit reports sent last week.
%USERTLIMITWEEK% User Timelimit messages sent last week.
%BAUD% Speed caller connected at.
%FILESUPLASTCALL% Number of files user uploaded in their last call.
If they didn't upload anything in their last call this will be 0 (zero).
%KBUPLASTCALL% Size of files in Kb that the user uploaded in their last
call. If they didn't upload anything on their last call this will be 0 (zero).
%CALLSPLUSONE%, this works exactly the same as the %CALLS% metastring except
that it adds ONE to the number of calls. So if a user has called 5 times and
you have a message set to be posted to him after that you can use the
%CALLSPLUSONE% metastring to say 'This is now your 6th call to this system'
Since he will get the message on his 6th call it's correct... Follow the
logic?
Added a new metastring %SUBSDATE% which can be used to inform users
of the date their subscription expires. It will read the subs date
from the user record and translate it to the date.

ie.

03-08-97 (in user record), will be converted to:

8th of March 1997

Don't forget RA uses the American date format of (MM-DD-YY) so please
ensure you enter the subs date correctly in the user record!


Fixed a minor problem with the procedures that Upcased the first letter
of user names in the message header. It was screwing up if a high ascii
char was included in the user name.

Rams will now add an origin address to the message header of echo messages
it generates. Previously it was simply setting this to 0:0/0.0 It now works
exactly as it does for Netmail messages. Local messages will NOT have an
origin address added to the message header as it's not necessary.

Fixed a bug with the Subscription messages. User messages would NOT be
posted if the Sysop reports were INACTIVE. Rams will now correctly post
the User messages when Sysop reports are disabled.

Fixed a minor bug that would cause Rams to wrongly post a Carrier drop
message on rare ocassions when a user had been logged off by RA for
exceeding their time limit. This was due to a change in a log entry string
in RA v2.50. It didn't affect RA 2.0x

Added the ability for Rams to create 'Stats' screens... It will create
whatever screens you have set as 'ACTIVE' in your RA textfile directory.

Fixed a couple of minor problems in the Config program. It wouldn't allow
you to use a '-' (minus symbol), '_' (underscore) and some other characters
in filenames. It also wouldn't allow some characters such as an apostrophe
in the 'Title' line for the stats screens etc.

Fixed a problem with the 'Subscription' messages. Rams wasn't setting the
users security level if it was setup to alter it in any way when the subs
had expired.

Added a 'TimeLimit (Event)' Message. This is similar to the 'TimeLimit' Msg,
except that it will ONLY be posted if the user was logged off by RA after
exceeding their timelimit because of a forced system event. The standard
'Timelimit' message will ONLY be posted if the user exceeded their timelimit
normally (ie NOT because of a forced event in RA).

Fixed a problem with the error reports if Rams had not posted a message
because a user was outside the 'Conditions' for a particular message. Rams
was giving the wrong error message in it's log.

Fixed a couple of problems with the Birthday msgs/Screens. If you had setup
more than one birthday message and the user met the conditions for BOTH
messages Rams was adding the users name TWICE to the Sysop birthday
report msg.

Did a rewrite on the midnight procedures that scan the userbase to speed
things up a little. On most systems this should result in Rams doing it's
'Daily' procedures over TEN times quicker than in previous releases.

Fixed a minor problem with the error reports for file attach messages. The
errors were being displayed onscreen, but weren't being written to the Rams
log file. Rams will now correctly write the error to it's log.

Added some routines so that Rams reports on-screen when it's generating
the various Ans/Asc screens. Mainly coz it looks better when people know
what Rams is doing (especially on slow systems) rather than nothing
appearing to be happening other than disk activity.

Fixed a minor bug in the carrier drop messages that caused a wrong
carrier drop message to be posted under certain circumstances.

Corrected a problem that caused the Watchdog messages not to be posted
in certain circumstances.

Added a new metastring %SUBSDAYS% which will give the number of days
left until the users subscription expires.

ie.

If todays date is 01-Aug-1996 and the users subs date is 03-Aug-1996,
%SUBSDAYS% will return a value of 2... If the users subs date is blank,
or it is a date BEFORE todays date, it will return <Unknown>.




*****************************************************************
   What's new in RemoteAccess Automated Message System v1.31
*****************************************************************

Fixed a bug in RamsCfg that would not allow a user to enter high
ascii characters in subject lines etc.  Not much  good for those
countries such as Sweden, France, Russia etc etc  that use  them
as part of their normal character set! Reported by Lars Wigrell.

Fixed a bug that would cause Rams to abort with a runtime error
102 if there were no users in the RA logfile.     Rams will now
correctly continue and do any daily events etc as necessary.
Reported by Lars Wigrell.

Changed some of the logging routines to make it a little clearer
why Rams has  not posted  a message in  the event of a  user not
meeting a condition that was assigned to the message.




*****************************************************************
   What's new in RemoteAccess Automated Message System v1.30
*****************************************************************

Fixed a bug with the Co-Sysop messages. Rams wasn't translating the
%SYSOPNAME% and %SYSOPFIRST% metastrings correctly, it was still
inserting the 'Sysops' name instead of the 'Co-Sysops' name when
sending 'Co-Sysop' reports etc.

Started to optimise the midnight procedures so they run quicker... In
general Rams should now run it's midnight procedures in HALF the time
taken by v1.2x

Added a new metastring, %USERLAST% which will be translated into the
users LAST name, ie his/her surname.

Added new metastring %LINE#% which can be used in any message, and will
be translated into the Line/Node that the user was on. Obviously this
will ALWAYS be 1 for a single line system.

Fixed a bug in the 'Watchdog' messages. If the user left the Sysop a
message before RA terminated the call after the number of password
attempts was exceeded, Rams would incorrectly read the previous callers
log entries as RA doesn't put a log entry saying that the call had
terminated.

Fixed the bug in RamsCfg that would cause it to overwrite the reports
it created.

Fixed a bug that would cause Rams to continually post 'Regular' msgs
EVERY day on some systems, even though the msg was not setup to be
posted every day. It will now correctly post them every X days.

Added File Attach support for 'Local' and 'Netmail' messages. Rams will
NOT allow a file attach to an 'Echo' message. For Netmail messages,
Rams will simply attach the file you specify to the message it generates.
But for Local messages, Rams will create a UNIQUE directory off your RA
'File Attach' directory and copy the file for EVERY message it sends so
BE CAREFUL if you are using the @ALL macro to post 'File Attach'
messages as it WILL take a lot of time and WILL quickly fill up your
hard drive as EVERY message needs a seperate copy of the file because
of the way RA handles things.

Please note: Local file attaches will ONLY work properly if your copy
of RA is REGISTERED, as this is a REGISTERED ONLY feature in RA. Even
on an UNREG copy of RA, Rams will still generate all the file attaches,
but your users will be unable to download the files as RA will not
allow them to do so.

Added the ability for Rams to run external programs in it's midnight
event. These can be 'Regular' (every X days), 'Monthly' (once per month),
or 'Yearly' (Once per year). You should specify the FULL path AND
program name to run. If the program requires Command.Com to be loaded
(ie a batch file), you MUST ensure that you have set the 'COMSPEC'
environment variable. Please refer to your Dos manuals for more info on
'COMSPEC'. Attempting to run a batch file without defining the COMSPEC
environment variable MAY cause an error as Rams will NOT be able to
call Command.Com to process the batch commands. If you specify a program
WITHOUT an extension Rams will search for .Com, .Exe, and .Bat in that
order. Because Rams is a DOS based program it does NOT support .Cmd
files as used in OS/2 etc. If you try to run a .Cmd file you are asking
for trouble! You have been warned!

The new 'External' menu in RamsCfg will allow you to configure Rams to
run the programs you want. Rams will attempt to intelligently report
any problems if they occur with the external programs execution ie.File
not found, Not enough memory etc etc. Don't forget Rams is still active
in memory, so there are limits to what it can handle.

Fixed a bug in the Config program that would cause some garbage to be
written to the report files it created.

Added the ability to specify who to post user messages FROM... By
default Rams will post all messages to users FROM the Sysop, but you can
now alter that from the 'Co-Sysop' feature in each message type. If you
want to have the user messages posted by one of your Co-Sysops you MUST
tell Rams which one to use... You can specify a different Co-Sysop for
EVERY message Rams can post to your users, or as explained above, Rams
will default to using the Sysops name if you don't tell it otherwise.

Fixed a bug that caused Rams to post 'report' messages to the Co-Sysops
even if the Report messages were disabled.

Tidied up some of the menu entries in the config program, and moved the
'Report' menu to the end of the main menu bar. Also added the 'External'
programs to the reports generated by RamsCfg.

Fixed a minor bug that would cause Rams to say a message had been saved
even when it had not been unable to open the message base correctly. It
will now report an error in it's log instead.

Fixed a minor bug with the 'Subs' messages that would cause RAMS to only
post the Sysop message (and not send the user message) in certain
circumstances.

Fixed a bug that caused Rams not to execute it's midnight procedures if
no users were found in RA's logfile.




*****************************************************************
   What's new in RemoteAccess Automated Message System v1.21
*****************************************************************

Since v1.20 is only a very minor bugfix.. Please read the rest of
this document to see all the changes made since version 1.0

Fixed a minor bug that would sometimes cause RamsCfg to give a
runtime error when exporting a configuration report under some
conditions.

*****************************************************************
   What's new in RemoteAccess Automated Message System v1.20
*****************************************************************

Now, what's new in this the third release of Rams?

Added a new metastring %MSGSPOSTED% which will be translated to the
TOTAL number of messages posted by the user on your system. This is
read from the users record so *may* not contain messages posted using
a mail door as *some* of them do not update the users messages posted
counter :-(.

Fixed a minor bug that would cause Rams to generate a runtime error
002 if no logfile was specified in the config program. Rams will now
by default create a logfile called RAMS.LOG in the directory it was
run from if nothing is setup in the config program.

Changed the 'Welcome', 'Upload', 'Watchdog', and 'Birthday' messages
to multi-style msgs.

Added Netmail support to the 'Regular', 'Monthly', and 'Yearly' msgs.
This is ONLY available for the USERS messages, and can be used to send
any regular Netmail messages you may need to post.   Things such as
Areafix msgs etc etc. The Netmail ONLY supports Hudson and JAM netmail
areas, it does NOT support the *.MSG format.

Changed the screen output so it now shows which user record Rams is
reading. That should satisfy those using slower machines that Rams is
actually doing something, particularly in it's midnight event. Don't
forget the more users you have in your userbase, the longer Rams will
take to run... That's a good enough reason to purge your userbase
files once in a while!

Added code to handle Co-Sysop messages. Rams can now post to upto 3
Co-Sysops as well as the normal Sysop msg. The Sysop msg MUST be
active for Rams to post the messages to your Co-Sysops, and you MUST
activate the 'Co-Sysop Feature' in RamsCfg and enter the names of the
users you wish to post to. Rams will then duplicate the Sysops message
and post it to the users you have specified in the config program.

Added the ability to reset upload/download counters when sending a
subscription message. You can toggle wether Rams should alter them in
the 'Actions' menu for the subs msgs. If active, RAMS will reset the
users D/Load counters to zero, and reset the U/Load counters to the
'New user' defaults specified in RAConfig.

Corrected a bug in the 'Regular' messages that caused Rams NOT to
post the message because the counters weren't being correctly reset.

Added the ability to create Ascii textfile reports from within the
config prog.






*****************************************************************
   What's new in RemoteAccess Automated Message System v1.11
*****************************************************************

Now onto the new bits/bug fixes since the first release:

Since v1.11 is only a very minor bugfix.. Please read the rest of
this document to see all the changes made since version 1.0

Fixed a minor bug that would sometimes cause RamsCfg not to save
any changes made in the config file.

All registrations are now being handled by Minerva Online, with
the exception of upgrades from Mom. All details are included in
the REGISTER.NFO and MOMUPGRD.REG files.    So now you have the
choice of paying by cheque, postal order, cash, credit card  or
whatever... There is no excuse for not registering anymore! :-)


*****************************************************************
   What's new in RemoteAccess Automated Message System v1.10
*****************************************************************

Added the Rams version number to the Rams log when it is created.
No real reason for this  except that it will help us to see what
version of Rams is being used if we get any logs sent by users who
have a problem.

Added support for the users 'Sex' as a message condition.. So you
can  now  setup  Rams so  it  will post to 'Both',  'Male'  only,
or 'Female' only... The default is for Rams to post to BOTH sexes.

Added support for the users 'Language' as a condition.. So you can
now setup Rams so it will post to any valid language in the range
0-255.. If it is set to langauge 'ALL' (the  default  setting) it
will post to  ALL  users irrespective  of which language they have
chosen.

Added support for the users 'Group' as a condition AND action. By
default Rams will post to 'ALL' groups, and will have the action
set as 'N/C' (No  Change).  You can enter  any valid group  as a
condition or action (0-255) and Rams will ONLY post the message if
the user is in the group you have defined. Rams can optionally
change the  users  group if you specify an action... Leaving it at
'N/C' means Rams will 'Not Change' the users group.

Added support for checking the user Flags as a 'Condition'. you
can select a flag Condition of 'X', 'O', or '-'. 'X' means that
the selected users flag MUST be ON, 'O' means that the users flag
MUST be OFF, and '-' means that Rams will IGNORE that particular
user flag. The default is for ALL flags to be set to '-' so that
Rams will IGNORE ALL the user flags and send the message to ALL
users provided they also match any other conditions you may have
specified.

Added the code to set the user Flags. You can now specify an 'Action'
for all messages which will tell Rams to alter the user flags when
it posts a message to your users. You have the following options:
T = Toggle userflag ie. if it's ON turn it OFF, or if OFF turn it ON
O = Clear userflag. ie. turn it OFF
X = Set userflag. ie. turn it ON
- = Leave flag setting alone. ie. Don't change it

Added a built in message template editor into the config program.
this can be called up in any message menu by pressing F5. If you
are in the Sysop part of the menu, the editor will automatically
load the Sysop message template, if you are in the User part of
the menu it will load the User message template. Not only will it
allow you to edit the message, it will also allow you to select
metastrings from a list.. You choose the one you want, and the
editor will automatically insert it at the current cursor position
in the message template.

Added some more error checking into the config program. Now you
MUST  setup the System  menu BEFORE you  can activate ANY of  the
messages.  If you have  not setup the  system menu, RamsCfg  will
display an onscreen message asking you to configure the various
paths first.

Changed the order that some of the messages are posted in so that
'Keyword',  'Times On',  and  'Nth Call' will now be posted AFTER a
'Welcome' message. If the user is a NEW user, and you have Welcome
msgs active it will ALWAYS be the FIRST message posted to the user.

You can now hit F3 from anywhere in each menu and RamsCfg will pop
up  the  users 'Conditions/Actions' menu  so  you  can  setup  any
conditions or actions for that particular message.   You no longer
have to have the option highlighted before you can use the F3 key.

Fixed a bug with Weekly messages and the msg counters it uses. If
Daily messages were disabled, but weekly msgs were active, Rams
would show zero for ALL msg counters.

Fixed  a problem  with the midnight  messages that would cause a
runtime error 102 or 105 under certain conditions.

Fixed a bug with the subscription messages in Rams... This meant
Rams would NOT post any 'Subs' messages.

Fixed a bug with the subscription messages that caused Rams to
attempt to post them to the last user that had been online before
midnight, even if they were not supposed to be sent a subs message.

Fixed a bug that caused Unregistered versions of Rams to show the
'Registered' tear line at  the bottom  of any messages that  were
created.

Fixed a bug that caused Rams NOT to post *some* user messages if
the  accompanying  Sysop  reports  were  disabled.  The messages
concerned were:
Welcome, Watchdog, Upload, and carrier Drop.  The  USER messages
would NOT be posted IF the Sysop reports were inactive.

Fixed a bug that caused Sysop subscription reports to show the name
of the last user online when translating the %USERNAME% metastring
instead of the name of the Subscriber that was posted a message.

Fixed a minor problem with user D.O.B. if the users Birthdate was
blank in the users record Rams would display '--19' OR '--' as the
users DOB in messages when it translated the metastrings. Either
'??-??-19?? <Birthdate Unknown>' OR '??-??-?? <Birthdate Unknown>'
will now be shown.

Fixed  a bug in the  subscription  messages that caused the Sysop
'Report' message to be posted even when the user was outside the
conditions specified for the message. The user message wasn't sent,
but the Sysop report was...

Fixed a bug in the birthday messages that would cause Rams to alter
the wrong user record if any 'Actions' were defined for the message.
If the user  was at record 505 for example, Rams  would alter record
504... This ONLY affected birthday messages.

Fixed a bug  that caused the %WHOTO% metastring not to be translated
correctly.
