Category : BBS Programs+Doors
Archive   : CHAM34BT.ZIP
Filename : CHAMLEON.DOC
CHAMELEON
The PCBoard Message Base Converter
V3.xx- eta
Copyright 1989
Kevin Fong
All Rights Reserved
AUTHOR'S NOTE:
This is Chameleon. I developed and wrote this program for my own
use, with no intentions of ever releasing it to the public.
However, after several sysops voiced an interest in Chameleon, I
have decided to release it on the condition that users of
Chameleon NOT expect the world of me. I am a working person,
with very little time left to invest in my BBS hobbies (when I
was unemployed, I would have LOVED to work directly with anyone
on this project).
I am generally a meticulous person, ensuring that everything is
complete before releasing anything to a user. However, since my
time needed to write a decent manual would prevent me from
releasing CHAMELEON for another half-year (seriously!), I have
whipped up this simple, "nitty-gritty how-to guide" to Chameleon.
I'm sure the novices will not have a clue as to what's going
on... in which case, I invite you to call my board where I can
help you directly. Experts of OPUS/Fidonet should have no
problem, since Chameleon, in all actuality, is just a "converter"
program.
With this, I wish you good luck on your installation and usage of
Chameleon. I had fun developing it, and it has pulled through
for my needs. Your suggestions and comments are welcomed and
appreciated.
Kevin Fong.
CHAMELEON DOCUMENTATION Page i
=================================================================
SOFTWARE LICENSE
----------------
Kevin Fong and The Transfer Station (herein referred to as "The
Authors"), grants to the user and user accepts a non-exclusive
license to use the Software Products and accompanying materials
provided to the user by The Authors. User is hereby licensed
only to read the program from its medium into the memory of a
computer solely for the purpose of executing the program. User
may NOT alter the program contents in any manner. Such actions
constitute a violation of United States copyright laws and will
subject the user to prosecution by The Authors. User may
redistribute this software to other bulletin board systems and/or
users, but may NOT charge for its distribution and/or use in any
manner or function. The Authors shall have the right to
terminate this license if user violates any of its provisions.
User agrees that the Software Products and accompanying
materials are the property of The Authors and that The Authors
shall maintain title to and ownership of the Software Products at
all times.
CHAMELEON DOCUMENTATION Page ii
=================================================================
SUPPORT/CONTRIBUTIONS
---------------------
If, after using this software, you like it, please help me make
it worth my while by sending in a contribution of $10.00 or more
to:
Kevin Fong
P.O. Box 474
Alamo, CA 94507-0474
Write a short memo on the check or on a piece of paper that this
contribution is for the CHAMELEON SOFTWARE. You may also call my
board and register as a user and sysop, where I will give
technical support for the software. My main board number is
(415) 837-4610. Registration is required.
CHAMELEON DOCUMENTATION Page iii
=================================================================
DISCLAIMERS
-----------
Kevin Fong, The Transfer Station BBS and all other affiliated
parties (hereafter called "The Authors") makes no warranties of
any kind, expressed or implied, with respect to the quality,
performance, accuracy, or fitness of the software for any
particular purpose. The Authors assume no responsibility for
any decisions made or actions taken on the part of the end user
because of the use of this software. In no event shall The
Authors be liable for any loss of profit or any other damages,
including but not limited to special, incidental, consequential
or other damages, arising out of the use or inability to use this
product - even if The Authors have been advised of the
possibility of such damages - or for any claim by any other
party. The Authors reserve the right to make changes,
enhancements and improvements to the software programs at any
time and without notice. The user of these software programs
acknowledges acceptance of this agreement and is subject to its
contents.
CHAMELEON - INTRODUCTION Page 1
=================================================================
INTRODUCTION - WHAT IS CHAMELEON?
---------------------------------
CHAMELEON is a "conversion" program which is designed to convert
PCBoard messages to Fido/Opus message format, and vice versa.
This will allow the use of almost ANY Fido/Opus compatible BBS
program to handle the transfer of FidoNet and Echomail message
bases.
You can use a regular PCBoard conference, rather than having to
go through elaborate doors, and front end programs. Since
CHAMELEON only converts message base formats, you are free to
customize ANY Fidonet/Echomail scheduling/processing events as
you wish.
CHAMELEON is NOT a do-all program. It will NOT support crash
mail, and, from the authors point of view, probably cannot/will
not in the future. At this point, CHAMELEON does NOT support
file requests, but MAY in future releases.
Please read through the complete documentation to see if this
software suits your needs. With a little luck, and a bunch of
diligence, you too can link into the world of FidoNet!
CHAMELEON - SETUP Page 2
=================================================================
WHAT IT DOES
============
This documentation will NOT attempt to explain how to set up a
netmail/echomail BBS system. I will leave it up to you, the
sysop, to obtain the necessary background information for setting
up a Fido compatible BBS system.
Chameleon will convert ANY Fido/Opus compatible message to
PCBoard format, and vice versa. The Fido/Opus compatible message
must be in xx.MSG form, where xx is a number from 1 to whatever.
If these message files are present, Chameleon will manipulate
them and append them to the existing PCBoard message base. It
will also extract messages from a PCBoard message base and create
individual xx.MSG files for use by a Fido/Opus netmail mailer
system.
This entire process was designed and tested around an OPUS
system. To explain things a bit more, here's how I have my
netmail/echomail set up:
I run PCBoard and execute an event at 12:55am (five minutes prior
to National Mail Hour - NMH). At 12:56am, PCBoard does its
external processing (which can be anything you want), then, as a
last process, executes Chameleon to extract any messages that
need to be sent out as NETMAIL (NOT Echomail!). The last thing
that occurs after that is to load up OPUS. OPUS, in turn,
accepts and/or sends netmail ONLY from 1am to 2am PST. At 2am,
it will then terminate, and execute a batch event, which loads
Chameleon and appends any incoming mail packets that were
received. My system then is rebooted and PCBoard is reloaded,
scheduled for ANOTHER EVENT at 4am. At 4am, again, PCBoard
executes its event, which, this time, causes Chameleon to extract
any ECHOMAIL from the ECHOMAIL Conferences. After this is done,
OPUS is again brought up, and is made to poll my echomail source
and exchange ECHOMAIL packets. At the end of this process, OPUS
then executes an event which brings up Chameleon, to append any
new messages to the appropriate echomail conference. PCBoard is
then brought back up, to repeat the cycle for the next day.
Echomail is NOT sent during NMH due to policy.
My suggestion, therefore, is to ensure a thorough working
knowledge of an OPUS (or similar) setup before attempting to use
Chameleon.
CHAMELEON - SETUP Page 3
=================================================================
CONFIGURATION FOR NETMAIL
-------------------------
Netmail is supported by Chameleon, but due to the restrictions
placed by the PCBoard message system, the methodology is a bit
clumsy compared to a true Fidonet system.
First, configure a conference in PCBoard for the netmail
conference. Then, configure a "Message Area" in OPUS using the
SAME subdirectory as the PCBoard conference. PCBoard AND Opus
MUST be able to share this subdirectory in order to find the
corresponding message base and xx.msg files.
Enter this subdirectory, and execute:
CHAMLEON EXCONFIG
Provide the following answers for each question:
Enter message base filename? <-- Enter the name of the file as
defined during your PCBSETUP
session.
AREA name (as used in OPUS)? <-- Enter `NETMAIL' (without the
quotes)
Message attribute value? <-- Enter the value 384 (refer to
the OPUS/Fido message
attribute specifications for
more details).
Name of your BBS? <-- Your BBS Name (Upper and lower
case make a difference!).
Sysop's name? <-- Your name
Zone for this BBS (ZONE)? <-- Your ZONE as assigned by the
Netmail coordinator (generally
`1' for USA).
Network for BBS (NETWORK)? <-- Your NET as assigned by the
Netmail coordinator.
Node for this BBS (NODE)? <-- Your NODE as assigned by the
Netmail coordinator.
ECHO or NOECHO? <-- Enter `NOECHO' (without the
quotes).
Path to MAIN subdirectory? <-- Path/name to your PCBoard MAIN
subdirectory.
Name of USER's file? <-- The NAME of your PCBoard USERS
file.
You have just created the EXTRACT configuration file used by
Chameleon during the PCBoard to Fido/OPUS conversion. The data
file created is called EXTRACT.DAT, and is a standard ASCII text
file. You may edit the fields with any standard editor if you
CHAMELEON - SETUP Page 4
=================================================================
wish.
Now, before proceeding, you will now need to create the
billing/dialing information used by Chameleon for Netmail.
During your OPUS configuration, you came upon a file called
XLAXLIST. This program generates a master nodelist for OPUS.
One of its options is to create a text file called NODETEXT.BBS.
Make sure that this file exists! Create a subdirectory where you
want to store index files to be used by Chameleon. Now execute
the command:
CHAMLEON INDEX
Provide the following answers:
Enter location of NODETEXT.BBS? <-- Where is NODETEXT.BBS
located? Do NOT specify
the NODETEXT.BBS file,
only the path is needed!
Enter ... to place index files? <-- Where do you wish to
place the INDEX files
created by Chameleon?
You have just created the index files needed by Chameleon for
Netmail. You should create new index files EACH TIME you create
a new NODELIST (from NODEDIFF.XXX, etc).
Now, within the same directory, enter the command:
CHAMLEON APCONFIG
Answer the questions as follows:
Enter message base filename? <-- The name of the message base
as defined in PCBSETUP.
Location of node INDEX files? <-- The location of the node index
files used by Chameleon for
netmail (see above for further
information).
ECHO or NOECHO? <-- Enter NOECHO.
Sysop's name? <-- Enter your name.
You have just created the APPEND configuration file used by
Chameleon during the Fido/OPUS to PCBoard conversion. The data
file created is called APPEND.DAT, and is a standard ASCII text
file. You may edit the fields with any standard editor if you
wish.
CHAMELEON - SETUP Page 5
=================================================================
You must now create one additional file called NETALLOW which
contains the valid BBS destinations allowed for netmail. Before
proceeding with this step, read the below explanation of how to
send a netmail message:
HOW TO SEND NETMAIL MESSAGES
----------------------------
A user is able to send netmail messages to up to 26 different BBS
systems. Here's how it works:
A user is presented with a bulletin that lists the following
data:
CODE COST ADDRESS BBSNAME LOCATION
A 0.00 161/42 THE RECORDS DEPARTMENT PLEASANTON, CA
B 0.00 161/55 DIABLO VALLEY PCUG WALNUT CREEK, CA
C 0.10 161/208 GADM HAYWARD, CA
etc, etc...
To send a message to any of the above destinations, a user MUST
include a special code within his/her SUBJECT field of the
message. This special "code" is entered as an "at" (@) sign,
followed by the letter CODE found in the table above.
For example, if a user wanted to send a message to Bill McCauley
at The Records Department (161/42), he/she would use the (E)
command of PCBoard to enter a message. He/she would then specify
WHO to address the message to, in this case, Bill McCauley. The
user would then enter the SUBJECT of the message. AFTER he/she
finishes typing the subject, and BEFORE entering [Return], enter
a SPACE, followed by the "@" symbol, followed by the letter CODE
from the table above:
TO: BILL MCCAULEY
SUBJECT: A TEST MESSAGE TO YOU @A
That's all there is to it! The rest of the message entry works
the same as before! Keep in mind that PCBoard only allows
SUBJECTS to be 25 characters long, so, using the above scheme, a
user can only enter a 22 character subject message.
ABOUT THE COST FIELD
--------------------
The COST field tells a user how much it costs to send a message
to that particular BBS destination. Since many of the BBS's in
CHAMELEON - SETUP Page 6
=================================================================
the list are NOT local calls to a system, the user must PAY to
send the message. In most cases, the cost should be kept
minimal.
RETURNING TO SETUP
------------------
Okay, now that you see how a message is sent, let's create the
NETALLOW file. Using your favorite ascii text editor, create
NETALLOW in the Netmail subdirectory with the following format:
CODE,NET,NODE,COST
The CODE is any letter from A to Z, but must be continuous (you
cannot define A through F and then Y through Z). The NET is the
NET number of a particular destination BBS. The NODE is the NODE
number of a particular destination BBS. The COST field is the
COST of sending a message to that particular destination.
How does Chameleon keep track of COSTS? Chameleon writes and
records COST/ACCOUNT information in the record of each user
within the PCBoard USERS file at location 386. In PCBoard
terminology:
Start Len Type
----- --- ----
386 4 MKS$
If a user does not have enough money left in his/her account, the
message will NOT be sent. A message can be determined as sent by
the presence of the (Echo) message located after the Date/Time
field of the PCBoard message header. If (Echo) is NOT present,
the message was not extracted by Chameleon.
HOW TO ADJUST A USER's ACCOUNT
------------------------------
Enter the command:
CHAMLEON USERBILL
Answer the prompts as requested (they are straight forward). You
can then enter a value for the balance you wish to assign the
user.
ALL NEW users have an account of $0.00.
CHAMELEON - SETUP Page 7
=================================================================
CONFIGURATION FOR ECHOMAIL
--------------------------
First, configure a conference in PCBoard for the ECHOmail
conference. Then, configure a "Message Area" in OPUS using the
SAME subdirectory as the PCBoard conference. PCBoard AND Opus
MUST be able to share this subdirectory in order to find the
corresponding message base and xx.msg files.
Enter this subdirectory, and execute:
CHAMLEON EXCONFIG
Provide the following answers for each question:
Enter message base filename? <-- Enter the name of the file as
defined during your PCBSETUP
session.
AREA name (as used in OPUS)? <-- Enter the AREA name used for
this conference. THIS IS A
CRITICAL FIELD!
Message attribute value? <-- Enter the value 384 (refer to
the OPUS/Fido message
attribute specifications for
more details).
Name of your BBS? <-- Your BBS Name (Upper and lower
case make a difference!).
Sysop's name? <-- Your name
Zone for this BBS (ZONE)? <-- Your ZONE as assigned by the
Netmail coordinator (generally
`1' for USA).
Network for BBS (NETWORK)? <-- Your NET as assigned by the
Netmail coordinator.
Node for this BBS (NODE)? <-- Your NODE as assigned by the
Netmail coordinator.
ECHO or NOECHO? <-- Enter `ECHO' (without the
quotes).
NET of Echo source? <-- The NET of the BBS carrying
your Echo mail packets (your
source).
NODE of Echo source? <-- The NODE of the BBS carrying
your Echo Mail packets (your
source).
Path to MAIN subdirectory? <-- Path/name to your PCBoard MAIN
subdirectory.
Name of USER's file? <-- The NAME of your PCBoard USERS
file.
CHAMELEON - SETUP Page 8
=================================================================
You have just created the EXTRACT configuration file used by
Chameleon during the PCBoard to Fido/OPUS conversion. The data
file created is called EXTRACT.DAT, and is a standard ASCII text
file. You may edit the fields with any standard editor if you
wish.
Now, within the same directory, enter the command:
CHAMLEON APCONFIG
Answer the questions as follows:
Enter message base filename? <-- The name of the message base
as defined in PCBSETUP.
Location of node INDEX files? <-- The location of the node index
files used by Chameleon for
netmail (see above for further
information).
ECHO or NOECHO? <-- Enter ECHO.
Sysop's name? <-- Enter your name.
You have just created the APPEND configuration file used by
Chameleon during the Fido/OPUS to PCBoard conversion. The data
file created is called APPEND.DAT, and is a standard ASCII text
file. You may edit the fields with any standard editor if you
wish.
AFTER CONFIGURATION - NOTES & HOW IT WORKS
------------------------------------------
Chameleon will extract messages from a PCBoard message base and
convert each message to an indivual file of xx.MSG format used by
OPUS/Fido. OPUS, in conjunction with OMMM (contained with OPUS),
will further process these xx.MSG files and will mail them to
other OPUS/Fido compatible systems.
Chameleon will also append messages received by OPUS/Fido in
xx.MSG format to a PCBoard message base.
To extract messages from a PCBoard message base, enter the
subdirectory of the conference, and execute:
CHAMLEON EXTRACT
Chameleon will then extract any messages to xx.MSG files, for use
by OPUS.
CHAMELEON - SETUP Page 9
=================================================================
To append messages from xx.MSG format to a PCBoard message base,
enter the subdirectory of the conference and execute:
CHAMLEON APPEND
Chameleon will then append any xx.MSG files in that subdirectory
to the PCBoard conference message base.
During the EXTRACT process, if Chameleon detects the presence of
ANY xx.MSG files, it will first APPEND them to the PCBoard
message base before extracting any new messages (Chameleon thinks
any existing xx.MSG files are meant for appending).
During operation, Chameleon creates several working/flag files.
They are:
CHAMLEON.LOG
LASTMSG
DATE.APP
ERROR.FIL
CHAMLEON.LOG: A "history" file of everything Chameleon did for
that particular conference. One log is created
for each conference.
LASTMSG: A file containing a pointer to the LAST Message
Chameleon appended the day PRIOR. This is used so
that Chameleon knows which message to start
extracting from (to prevent duplicates). If you
RENUMBER your message base, you will need to
CHANGE the value within LASTMSG to correspond with
the old value.
DATE.APP: A marker to indicate to Chameleon the last date
that messages were appended to the PCBoard message
base.
ERROR.FIL: If any error occurred during operation, it will be
noted in the CHAMLEON.LOG file, and detailed more
explicitly in this file. Please report back to me
any errors you encounter, so I may fix it/them.
After Chameleon appends messages to a PCBoard message base, you
will need to PACK the message base and recreate a new index
file. This may be accomplished using PCBPACK, or PROPACK.
PROPACK is faster and does not thrash your disk as much as
PCBPACK, but is less flexible in options.
CHAMELEON - SETUP Page 10
=================================================================
After you PACK your message base, you will need to execute the
command:
CHAMLEON REFERENCE
Chameleon will allow you to reference messages in a message base
so that message threading can be done easier. There are two
methods of message referencing that Chameleon supports. The
first is a faster method, and is what Chameleon defaults to. The
second method is a long, recursive procedure which can take a
LONG time.
The fast method will reverse-search a message against all others,
and will stop referencing when it comes upon the first message
which has already been referenced.
The longer method will reverse-search a message like the fast
method, but will continue to reference messages until the last
message is encountered. In otherwords, the longer method will
re-reference an ENTIRE message base. Since this is a recursive
function, this procedure takes a long time! Keep this in mind...
my system has 19 echo conferences, and takes over 45 minutes to
reference all of them with only 300 messages max per conference!
You may not wish to reference your message bases, but failure to
do so will make message threading very difficult for your users.
To reference a message base using the faster (default) method,
enter:
CHAMLEON REFERENCE
To do a COMPLETE RE-REFERENCE of a message base, enter:
CHAMLEON LONGREFERENCE
Chameleon will NOT allow you to reference a message base if no
new messages have been appended to it. To bypass this, and FORCE
a message reference to occur, execute the following command:
CHAMLEON REFERENCE FORCE
Chameleon makes a lot of beeps during operation. You may
suppress the beeps by appending a " NOBEEP" parameter to the end
of your commands. For example:
CHAMLEON REFERENCE FORCE NOBEEP
CHAMELEON - SETUP Page 11
=================================================================
At the request of a beta-tester, I have added an additional flag
to CHAMELEON, called NODELETE. If this is used, Chameleon will
NOT delete the xx.MSG files after appending them to your PCBoard
message base. MAKE SURE YOU DELETE THE APPENDED xx.MSG FILES
PRIOR TO YOUR NEXT EXTRACT OR APPEND, OTHERWISE YOU'LL END UP
WITH DUPLICATE MESSAGES! The NODELETE option is executed as
follows:
CHAMLEON APPEND NODELETE
CHAMELEON will NOT execute if there is less than two (2)
megabytes of free disk space. This is to insure against
incomplete message-merges resulting from lack of disk space. You
may bypass this restriction by using the NOFAILSAFE command
option. Example:
CHAMLEON APPEND NOFAILSAFE
You can list ALL of CHAMELEON's options by executing Chameleon
with no options.
CHAMELEON can be made to run considerably faster by disabling the
screen output. You will not be presented with any status
information, however. To disable screen output, add the command
parameter NOSCREEN. Example:
CHAMLEON APPEND NOSCREEN
For ECHO conferences, CHAMELEON can be configured to treat
COMMENTS to the sysop, and PRIVATE message differently than other
messages. COMMENTS to the sysop can be set so that they will NOT
be extracted (sent) from an ECHO conference. To activate this,
use the command option NOCOMMENTS. Example:
CHAMLEON EXTRACT NOCOMMENTS
You can also have CHAMELEON prevent sending private messages from
an echo conference by using the NOPRIVATE command option.
Example:
CHAMLEON EXTRACT NOPRIVATE
The NOCOMMENTS and NOPRIVATE options are available ONLY for ECHO
conferences. Netmail is not affected by them.
CHAMELEON - SETUP Page 12
=================================================================
A parameter called NOAREA will suppress the creation of an AREA:
line within an echo conference message. It seems that some
message handlers such as CONFMAIL insert their own AREA: fields.
If you are receiving duplicate AREA: fields (it will appear in
the message), use the NOAREA flag to suppress the AREA: inserted
by Chameleon. Example:
CHAMLEON EXTRACT NOAREA
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/