

                Setting up IceEdit v1.60 with Maximus v3

                       Chris Gerlinsky, 1:140/186
         The Life and Times of Chris Gerlinsky, (306)834-2308

                                01/22/96


   (this has only been tested with Maximus 3.01 at the current time)
        (this has only been tested with IceEdit 1.40/1.60 UNREG)


--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--


Since there seems to be many people interested in setting up IceEdit
with Maximus, I decided to do something about it and write up an
information packet about how to do so.

This is how I've done it on my system (although sometimes I do and
sometimes I don't use IceEdit as an editor - it depends on how well it
seems to be working and what my users say).

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--


                  Configuring IceEdit (EDITCFG.EXE)


Your IceEdit configuration is basically whatever you want it, the only
fields which should affect IceEdit's interactions with Maximus should
be:

File
 |
 +- System Paths
   |
   Censor File C:\BBS\ICEEDIT\CENSOR.CFG
   Msg Header  C:\BBS\ICEEDIT\EDITHDR.TXT
   Macros      C:\BBS\ICEEDIT\MACRO.CFG
   Chat Util   C:\BBS\ICEEDIT\ICECHAT.BAT
   Dictionary  C:\BBS\ICEEDIT\ICEEDIT.PVT

Toggles
 |
 +- Toggle Menu 1
 | |
 | View Macros      NO
 | Create Macros    NO
 | Censor Tagline   YES
 | Imbedded Colours NO
 | Convert Colours  YES
 | Use Overrides    NO
 | Confirm Abort    YES
 | Use Quote Colour YES
 | Filter ANSi      NO
 | Use Soft C/Rs    YES
 | KBT Hangup       YES
 | Speller Prompt   NO
 |
 +- Toggle Menu 2
   |
   Imbedded Files  NO
   Spell Checker   NO
   Quote Ratio     YES
    +--- Enforced NO
   Upcase Ratio    YES
    +--- Enforced NO
   Allow LineDraw  YES
   Message Censor  NO
   Quote Format    YES
   QBBS Compatible YES
   Message Header  NO
   Kludge Filter   YES

Other
 |
 +- Dropfile Type
   |
   Dorinfo1.Def


(Many of these options will not truly matter - this is what I use on
my system, that's all I can say.  <g>)

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--


                           Directory Setup:


IceEdit directory: C:\Bbs\IceEdit\

In AUTOEXEC.BAT:

SET IEDIT=C:\BBS\ICEEDIT\


Maximus directory, in my case is: C:\Bbs\Max\

In AUTOEXEC.BAT:

SET MAXIMUS=C:\BBS\MAX\MAX.PRM



The path where my drop files, etc, are to be found, is C:\Bbs\Max\%k\,
so for node 1 it is: C:\Bbs\Max\1\ and for node 2 it is C:\Bbs\Max\2\.

That is also the path where IceEdit will find DORINFO1.DEF, and where
it wants to find MSGTMP, MSGINF, and where it wants to write MSGTMP.

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--


My BBS is also configured so that Uses Leaving in MAX.CTL points to
Misc\Leaving.Bbs, which will in turn call up the correct MECCAs to
create a DORINFO1.DEF, DOOR.SYS, CHAIN.TXT, and CALLINFO.TXT, all
automatically whenver an external program is run.

If you do not have many/any doors, etc, setup, you may want to adopt a
system such as this.  A sample DORINFO.MEC is:

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
[delete]%k\dorinfo1.Def
[open]%k\dorinfo1.Def
[write]%N[ comment           Write the BBS name             ]
[write]%S[ comment           Write the SysOp's first name   ]
[write]%s[ comment           Write the SysOp's last name    ]
[islocal write]COM0[ comment          Write the COM port    ]
[isremote iftask]1 [write]COM2[comment local is always COM0 ]
[write]%b BAUD,N,8,1[comment Write the baud rate            ]
[write] 0[ comment           Say that we're not networked   ]
[write]%A[ comment           Write the user's first name    ]
[write]%B[ comment           Write the user's last name     ]
[write]%c[ comment           Write the user's city          ]
[write]%g[ comment           Write the user's graphics      ]
[write]%o[ comment           Write the user's security level]
[write]%t[ comment           Write the user's time remaining]
[write]-1[ comment           Say that we're using a FOSSIL  ]
[quit      comment           And we're done!                ]
--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--

(I've modified DOORSYS.MEC, CALLINFO.MEC, and WWIV.MEC all in the same
way as the above)


However, there is a small problem with this.  Maximus doesn't seem to
want to call LEAVING.MEC when it runs the external editor! (although
making LEAVING.MEC call the DORINFO1, DOORSYS, etc, door files is
still a nifty idea <g>)

So, that means that we have to find another way to always have a
DORINFO1.DEF ready for IceEdit.


Actually, it's not even really a problem.  As long as a single
DORINFO1.DEF has been created since the user logged on, all should be
well - we're also passing the user's time left to IceEdit via a
command-line parameter.  (IOW, just call DORINFO1.MEC from your
WELCOME.MEC, and you'll be OK)


That takes care of creating the DORINFO1.DEF as (assuming node 1)
\bbs\max\1\dorinfo1.def.  Now, all we need to do is to create the
\bbs\max\1\msgtmp.


Maximus doesn't seem to have a way to handle this internally, so
we'll do it in our batch file.

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--

                               ICE.BAT

Our C:\BBS\ICEEDIT\ICE.BAT should be setup as follows:

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
@echo off
cd\bbs\max\%2
copy /y c:\bbs\max\%1 msgtmp>nul
cd\bbs\iceedit
iceedit /D:\bbs\max\%2\ /N:%2 /T:%3
cd\bbs\max\%2
copy /y msgtmp c:\bbs\max\%1>nul
--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--

Note:  If you're not using DOS 6.0 (??) or higher, you will likely
have to edit the two copy lines.  (the /y causes DOS 6.0+ to overwrite
any existing files w/o prompting)


An explanation of the above:

cd\bbs\max\%2        <-  That changes to the \bbs\max\1 directory,
                         assuming the node number is 1.
copy /y c:\bbs\max\%1 msgtmp>nul <- That copies the TEMP\MSGTMP01.$$$
                         to MSGTMP, assuming node 1. (>nul suppresses
                         output)
cd\bbs\iceedit       <-  Changes to your IceEdit directory
iceedit /D:\bbs\max\%2\ /N:%2    <- Starts IceEdit, tells it that the
                         drop file (DORINFO1.DEF) and MSGTMP are found
                         in \bbs\max\1 (assuming node 1), and tells
                         IceEdit what node we're on.
cd\bbs\max\%2        <-  that changes to the \bbs\max\1 directory,
                         assuming the node number is 1.
copy /y msgtmp c:\bbs\max\%1>nul <- That copies the new, edited, MSTMP
                         to MSGTMP01.$$$ (assuming node 1), which is
                         what Maximus will be looking for. (>nul again
                         suppresses output from copy)

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--


                         Configuring Maximus


Now we reach the final step, setting up Maximus to use the external
editor!


This is very simple, all you must do is edit MAX.CTL, and find the
line Local Editor.  (there will likely be two examples, both commented
out)  Add a line (uncommented, ofc), that looks like the following:

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
Local Editor         @Command.Com /C C:\Bbs\IceEdit\Ice.Bat %s %%k %%t
--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--

The @ tells Maximus to allow remote users to use this.  The
Command.Com /C will tell Maximus to call COMMAND.COM, which we must do
to be able to run a batch file. (otherwise we'd have to write a little
EXE/COM file to do this for us).  The C:\Bbs\IceEdit\Ice.Bat is the
location of our Ice.Bat file, the %s will be translated to the file
Maximus wants the message in, and the %%k will be translated to the
current node number.  %%t is translated, ofc, into the user's time
remaining.

(note that it must be %%k, and *NOT* %k, and %%t, and *NOT* %t, and it
should be %s, *NOT* %%s)


After you re-silt, I suggest you fire up a copy of Maximus locally and
see if IceEdit runs as it should!

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--


                         Editing ACCESS.CTL!


Maximus, by default, does not allow any users aside from those with
Sysop and those with AsstSysop privelege levels to use the external
editor either remotely, or locally!


If, however, you have users who don't have a privelege level of Sysop
or AsstSysop (likely), and you want them to be able to use IceEdit,
make the following changes to ACCESS.CTL..

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
Access Normal
        Level           30
        Desc            Normal
        Key             N
        Time            60
        Cume            60
        Calls           -1
        LogonBaud       300
        XferBaud        300
        FileLimit       5000
        FileRatio       0
        RatioFree       1000
        UploadReward    100
%       LoginFile       Misc\PrivN
%       Flags
        MailFlags       LocalEditor Editor
%       UserFlags
        Oldpriv         2
End Access
--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--

That is my definition for the Normal access level (which all users on
my BBS aside from me have).  Note the line specifying MailFlags.

LocalEditor tells Maximus to allow this privelege class to use the
external editor if they're logged on locally.

Editor tells Maximus to allow this privelege class to use the external
editor if they're calling remotely. (and your external editor has a @
before the pathname, such as we have given IceEdit)


You'll want to make these changes for all privelege levels you wish to
have access to IceEdit.

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--


                               THE END


After following the above carefully, your Maximus v3 system should now
have nearly complete IceEdit capabilities!

The only incomplete part, will be MSGINF.  IceEdit says it will use
this file for information about the message, however, I cannot find
the format for this file, and IceEdit runs great without it.

(I assume that MSGINF simply holds information about who the message
is from and who it is to, etc - I have found out some info, I believe,
however I can not see a way to make Max create one - it's not
necessary, but would be nice - perhaps we'll come up with a way in the
future - if anybody ever figures out a way to keypoke into a message
header, I'll tell you how to add MSGINF support)


If you want more help, post a message in MUFFIN (FidoNet), or netmail
me at 1:140/186.  (email: stoopid@sasknet.sk.ca)


I want to hear from you if this helped!  Please netmail me at
1:140/186 if you have been helped by this file!

--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--
