2544 lines
99 KiB
Plaintext
2544 lines
99 KiB
Plaintext
#---------------------------------------------------------------------
|
||
# GoldED Users Guide Manual
|
||
# $Id$
|
||
#---------------------------------------------------------------------
|
||
#manualfile GOLDUSR.TXT
|
||
#pagelength 60
|
||
#pagewidth 80
|
||
#leftmargin 8
|
||
#rightmargin 2
|
||
#---------------------------------------------------------------------
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
|
||
|
||
Ú¿ Ú¿ Ú¿
|
||
³³ ³³ ³³
|
||
³³ ³³ ³³
|
||
³³ ³³ ³³
|
||
ÚÂÄÄ¿ ÚÂÄÄ¿ ³³ ÚÂÄÄ´³ ÚÂÄÄ¿ ÚÂÄÄ´³
|
||
³³ ³³ ³³ ³³ ³³ ³³ ³³ ³³ ³³ ³³ ³³
|
||
³³ ³³ ³³ ³³ ³³ ³³ ³³ ³³ ³³ ³³ ³³
|
||
³³ ³³ ³³ ³³ ³³ ³³ ³³ ³ÃÄÄÁÙ ³³ ³³
|
||
³³ ³³ ³³ ³³ ³³ ³³ ³³ ³³ ³³ ³³
|
||
³³ ³³ ³³ ³³ ³³ ³³ ³³ ³³ Ú¿ ³³ ³³
|
||
ÀÁÄÄ´³ ÀÁÄÄÁÙ ÀÙ ÀÁÄÄÁÙ ÀÁÄÄÁÙ ÀÁÄÄÁÙ
|
||
³³
|
||
³³
|
||
Ú¿ ³³ GoldED 3.0.0
|
||
ÀÁÄÄÄÄÄÄÁÙ ÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
|
||
|
||
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
|
||
|
||
|
||
Users Guide Manual
|
||
|
||
|
||
Program and manual written by Odinn Sorensen
|
||
|
||
|
||
Copyright (C) 1990-1998 by Odinn Sorensen
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#header
|
||
#---------------------------------------------------------------------
|
||
#heading ______________________________________________________________________
|
||
#heading
|
||
#heading <center><chapter>
|
||
#heading ______________________________________________________________________
|
||
#heading
|
||
#---------------------------------------------------------------------
|
||
#footer ______________________________________________________________________
|
||
#footer
|
||
#footer <chapter> <right>GoldED Users Guide, Page <page>
|
||
#---------------------------------------------------------------------
|
||
#tocbegin
|
||
#chapter Table of Contents
|
||
#tocline ......................................................................
|
||
#tocindent 4
|
||
#tocpagenumber i
|
||
#toc
|
||
#tocend
|
||
#---------------------------------------------------------------------
|
||
#pagenumber 1
|
||
#chapternumber 1
|
||
#---------------------------------------------------------------------
|
||
#chapter Notes About This Manual
|
||
|
||
The organization of this manual is not so good, sorry about that.
|
||
|
||
If you find spelling, grammatical or factual errors, please let me
|
||
know.
|
||
|
||
If you think the wording is bad or confusing in some parts, please
|
||
send me your improved version of the parts.
|
||
|
||
If you would like to write entirely new chapters (especially for the
|
||
Users Guide), please do and send them to me. Screen shots may be
|
||
included, but should be edited to fit a 70 char wide page.
|
||
|
||
I have limited time and would be very grateful for any help which can
|
||
improve the quality and usefulness of the manual.
|
||
|
||
TO TRANSLATORS: This manual is produced from ASCII text files with
|
||
special codes and compiled to the release manual using a manual
|
||
compiler I wrote myself (gmanual). If you want to translate the GoldED
|
||
manuals to any language, please copy the manual source, translate the
|
||
copy and compile it using gmanual for distribution to others.
|
||
You must also contribute your translated manual source to the
|
||
community for futher use and improvement.
|
||
|
||
NOTE: The manual source should be transformed into SGML, so we can get
|
||
ASCII, HTML, PostScript or whatever versions. Any takers?
|
||
|
||
Odinn Sorensen, The GoldED Author.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Legal Notes
|
||
|
||
GoldED and the Goldware Utilities are covered by the GNU General
|
||
Public License (GPL). For details see the file COPYING.
|
||
|
||
This program is free software; you can redistribute it and/or modify
|
||
it under the terms of the GNU General Public License as published by
|
||
the Free Software Foundation; either version 2 of the License, or
|
||
(at your option) any later version.
|
||
|
||
This program is distributed in the hope that it will be useful,
|
||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
GNU General Public License for more details.
|
||
|
||
You should have received a copy of the GNU General Public License
|
||
along with this program; if not, write to the Free Software
|
||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Support and Development Philosophy
|
||
|
||
Besides working on GoldED, I am studying to become an electrical
|
||
engineer. For this and other reasons, I don't have much time for
|
||
individual support, particularly not for helping beginners with setup
|
||
problems etc. Please seek help in the support conferences on FidoNet
|
||
or Internet or ask your friends.
|
||
|
||
I will do my best to be available in the support conferences, but I
|
||
can't guarantee replies to all questions. There may even be times when
|
||
apparently urgent or important questions seem to be ignored. Please
|
||
don't take this personally. It may be that I simply have no time in
|
||
those periods. And later when I do have time, it may be several weeks
|
||
later and I may decide to skip lightly over the hundreds of messages
|
||
that piled up in the echoes. In that case, try to repeat your question
|
||
regularly and eventually you should be able to get a reply from me.
|
||
|
||
GoldED was a closed-source user-supported shareware program until
|
||
november 1998, when it was transformed into an open source GPL'ed
|
||
program with myself as primary maintainer and final judge of official
|
||
patch acceptance. In addition to myself, there is a core team of
|
||
developers, currently consisting only of Dirk A. Mueller, but
|
||
hopefully soon others, which have full access to committing changes
|
||
directly to the development CVS tree.
|
||
|
||
I was very happy about every single registration I got in the past,
|
||
because it gave me incentive to keep on working on GoldED, and
|
||
gave me additional economical freedom - something which is important
|
||
to anyone who studies without other economical backing. In the summer
|
||
of 1998 I was fortunate enough to get a job (currently as part of my
|
||
studies, but will likely continue for quite some time), which gave me
|
||
economical independence of shareware income from GoldED. This gave me
|
||
the opportunity to fulfill a promise I made myself long ago - that I
|
||
would not allow GoldED to die, just because I lacked the time to
|
||
support it properly. I would rather release the source code and let
|
||
interested users carry it onwards at their own pace. So after careful
|
||
examination of the variety of open source compliant licenses out
|
||
there, I chose GPL and LGPL.
|
||
|
||
Thank you for your support and understanding.
|
||
|
||
Odinn Sorensen.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Entering Messages
|
||
|
||
The process of entering a message deserves some description, because
|
||
there are a number of steps that may be a bit hard to figure out
|
||
directly.
|
||
|
||
You start a message by using one the following commands:
|
||
|
||
Key Command keyword Description
|
||
|
||
Ins READnewmsg Start a blank new message.
|
||
Alt-Q READquotemsg Quote-reply the current msg.
|
||
Alt-G READcommentmsg Quote-reply the current msg to TO person.
|
||
Alt-N READmovequotemsg Quote-reply in another area.
|
||
Alt-B READmovecommentmsg Quote-reply in another area to TO person.
|
||
Alt-R READreplymsg Reply to current msg, but don't quote.
|
||
|
||
The first thing that happens is that the header display comes to life,
|
||
and allows you to change the names and addresses of destination and
|
||
origination. In netmail areas, the userlist lookup feature is in
|
||
effect for the destination name field. You move around in the header
|
||
with the arrowkeys. Pressing <Tab> or <Enter> moves to the next field.
|
||
Pressing <Enter> in the subject field or <Ctrl-Enter> anywhere, ends
|
||
the header editing. Pressing <Esc> drops the message. While editing
|
||
the header, you can use the Alt-keys to toggle message attributes.
|
||
|
||
After the header editing is done, a menu appears, allowing you to
|
||
change the message attributes, origin, template, start the internal or
|
||
external editor or quit it.
|
||
|
||
When you select to start the editor, the template is processed and
|
||
prepared for use.
|
||
|
||
Safely back from the editor, you are presented with a menu where you
|
||
can select to save the message, drop the message, continue editing,
|
||
view the message, change origin or ROT13 crypt it.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Userfile Considerations
|
||
|
||
GoldED will by default always use the first entry in the userfile and
|
||
the first lastread in the lastread file(s).
|
||
|
||
In older versions GoldED would seek through the userfile for your name
|
||
and use the lastread pointers that corresponded to the index of the
|
||
userfile entry. This would normally work, but under some
|
||
circumstances, GoldED might fail to find your name and therefore add
|
||
you to the userfile. This could cause lastreads to suddenly appear to
|
||
be reset to the first or last message in all areas.
|
||
|
||
The solution of always using the first lastread is effective for
|
||
single-user setups, but for users sharing the same msgbase using
|
||
GoldED, each user MUST setup different user numbers if they want to
|
||
keep their lastread pointers separate. These keywords are used to set
|
||
the lastread pointer user number:
|
||
|
||
EZYCOMUSERNO <number>
|
||
FIDOUSERNO <number>
|
||
GOLDBASEUSERNO <number>
|
||
HUDSONUSERNO <number>
|
||
PCBOARDUSERNO <number>
|
||
SQUISHUSERNO <number>
|
||
WILDCATUSERNO <number>
|
||
|
||
There is no JAMUSERNO, because the JAM format is cleverly designed
|
||
to be independent of userfiles.
|
||
|
||
The <number> defaults to 0 (zero). Set it to 1, 2, 3 etc. for each
|
||
additional user that shares the same msgbase using GoldED.
|
||
Alternatively, set <number> to -1 (minus one), which will tell GoldED
|
||
to return to the old method of searching the userfiles to get the
|
||
lastread indexes.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Using the Search Functions
|
||
|
||
The search function is activated using the Alt-F (header and body) or
|
||
Alt-Z (header only) keys. This will bring up a popup entry field where
|
||
you can enter several strings, separated by the '|' search string
|
||
separator character like this:
|
||
|
||
Odinn|GoldED
|
||
|
||
By default, GoldED searches forward (next messages), but by preceeding
|
||
the search string with a '-', the search goes backwards (previous
|
||
messages).
|
||
|
||
Besides the backward search, there are a number of other search
|
||
command characters. Here is the complete list:
|
||
|
||
- Search backward.
|
||
+ Search forward. (Just for completeness).
|
||
< Search the From: field.
|
||
> Search the To: field.
|
||
: Search the Subj: field.
|
||
= Case-sensitive search.
|
||
! Reverse - Stop/mark when the search string(s) are NOT found.
|
||
& Separator - Reserved for future use with logical "and" searches.
|
||
|
||
By default the '<', '>' and ':' search commands are enabled, so that
|
||
GoldED searches all header fields. However, when one of these options
|
||
are actually used, the search is limited to those only.
|
||
|
||
Examples:
|
||
|
||
<Odinn Searches in the From: field only.
|
||
<>Odinn Searches in From: and To:, but not Subj:.
|
||
:tagline Search for "tagline" in the Subj: field only.
|
||
|
||
The search command characters are stripped before the search is
|
||
started. If you need to search for a string that begins with a search
|
||
command character, you must precede it with the search string
|
||
separator, like this:
|
||
|
||
-|++ Search for the string "++".
|
||
|
||
All this also applies to the marking search function (Alt-S).
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Using External Editors
|
||
|
||
Like all message editors that allows the use of external text editors
|
||
for writing messages, GoldED must deal with the problem of
|
||
free-flowing text paragraphs versus hard-cr-terminated lines.
|
||
|
||
Most text editors terminate *all* lines with a carriage return (CR,
|
||
13d, 0Dh). Unless you use a fairly short right margin in the text
|
||
editor, those lines can be very annoying to quote if the quotemargin
|
||
is shorter. This usually results in "ragged" quotes, with a long
|
||
quoteline alternating with a short leftover. This looks bad, and
|
||
requires a lot of work to edit to a respectable shape.
|
||
|
||
To solve this problem, GoldED treats the file from the text just as if
|
||
text blocks doesn't have any hard-cr's in them - it "reflows" the
|
||
text. Of course, this immediately creates another problem: If you
|
||
include a cut from a log file, source code, table or other stuff that
|
||
*requires* the text block to be aligned with itself. Those blocks
|
||
would become scrambled and unreadable.
|
||
|
||
GoldED recognizes a special control string, that tells the reflowing
|
||
code to put hard-cr's on single lines or groups of lines. You define
|
||
the string with the keyword "Hardline" in the configuration file. Here
|
||
is an example of the use of the hardline string (in the example "<<"):
|
||
|
||
<<
|
||
==== Log Cut ====
|
||
+ 22.24.31 Event 0-@
|
||
- 22.24.42 Preparing outbound mail
|
||
= 22.58.47 RING
|
||
= 22.58.55 CONNECT 2400
|
||
+ 22.59.02 Incoming call at 2400 baud
|
||
==== Log Cut ====
|
||
<<
|
||
|
||
In this example, the hardline string on the lines before and after the
|
||
cutting tells the reflower that all those lines must the hard-cr
|
||
terminated. The hardline string must be the only characters on the
|
||
line, and it must be placed on the *first* position. The reflow code
|
||
looks for <string><cr>. The hardline string works as a "toggle".
|
||
|
||
The hardline string also has another use: If you put the string as the
|
||
last characters on a line, that line will also be hard-cr terminated.
|
||
|
||
Example:
|
||
|
||
Greetings...<<
|
||
Odinn Sorensen<<
|
||
|
||
The last << in this example was not really necessary, because a blank
|
||
line always ends the preceding line or paragraph with a hard-cr. In
|
||
any case, the hardline string is stripped off before the message is
|
||
saved.
|
||
|
||
Some lines are by definition always hard-cr terminated, and does not
|
||
need hardline strings. Those lines are quoted lines and control lines
|
||
such as kludges, tearlines and originlines. In addition, three
|
||
identical characters at the beginning of a line also terminates the
|
||
preceding paragraph.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Quote Reflow
|
||
|
||
When you quote a message that already contains quoted lines, those
|
||
lines may be too long for your quotemargin. Most message editors would
|
||
then just cut a bit off the end and put it on a line below. GoldED
|
||
does it differently - it determines the quotestring of the line, and
|
||
then "reflows" all the following lines with the same quotestring and
|
||
puts the quotestring back on the reflowed lines. This usually works
|
||
great and looks good. It can also fail miserably in some
|
||
circumstances.
|
||
|
||
The reflowing is in effect in both the message displaying and in
|
||
quoting. If you want to observe the effects, try executing the
|
||
READdecreasemargin or READincreasemargin commands (they don't have any
|
||
default key assignments though).
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Carbon Copy and Crossposting
|
||
|
||
Carbon Copying
|
||
|
||
Carbon copy (CC) is a way to send the same message to a number of
|
||
people without the trouble of manually entering and copying a message
|
||
for each of them. The CC works only in netmail or local areas. You can
|
||
send any message, including fileattaches (in netmail) with the CC
|
||
function.
|
||
|
||
Carbon copies are created by putting the string "CC:" followed by one
|
||
or more names or addresses, separated by commas, on one or more lines
|
||
at the beginning of the message. The names and addresses must follow
|
||
the same rules as when using the lookup function in the netmail
|
||
header.
|
||
|
||
Example:
|
||
|
||
CC: 16, Joergensen, #236/512
|
||
|
||
If you put a "#" in front of a name or address, that node will be left
|
||
out of the list, but will still receive a carbon copy.
|
||
|
||
You can also use address macros (see the NAMESFILE keyword) instead of
|
||
names or addresses.
|
||
|
||
If you often send carbon copies to the same people, it can get a bit
|
||
tedious to type (and remember) every time. Therefore you can also
|
||
specify a file with the names and addresses:
|
||
|
||
CC: @TESTERS.LST
|
||
|
||
Files names and addresses can be mixed on the same line. The lines in
|
||
the file must be the same format as above. No nesting is allowed: You
|
||
can't specify files within files.
|
||
|
||
When you save the CC message, GoldED will scan the message text to
|
||
find and process the CC: lines. When this is done, a menu will pop up
|
||
and allow you change the format of the CC: lines, the attributes of
|
||
the CC messages or drop the copies.
|
||
|
||
When processing the CC list, GoldED will check each node in the
|
||
nodelist and pop up the nodelist browser in case of more than one
|
||
match or if the node was not found.
|
||
|
||
|
||
Crossposting
|
||
|
||
Crosspost is similar to Carbon Copy, except that instead of sending
|
||
copies to a list of persons, it posts copies of a message in several
|
||
different conferences. Typical usage is announcement of files, vital
|
||
BBS information and other general interest info.
|
||
|
||
To crosspost a message is simple - just add lines in this format:
|
||
|
||
XC: <echoid> [echoid] [..]
|
||
|
||
The "XC:" must be the first three characters on the line. The <echoid>
|
||
must be valid echoid's defined in GoldED. Example:
|
||
|
||
XC: GOLDED, NEWFILES_R23.PRO, ENET.SOFT
|
||
|
||
This would produce the following output in the message:
|
||
|
||
* Crossposted in GOLDED
|
||
* Crossposted in NEWFILES_R23.PRO
|
||
* Crossposted in ENET.SOFT
|
||
|
||
And post it in the conferences.
|
||
|
||
Please moderate your use of this feature - it adds duplicate
|
||
information to the mail flow, and excessive use may be frowned upon by
|
||
cost-sensitive individuals.
|
||
|
||
TIP: If you want to keep copies of your messages in a separate
|
||
"outbox" echo, add this line to your message template(s):
|
||
|
||
xc: #@cecho, #outbox
|
||
|
||
This will automatically crosspost your msg to the OUTBOX area (you
|
||
must define or have an area with that echoid). The '#' tells GoldED
|
||
that you don't want the crosspost to be noted in the msgs. The
|
||
"@cecho" is a template token which is replaced with the current
|
||
echoid.
|
||
|
||
The only drawback to this tip is that there is no way to see what area
|
||
the original msg was posted in when looking at the msgs in the OUTBOX
|
||
area.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Using the Tagline Support
|
||
|
||
GoldED directly supports the popular taglines, which look something
|
||
like this in messages:
|
||
|
||
... tagline
|
||
--- GoldED 2.51
|
||
* Origin: whatever (2:236/77)
|
||
|
||
Taglines are usually one-liner jokes or wisdom or whatever. They serve
|
||
absolutely no technical function and are considered by some to be
|
||
waste of diskspace and modem time. In some conferences, they may even
|
||
be forbidden by the moderator, so if you want to use this feature,
|
||
check the conference rules first!
|
||
|
||
The tagline support in GoldED is currently not very advanced. You can
|
||
define some global taglines and manually select them from a menu, like
|
||
you can with origins. Taglines can also be defined in random system
|
||
groups, where they will be chosen randomly. For those with existing
|
||
tagline collections, you can specify the filename of the tagline
|
||
collection. Then a random tagline will be picked from the collection.
|
||
|
||
Taglines in messages are detected and displayed in a different color
|
||
(definable with COLOR READER TAGLINE).
|
||
|
||
Here are the keywords for tagline support:
|
||
|
||
TAGLINE <text> or @<filename> Defines a tagline or file
|
||
TAGLINECHAR <char> Defines the tagline character
|
||
TAGLINESUPPORT <yes/no> Disable internal tagline support.
|
||
|
||
If you define taglines globally, GoldED automatically adds extra menu
|
||
items to the EDITMENU and EDITSAVEMENU, to allow you to manually
|
||
select the tagline either before entering a message or when saving it.
|
||
|
||
Like for origins, it is also possible to change the default tagline by
|
||
using the READchangetagline command. Default key assignment is Ctrl-I.
|
||
Example for GOLDKEYS.CFG:
|
||
|
||
^I READchangetagline
|
||
|
||
Future plans for the tagline function include: Command to "steal"
|
||
taglines. Tagline collection file browser. Tagline "filters". Please
|
||
note, however, that tagline features are generally low priority. So
|
||
don't hold your breath.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Using the ISO 8859-1 ("Latin-1") charset
|
||
|
||
This chapter describes how to setup GoldED to use the ISO 8859-1
|
||
character set in all or selected mail areas.
|
||
|
||
The ISO 8859-1 character set seems to be the preferred standard for
|
||
accented (highbit) characters in the Internet. It is also basically
|
||
the same character set used in MS-Windows (code page 1252) and the
|
||
Amiga.
|
||
|
||
Add the following lines to the Random System groups you want to setup
|
||
charset translation for. They can also be used globally in the main
|
||
configuration if you want to ISO 8859-1 to be the default character
|
||
set for all your mail areas.
|
||
|
||
XLATIMPORT LATIN-1
|
||
XLATEXPORT LATIN-1
|
||
|
||
XLATIMPORT/EXPORT are used to translate characters to and from the IBM
|
||
PC 8-bit (above ASCII) character set.
|
||
|
||
The following lines need to be added to the main configuration:
|
||
|
||
XLATPATH <path to the .CHS files>
|
||
|
||
If your codepage is CP437 or CP865, use these two:
|
||
|
||
XLATCHARSET IBMPC LATIN-1 IBM_ISO.CHS
|
||
XLATCHARSET LATIN-1 IBMPC ISO_IBM.CHS
|
||
|
||
Or if your codepage is CP850, use these three:
|
||
|
||
XLATCHARSET CP850 LATIN-1 850_ISO.CHS
|
||
XLATCHARSET LATIN-1 CP850 ISO_850.CHS
|
||
XLATLOCALSET CP850
|
||
|
||
The two .CHS files must be present in the XLATPATH. You can find them
|
||
in the XLAT archive inside the advanced setup archive.
|
||
|
||
GoldED will put a kludge "^aCHRS LATIN-1 2" or "^aCHARSET LATIN-1 2"
|
||
into your messages so that other mail readers can translate to their
|
||
native character set if necessary.
|
||
|
||
That's it.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Converting your highbit characters to ASCII
|
||
|
||
If a conference moderator or network policy forbids the use of highbit
|
||
characters such as your national accented letters, you must configure
|
||
GoldED so that these characters are converted to acceptable ASCII.
|
||
Fortunately there are at least three ways of doing this with GoldED.
|
||
|
||
Let's say that you want to convert the characters ’<><E28099>‘›† (the most
|
||
commonly used Danish national characters in codepages 865 and 850).
|
||
|
||
You can convert the characters using EDITmacros by putting these lines
|
||
in the GOLDKEYS.CFG file:
|
||
|
||
’ EDITmacro "AE"
|
||
<20> EDITmacro "OE"
|
||
<20> EDITmacro "AA"
|
||
‘ EDITmacro "ae"
|
||
› EDITmacro "oe"
|
||
† EDITmacro "aa"
|
||
|
||
An alternative way of doing this is by using the EDITCOMPLETION
|
||
keyword like this in GOLDED.CFG:
|
||
|
||
EDITCOMPLETION "’" "AE"
|
||
EDITCOMPLETION "<22>" "OE"
|
||
EDITCOMPLETION "<22>" "AA"
|
||
EDITCOMPLETION "‘" "ae"
|
||
EDITCOMPLETION "›" "oe"
|
||
EDITCOMPLETION "†" "aa"
|
||
|
||
If you use one of these two methods to convert your highbit
|
||
characters, that's it. There is no way to switch it to allow the
|
||
highbit characters in some areas.
|
||
|
||
The best method to convert characters is by using the character
|
||
translation system and enabling it in just those areas where it is
|
||
required. Setting this up is a bit more elaborate. When the character
|
||
translation system is in effect, you simply enter your message using
|
||
your national highbit characters. Then when you save the message,
|
||
GoldED automatically converts it to ASCII.
|
||
|
||
Add these lines in GOLDED.CFG:
|
||
|
||
XLATPATH <path where IBM_ASC.CHS can be found>
|
||
XLATCHARSET IBMPC ASCII IBM_ASC.CHS
|
||
|
||
And add this line either globally in GOLDED.CFG or in specific groups
|
||
in the random system:
|
||
|
||
XLATEXPORT ASCII
|
||
|
||
The IBM_ASC.CHS file can be found in the XLAT.ZIP archive within the
|
||
manual and advanced cfg archive.
|
||
|
||
It should be noted that the IBM_ASC.CHS translation table converts
|
||
from codepage 437 (actually 865) to ASCII. If your normal codepage is
|
||
850, you should use the following XLATCHARSET instead:
|
||
|
||
XLATCHARSET CP850 ASCII 850_ASC.CHS
|
||
|
||
You will also need this line:
|
||
|
||
XLATLOCALSET CP850
|
||
|
||
The XLATLOCALSET keyword tells GoldED which codepage your computer is
|
||
configured to use.
|
||
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Encrypting Messages
|
||
|
||
GoldED allows you to en/decrypt messages encoded with the ROT13
|
||
encryption method. ROT13 is very simple: It just swaps the letters
|
||
"A-M", "a-m" with "N-Z", "n-z" and vice-versa.
|
||
|
||
ROT13 is mostly used in Internet newsgroups where it is used as a
|
||
"spoiler warning", so that game solutions, joke punchlines and other
|
||
stuff is not read by accident. In those networks, most message readers
|
||
have ROT13 de/crypting capabilities.
|
||
|
||
In FidoNet, not all message readers have ROT13 capability, and the
|
||
current policy (Policy 4) states:
|
||
|
||
2.1.4 Encryption and Review of Mail
|
||
|
||
FidoNet is an amateur system. Our technology is such that the
|
||
privacy of messages cannot be guaranteed. As a sysop, you have the
|
||
right to review traffic flowing through your system, if for no
|
||
other reason than to ensure that the system is not being used for
|
||
illegal or commercial purposes. Encryption obviously makes this
|
||
review impossible. Therefore, encrypted and/or commercial traffic
|
||
that is routed without the express permission of all the links in
|
||
the delivery system constitutes annoying behavior.
|
||
|
||
You will be able to encrypt your messages with ROT13, but you should
|
||
not use the crypting facility of GoldED, unless your network allows
|
||
it, and *never* in international echoes.
|
||
|
||
See also the chapter about how to setup GoldED with PGP.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Using the UUDECODE feature
|
||
|
||
GoldED contains a built-in uudecode feature. It is keycommand
|
||
READuudecode, which defaults to Ctrl-X.
|
||
|
||
The uudecoder in GoldED is based on (but heavily modified from) some
|
||
very old ('88), but good, C source (available as UUENUUDE.ZIP on my
|
||
system), which claims to be based on the Berkeley original.
|
||
|
||
No error checking is done during the uudecode.
|
||
|
||
GoldED currently cannot handle uuencoded data which is split in
|
||
multiple sections and/or multiple messages. Only uuencoded data is
|
||
supported, not MIME Base64 or other encodings.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Using the UUENCODE feature
|
||
|
||
GoldED contains a built-in uuencode feature, which is available when
|
||
importing a file in the internal editor.
|
||
|
||
To uuencode a file while importing it, simply put a '#' character in
|
||
front of the filename.
|
||
|
||
Example: #WHATEVER.ZIP - Will import as:
|
||
|
||
begin 644 WHATEVER.ZIP
|
||
[uuencoded data]
|
||
end
|
||
|
||
NOTE: This is a very simple implementation of uuencode. It cannot
|
||
split large files over several messages. The file mode number 644 is
|
||
hard-coded and has nothing to do with the actual file mode.
|
||
|
||
WARNING: Due to memory constraints, the standard 16-bit DOS version of
|
||
GoldED is usually not able to deal with messages much larger than
|
||
about 10-16k. You can very quickly reach that size when uuencoding
|
||
files. For this reason, you should not use this feature unless you are
|
||
running one of the 32-bit versions (DOS-386, OS/2 or Win32).
|
||
|
||
GoldED currently only supports the uuencoding type, not MIME Base64 or
|
||
other encodings.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Nodelist Browse and Lookups
|
||
|
||
When you write a netmail message, you must know the name and net
|
||
address of the recipient. Unless you have a remarkable memory, this
|
||
information can be a bit hard to remember. Therefore GoldED supports
|
||
several different nodelist indexes: GoldNODE (a proprietary format),
|
||
FrontDoor, Version 7 and FIDOUSER.LST.
|
||
|
||
When you enter a name or address in the header (the TO: field) and
|
||
press <Enter>, GoldED looks in the nodelist index to find the missing
|
||
data. You can enter the address in the name field. Names to be
|
||
searched for must be entered last name first (because of the way the
|
||
index is structured). If you enter a partial name or address, GoldED
|
||
will find the closest match. Addresses can be entered in short form,
|
||
based on the current AKA, like .3 for the address of your third Point,
|
||
or 33 for node 33 in your net.
|
||
|
||
Before the nodelist is searched, the list of address macros are first
|
||
scanned, and if a match is found there, the information there is used
|
||
instead.
|
||
|
||
When GoldED has found a match, it looks a bit further to see if there
|
||
are more matches. If not, the matching data is inserted in the header,
|
||
and you can continue editing. If more than one match was found, it
|
||
starts the nodelist browser. Here you can browse around and find the
|
||
correct destination node. When found, you select it with <Enter>. The
|
||
full name and address of the node you selected is then placed in the
|
||
appropriate fields in the header. Pressing <Esc> in the browser quits
|
||
it without inserting any node information. While in the browser, you
|
||
can press <Tab> to switch between name and address lookup.
|
||
|
||
The list of nodes in the browser is sorted differently, according to
|
||
what you entered. If you entered a name, the list is sorted
|
||
alphabetically by last name. If you entered an address, the list is
|
||
sorted ascending by address.
|
||
|
||
The nodelist browser can also be accessed in other ways. The keys F10
|
||
and Shift-F10 brings up the browser at the FROM and TO names (nodes)
|
||
respectively, to let you inspect their nodelist data. It's quite
|
||
handy, you will wonder how you could do without it - I did :-)
|
||
|
||
The nodelist lookup feature can also be used when in the internal
|
||
editor, but an even more useful key is available there. By pressing
|
||
Alt-L, the browser will pop up for the name or address at the editor
|
||
cursor position!
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter User Database Lookup
|
||
|
||
GoldEd has a special user database lookup feature for BBS sysops.
|
||
|
||
In Hudson, Ezycom, Squish (and *.MSG, if you are using Maximus) type
|
||
areas, GoldED can perform an additional type of name lookup, using
|
||
wildcards.
|
||
|
||
This form of lookup is triggered by using DOS/4DOS-style wildcard
|
||
characters in the name you want to lookup. Examples:
|
||
|
||
To: Joe* Finds any name beginning with "Joe".
|
||
To: *Blow Finds any name ending with "Blow".
|
||
To: Od?n* Finds "Odinn", "Oden" etc.
|
||
|
||
Depending on the size of your user database and the speed of your
|
||
computer, the lookup may take a little while.
|
||
|
||
As currently implemented, this user database lookup is only good for
|
||
simple one-shot lookups - you can't bring up a browser to pick the
|
||
user, or see his/hers other user data.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Marking Messages
|
||
|
||
GoldED has a message marking system, which allows flexible
|
||
manipulation with selected messages.
|
||
|
||
You can either mark messages manually one by one using the
|
||
READtogglemark command <Space>, or use the READmarkingoptions menu
|
||
<Alt-S>. With the marking menu, you can for example mark all messages
|
||
in a particular thread (replychain), or all messages that match a
|
||
certain string or a number of other criteria.
|
||
|
||
When you have marked the messages, you can then Copy, Move, Delete or
|
||
Write them. Or you can switch to reading only the marked messages.
|
||
|
||
The marks stay in position until removed (unmarked) or you exit
|
||
GoldED. Marks are kept even if you leave the current area and do
|
||
business in another for a while.
|
||
|
||
Another, more volatile, form of mark is the "bookmark". Bookmarks can
|
||
be used for returning to a certain position after a stroll out a long
|
||
reply chain and stuff like that. There is only one bookmark, and it is
|
||
reset when you leave the area. Using the Find function leaves a
|
||
bookmark at the current message.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter The File Request Feature
|
||
|
||
Often when you see a msg where new files are announced, you wish you
|
||
could simply press a key and select files to request. Well, with
|
||
GoldED you can!
|
||
|
||
The file request function (default key Ctrl-F) will scan the current
|
||
message and present you with a list of the requestable files it found.
|
||
GoldED will even show the file descriptions if it can find one.
|
||
|
||
You select the files by toggling marks with the Space key. A '+' will
|
||
show in front of the selected files. The selections can be discarded
|
||
by pressing Esc. When done with the selections, press Enter to
|
||
continue.
|
||
|
||
Now the destination area must be selected from the list. You have to
|
||
pick a netmail area of the *.MSG type, since the Hudson and Squish
|
||
netmail areas are currently not supported by most mailers today.
|
||
|
||
After selecting the area, check that the header data (TO name etc) is
|
||
correct. You can now go on to perhaps write a thank you note in the
|
||
accompanying msg, or you can save (empty) your msg immediately (if you
|
||
have the EDITMENU keyword set to Yes).
|
||
|
||
At the moment you start editing the header, the filenames and
|
||
descriptions are written to a FILES.BBS in the INBOUNDPATH. This can
|
||
be very helpful if you are getting files for your own BBS and are
|
||
tired of inventing or finding descriptions for all those files.. The
|
||
fact that the FILES.BBS is written to disk before you even save you
|
||
msg, can be used to get "free" descriptions later from the response
|
||
msgs some mailers send back when you do a file request.
|
||
|
||
There are currently a couple of limitations in the file request
|
||
function:
|
||
|
||
* You can only request as many files as can fit in the subject line
|
||
of one msg.
|
||
|
||
* GoldED recognizes several different types of file announcement
|
||
formats, but some may not be fully supported. This means that
|
||
legitimate descriptions may not be found by GoldED, or that some
|
||
files are not recognized as requestable.
|
||
|
||
* If a msg does not conform to a known announcement format, it is
|
||
instead (actually it is _also_) scanned for a number of standard
|
||
archive extensions. These extensions are configurable with the
|
||
FRQEXT keyword, which comes pre-defined with many common file
|
||
extensions. Only one such file per line can be found by GoldED,
|
||
and only if it is "straight" - no spaces between name and
|
||
extension, and no "funny" characters in the filename. The
|
||
description is simply the rest of the line.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Using the Personal Mail Scan feature
|
||
|
||
GoldED can scan for your personal mail (messages addressed to the name
|
||
defined with the USERNAME keyword).
|
||
|
||
NOTE: Personal mail scan is a very new feature in GoldED (introduced
|
||
in 2.50.Beta4) and is likely to have plenty of rough edges, quirks and
|
||
bugs. The current implementation is not set in stone. Please give me
|
||
your comments on any problems or suggestions for improvements.
|
||
|
||
The personal mail scan feature can be activated in two different ways:
|
||
|
||
1. Manually from the arealist using the personal mail scan menu on
|
||
Alt-P (keycommand AREAscanpm). The menu contains the same items
|
||
as the regular Alt-S scanning menu. Here you can scan all, marked,
|
||
current, matching or unscanned areas for personal mail.
|
||
|
||
2. Automatically using the PERSONALMAIL keyword with the Startup
|
||
parameter.
|
||
|
||
If personal mail scan is activated from the menu in the arealist, then
|
||
when the scan is completed, GoldED shows a window with a simple
|
||
statistic about the personal mail (xx mails found in yy areas). The
|
||
window will go away after a few seconds or by pressing a key.
|
||
|
||
Areas with personal mail will be marked with a '+' after the message
|
||
count in the Msgs column. In the statusline, the exact number of
|
||
personal mails is shown for each area when you move the selection bar.
|
||
|
||
To remove the personal mail mark from an area without reading the
|
||
mail, re-scan the area with the normal area scan (Alt-S).
|
||
|
||
To read personal mail, simply enter an area marked '+'. GoldED will
|
||
automatically switch to "Read Marked" mode so that you only read the
|
||
personal mail. When you exit the area after reading your mail, GoldED
|
||
remembers the original lastread and sets it back where it was (this
|
||
will only work when in Read Marked mode with personal mail).
|
||
|
||
You can automatically sort areas with personal mail to the top of the
|
||
arealist by adding the sort spec 'P' in front of your current
|
||
AREALISTSORT string. Example: AREALISTSORT PTUE.
|
||
|
||
Only messages after the lastread are scanned. The scan ignores
|
||
messages that are marked received.
|
||
|
||
The keywords AREAPMSCAN, AREAPMSCANEXCL and AREAPMSCANINCL work for
|
||
personal mail like the AREASCAN, AREASCANEXCL and AREASCANINCL do for
|
||
normal mail scans.
|
||
|
||
The PERSONALMAIL keyword specifies options for the personal mail scan
|
||
feature. With it you can tell GoldED to automatically scan for
|
||
personal mail at startup and to look for mail to all your USERNAMES
|
||
(if you have more than one spelling of your name for example).
|
||
|
||
Personal mail scan is currently only implemented for the JAM, Squish,
|
||
Hudson, Goldbase and PCBoard msgbase formats. Personal mail scan
|
||
support for *.MSG and Ezycom will be added in a future release.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Using the Internet Features
|
||
|
||
This chapter (which is not complete!) discusses how to use the
|
||
Internet compatibility features in GoldED, implementation details,
|
||
limitations etc.
|
||
|
||
See also the "Using the SOUP feature" chapter.
|
||
|
||
If you access Internet via a gateware running the GIGO gate program,
|
||
you should ensure that the gate operator has the following lines in
|
||
the GIGO HEADERS.CFG file:
|
||
|
||
Allow_To:
|
||
Allow_From:
|
||
Allow_Newsgroups:
|
||
Allow_Subject:
|
||
Allow_Date:
|
||
Allow_Message-ID:
|
||
Allow_References:
|
||
Allow_In-Reply-To:
|
||
Allow_Organization:
|
||
Allow_MIME-Version:
|
||
Allow_Content-Type:
|
||
Allow_Content-Transfer-Encoding:
|
||
Allow_Sender:
|
||
Allow_X-Newsreader:
|
||
Allow_X-Mailreader:
|
||
Allow_X-To:
|
||
|
||
These are the Internet RFC header control lines that GoldED can put in
|
||
your messages if you set INTERNETRFCBODY YES in your GoldED setup for
|
||
your Internet areas.
|
||
|
||
<chapter not completed yet>
|
||
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Using PGP as an External Utility
|
||
|
||
This chapter describes how to can install PGP as an external utility
|
||
in the GoldED setup. The examples assume that PGP 2.3 or higher is
|
||
installed in the directory C:\PGP.
|
||
|
||
|
||
Add the following to your GOLDED.CFG:
|
||
|
||
--- Cut ---
|
||
EXTERNUTIL 1 -nokeepctrl -wipe c:\pgp\pgp.exe +force -sa @tmpfile -u
|
||
"@oname" -o @file
|
||
EXTERNUTIL 2 -nokeepctrl -wipe c:\pgp\pgp.exe +force -sta
|
||
+clearsig=on @tmpfile -u "@oname" -o @file
|
||
EXTERNUTIL 3 -nokeepctrl -wipe c:\pgp\pgp.exe +force -ea @tmpfile
|
||
"@dname" "@oname" -u "@oname" -o @file
|
||
EXTERNUTIL 4 -nokeepctrl -wipe c:\pgp\pgp.exe +force -eas @tmpfile
|
||
"@dname" "@oname" -u "@oname" -o @file
|
||
EXTERNUTIL 5 -nokeepctrl -wipe c:\pgp\pgp.exe +force @tmpfile -o
|
||
@file -u "@dname"
|
||
EXTERNUTIL 6 -noreload c:\pgp\pgp.exe +force -ka @file -u "@dname"
|
||
EDITSAVEMENU Yes
|
||
EDITSAVEUTIL 1 "S PGP Sign the msg"
|
||
EDITSAVEUTIL 2 "l PGP Clear-Sign the msg"
|
||
EDITSAVEUTIL 3 "E PGP Encrypt the msg"
|
||
EDITSAVEUTIL 4 "p PGP Encrypt & Sign the msg"
|
||
EXTERNOPTIONS -Pause
|
||
--- Cut ---
|
||
|
||
NOTE: Some of the configuration lines were split in two due to the
|
||
document margin. They must of course be on one line in the actual
|
||
GOLDED.CFG.
|
||
|
||
|
||
Add the following to your GOLDKEYS.CFG:
|
||
|
||
--- Cut ---
|
||
F11 ExternUtil03 ; F11 -> Encrypt message
|
||
F12 ExternUtil05 ; F12 -> Decrypt message
|
||
#F12 ExternUtil06 ; Shift-F12 -> Add public key to keyring
|
||
--- Cut ---
|
||
|
||
You need to have KEYBEXT Yes (the default) in GOLDED.CFG if you want
|
||
to use the F11/F12 keys. You can of course assign other keys, just
|
||
make sure they don't clash with already defined keys.
|
||
|
||
The PGP commandlines are set up for multiple recipients, the TO: name
|
||
and your own FROM: name. Otherwise you would not be able to decrypt
|
||
your own msgs, and that could get a bit unpractical ;-)
|
||
|
||
HOW TO USE IT:
|
||
|
||
To sign, clearsign or encrypt a msg, simply select the appropriate
|
||
menu item in the save menu. Another method is described below.
|
||
|
||
To decrypt an encrypted msg, Press F12 while viewing the msg in the
|
||
reader. After decryption, you can write the msg to disk/printer, reply
|
||
to it, copy it, etc. The decrypted text will revert as soon as you
|
||
move away from the msg, or after you perform any operation on it. To
|
||
make a decrypted msg permanent (saved to disk in decrypted form), use
|
||
the Change Msg command after decryption and then save the msg
|
||
immediately, or use the copy function if you want to keep the original
|
||
untouched..
|
||
|
||
One thing to be aware of, is that the encrypted msg text does NOT
|
||
contain kludges if it was encrypted from the EDITSAVEMENU. If you make
|
||
such a text permanent, you would loose the kludges. Currently the only
|
||
way to keep kludges in the encrypted text is to encrypt it "manually"
|
||
after saving it, using F11, Change Msg, save immediately. If you do it
|
||
this way, you should be careful in a multitask/network environment,
|
||
where a mail scanner could scan out the unencrypted msg before you get
|
||
a chance to encrypt it... I plan to fix this problem in a future
|
||
release.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Using the GIF Features
|
||
|
||
This chapter discusses how to use the GIF features in GoldED.
|
||
|
||
If the GIF kludge is found in a msg, the @gif token is filled with the
|
||
filename from the GIF kludge. You can setup an external utility to
|
||
view the GIF (if you have the file) like this:
|
||
|
||
(In GOLDED.CFG:)
|
||
EXTERNUTIL XX c:\utl\vpic.exe @gif
|
||
|
||
(In GOLDKEYS.CFG:)
|
||
key ExternUtilXX
|
||
|
||
If the GIF kludge is found, the text "[GIF:filename]" is added in the
|
||
lower-right corner of the header display so that you know that it is
|
||
there without looking in the kludges.
|
||
|
||
If you don't have the GIF, you can file request it by hitting Ctrl-F
|
||
(the READfilerequest command).
|
||
|
||
A note about the @gif token: It is replaced by the filename from the
|
||
GIF kludge, if any. If a GIFPATH is defined, the path is prepended to
|
||
the filename. A file extension is NOT added. This is so that you can
|
||
convert the .GIF's to a smaller format with a different extension.
|
||
|
||
Example: EXTERNUTIL XX c:\utl\vpic.exe @gif.jpg
|
||
|
||
You can configure GoldED so that it inserts the GIF kludge in your own
|
||
messages. See the GIF keyword for details.
|
||
|
||
NOTE: The GIF kludge is not in wide use, and there is a very real
|
||
possibility that some people might be annoyed about "yet another
|
||
useless kludge" which increases the size of msgs (not much, max 16
|
||
bytes). So I recommmend that you only use it in a few echoes and
|
||
perhaps in netmail, if at all. It might be a good idea to ask the
|
||
moderator of an echo before starting to use it in that echo. Use the
|
||
GIF keyword in Random System groups instead of globally. See also the
|
||
Message Kludge Lines chapter for information about the kludge.
|
||
|
||
Planned:
|
||
|
||
* A specific GIFVIEWER keyword and READgifviewer command instead of
|
||
having to use the external utility feature. GIFVIEWER would work
|
||
like EDITOR and SPELLCHECKER - there will not be a built-in
|
||
viewer.
|
||
|
||
* A menu to select the GIF just like origins etc.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Using the QWK features
|
||
|
||
GoldED supports import and export of the QWK offline packet format for
|
||
BBS conferences and Internet e-mail and newsgroups. Using this
|
||
feature, you can use GoldED as QWK offline reader.
|
||
|
||
A QWK packet consists of the files CONTROL.DAT, MESSAGES.DAT and
|
||
possibly a number of other files. GoldED uses only the two files
|
||
mentioned, other files are ignored.
|
||
|
||
A QWK reply packet generated by GoldED consists of the file
|
||
<BBSID>.MSG, which contains the messages that you wrote with GoldED.
|
||
<BBSID> is the QWK BBS identification name of the BBS you use.
|
||
|
||
GoldED currently doesn't support unpacking and packing of compressed
|
||
.QWK and .REP packets. You must unpack and pack your QWK/REP packets
|
||
manually or using a batchfile.
|
||
|
||
When exporting message to QWK reply packetfiles, GoldED will
|
||
*overwrite* any existing reply packet (<BBSID>.MSG), so you should not
|
||
export until you are actually ready to upload your packet.
|
||
|
||
After processing the CONTROL.DAT file, GoldED writes a file named
|
||
<BBSID>.GLD in the GOLDPATH. The file is used by GoldED to store the
|
||
relationship between conference numbers and conference names, for use
|
||
when later replying or entering new messages. For QWK export to work,
|
||
you must have previously imported a QWK packet so that the <BBSID>.GLD
|
||
file is created.
|
||
|
||
The QWK import/export features are currently activated from a submenu
|
||
the arealist scan menu (Alt-S). The submenu item is only present if
|
||
QWKIMPORTPATH and/or QWKEXPORTPATH is defined.
|
||
|
||
Below are the keywords that are relevant for the QWK support as
|
||
currently implemented:
|
||
|
||
QWKIMPORTPATH <path>
|
||
Path where incoming QWK packet files (CONTROL.DAT and
|
||
MESSAGES.DAT) can be found.
|
||
|
||
QWKEXPORTPATH <path>
|
||
Path where outgoing QWK reply files (BBSID.MSG) can be placed.
|
||
|
||
QWKBADMSGS <echoid>
|
||
Specifies the area where messages in unknown conferences are
|
||
put. If you get messages tossed here by accident, you must move
|
||
them manually to the correct area. If the badmsgs area is not
|
||
defined, the messages will silently disappear. Messages tossed
|
||
to the badmsgs area will have the control line
|
||
"AREA:<bbsid>_<confno>" at the top of the message.
|
||
|
||
QWKCONFMAP <bbsid> ["]<confname>["] <echoid>
|
||
Defines the mapping between the BBSID and conference names in
|
||
the QWK packets and the echoid name of the conference as
|
||
required by GoldED. You MUST define a mapping for every
|
||
conference that you subscribe to. If you don't, the messages
|
||
will be tossed to the area defined by QWKBADMSGS or disappear.
|
||
The <bbsid> is the name listed on line 5 in CONTROL.DAT after
|
||
the comma. The <confname> is the conference names listed on line
|
||
13 and on alternate lines onwards in CONTROL.DAT. If a
|
||
conference name contains embedded spaces, the <confname> must be
|
||
enclosed in double quotes, like this: "Main Board". The area
|
||
<echoid> must be already defined either in an AREAFILE or using
|
||
the AREADEF or AREA keywords.
|
||
|
||
QWKTOSSLOG <file>
|
||
Name of a file where GoldED puts the echoids of each area where
|
||
articles have been imported. The tosslog file is intended to be
|
||
used with a replylinker. If no path is given, it defaults to the
|
||
GOLDPATH.
|
||
|
||
QWKREPLYLINKER <cmd>
|
||
Commandline for a replylinker program to call after QWK import.
|
||
|
||
QWKOPTIONS <bbsid> <options>
|
||
Defines various options for the QWK support.
|
||
|
||
INTERNETRFCBODY <yes/no>
|
||
Enable this in areas with Internet RFC headerlines at the top of
|
||
messages. See the "Using the SOUP features" chapter for details.
|
||
|
||
CTRLINFO <tearline/origin/no>
|
||
Enables or disables tearline and/or origin in random system
|
||
groups.
|
||
|
||
In areas where INTERNETRFCBODY is enabled, or RFC headers are present
|
||
as FTN kludges, GoldED will convert the RFC headers Message-ID,
|
||
References and In-Reply-To to MSGID and REPLY kludges, so that
|
||
MSGID/REPLY replylinkers can be used instead of dumb subject linkers.
|
||
GoldED will also get the full-length To/From/Subject lines and store
|
||
them in the messages instead of the short 25 character QWK fields.
|
||
Finally if the INTERNETGATE keyword is defined, GoldED will add the
|
||
FSC-35 kludges REPLYTO and REPLYADDR in the messages.
|
||
|
||
Example setup in GOLDED.CFG:
|
||
(for Internet setup, see also the SOUP chapter).
|
||
|
||
// Basic QWK setup
|
||
QWKIMPORTPATH C:\QWK\
|
||
QWKEXPORTPATH C:\QWK\
|
||
QWKBADMSGS BAD_QWK
|
||
|
||
// Replylinking when using GEcho and Hudson areas:
|
||
QWKTOSSLOG C:\GECHO\IMPORT.HMB
|
||
QWKREPLYLINKER C:\GECHO\MBUTIL Link
|
||
|
||
// Replylinking when using GEcho and JAM areas:
|
||
QWKTOSSLOG C:\GECHO\IMPORT.JAM
|
||
QWKREPLYLINKER C:\GECHO\MBUTIL Link
|
||
|
||
// Replylinking when using Squish and Squish areas:
|
||
QWKTOSSLOG C:\SQUISH\QWKTOSS.LOG
|
||
QWKREPLYLINKER C:\SQUISH\SQUISH LINK -fC:\SQUISH\QWKTOSS.LOG
|
||
|
||
// QWK conference mapping
|
||
QWKCONFMAP GOLDWARE GoldED GOLDED
|
||
QWKCONFMAP GOLDWARE "GoldED Beta" GOLDED.BETA
|
||
QWKCONFMAP GOLDWARE "BBS Users" BBS.USERS
|
||
QWKCONFMAP WHOKNOWS EMail EMAIL
|
||
QWKCONFMAP WHOKNOWS dk.chat DK.CHAT
|
||
QWKCONFMAP WHOKNOWS dk.test DK.TEST
|
||
|
||
// Area definitions for the QWK conferences
|
||
AREADEF BAD_QWK "Bad QWK msgs" 0 Echo Opus C:\QWK\CONF\BADQWK
|
||
AREADEF GOLDED "GoldED support" 0 Echo JAM C:\QWK\CONF\GOLDED
|
||
AREADEF GOLDED.BETA "GoldED beta" 0 Echo JAM C:\QWK\CONF\GOLDBETA
|
||
AREADEF BBS.USERS "BBS Users" 0 Echo JAM C:\QWK\CONF\BBSUSERS
|
||
AREADEF EMAIL "E-Mail" 0 EMail Opus C:\QWK\CONF\EMAIL
|
||
AREADEF DK.CHAT "dk.chat" 0 News JAM C:\QWK\CONF\DKCHAT
|
||
AREADEF DK.TEST "dk.test" 0 News JAM C:\QWK\CONF\DKTEST
|
||
|
||
// Group for the EMAIL area
|
||
GROUP EMAIL
|
||
CTRLINFO NO
|
||
EDITHARDTERM YES
|
||
TEMPLATE INTERNET.TPL
|
||
INTERNETADDRESS odinn@whoknows.where
|
||
INTERNETMSGID YES
|
||
INTERNETRFCBODY YES
|
||
ENDGROUP
|
||
|
||
// Group for the Internet newsgroups
|
||
GROUP Newsgroups:
|
||
MEMBER dk.*
|
||
CTRLINFO NO
|
||
EDITHARDTERM YES
|
||
INTERNETADDRESS odinn@whoknows.where
|
||
INTERNETMSGID YES
|
||
INTERNETRFCBODY YES
|
||
QUOTECHARS ":;|"
|
||
TEMPLATE INTERNET.TPL
|
||
WHOTO All
|
||
ENDGROUP
|
||
|
||
|
||
Planned QWK features:
|
||
|
||
* Support for BlueWave and perhaps other offline packet formats.
|
||
* Support for compressed .QWK and .REP packets.
|
||
* Built-in replylinker.
|
||
* Your suggestions :-)
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Using the SOUP features
|
||
|
||
GoldED supports import and export of the Internet SOUP packet format
|
||
for e-mail and newsgroups. Using this feature, you can use GoldED as
|
||
an offline reader for Internet. The SOUP packet format, version 1.2,
|
||
is documented in the SOUP12.DOC document by Rhys Weatherley
|
||
<rhys@cs.uq.oz.au>.
|
||
|
||
A SOUP packet consist of a number of packet files with an extension of
|
||
.MSG plus an AREAS file which tells where each .MSG packet belongs.
|
||
Other files may be found in a SOUP packet, but they are not supported.
|
||
|
||
A SOUP reply packet generated by GoldED consists of a GOLDMAIL.MSG
|
||
packet file for e-mail and/or a GOLDNEWS.MSG packet file for
|
||
newsgroups plus a REPLIES file which lists the .MSG packets.
|
||
|
||
The SOUP import/export features are currently activated from a submenu
|
||
the arealist scan menu (Alt-S). The submenu item is only present if
|
||
SOUPIMPORTPATH and/or SOUPEXPORTPATH is defined.
|
||
|
||
Below are the keywords that are relevant for the SOUP support as
|
||
currently implemented:
|
||
|
||
SOUPIMPORTPATH <path>
|
||
Path where incoming SOUP packet files (AREAS and *.MSG) can be
|
||
found.
|
||
|
||
SOUPEXPORTPATH <path>
|
||
Path where outgoing SOUP reply packet files (REPLIES and
|
||
GOLD*.MSG) can be placed.
|
||
|
||
SOUPEMAIL <echoid>
|
||
Specifies the area where e-mails are placed.
|
||
|
||
SOUPBADMSGS <echoid>
|
||
Specifies the area where articles in unknown newsgroups are put.
|
||
If you get articles tossed here by accident, you must move them
|
||
manually to the correct area. If the badmsgs area is not
|
||
defined, the articles will silently disappear.
|
||
|
||
SOUPNEWSRCFILE <file>
|
||
Name with full path of the NEWSRC file which lists the
|
||
newsgroups you are connected to. GoldED uses the list to mark
|
||
the matching areas as newsgroups. These will then be scanned for
|
||
outgoing mail when starting a SOUP export.
|
||
|
||
SOUPTOSSLOG <file>
|
||
Name of a file where GoldED puts the echoids (newsgroup names)
|
||
of each area where articles have been imported. The tosslog file
|
||
is intended to be used with a replylinker. If no path is given,
|
||
it defaults to the GOLDPATH.
|
||
|
||
SOUPREPLYLINKER <cmd>
|
||
Commandline for a replylinker program to call after SOUP import.
|
||
|
||
INTERNETADDRESS <internet-address>
|
||
Specifies your Internet address. This must be the address only,
|
||
no name. The INTERNETADDRESS and USERNAME will be combined to a
|
||
standard "From: internetaddresss (username)" headerline when you
|
||
write e-mail or articles.
|
||
|
||
INTERNETGATE [gatename<,>]<ftn-address>
|
||
Specifies an FTN address which is used as the destination
|
||
address in the FTN message header. It is also the address used
|
||
in the FSC-35 REPLYTO/REPLYADDR kludges that are inserted in
|
||
mail and news imported from SOUP packets.
|
||
|
||
INTERNETMSGID <yes/no>
|
||
Specifies whether the FTN MSGID kludge should contain an RFC1036
|
||
compatible Message-ID or the normal FTS-9 format. Note that
|
||
using the RFC1036 format in MSGID breaks the FTS-9 (version 001)
|
||
specification, so please don't use this feature in FidoNet
|
||
netmail or echomail. As a safeguard, GoldED will only use the
|
||
RFC1036 format in areas specifically marked as e-mail or
|
||
newsgroups, using the SOUPEMAIL and SOUPNEWSRCFILE keywords or
|
||
using the Email and News area types with the AREADEF keyword,
|
||
even when INTERNETMSGID is set to YES globally.
|
||
|
||
INTERNETREPLY <yes/no>
|
||
If set to yes (the default), GoldED uses the FSC-35 reply
|
||
method, which puts UUCP in the to-field and a To: line at the
|
||
top of the message. For use with SOUP, this is ugly, so it is
|
||
recommended to set this keyword to NO. Note however, that due to
|
||
limitations of the header field editor, there is currently a
|
||
limit of 35 characters for the from and to headerfields.
|
||
|
||
INTERNETRFCBODY <yes/no>
|
||
Tells GoldED whether to look for and process RFC headerlines at
|
||
the top of the message body, before the first empty line. Also
|
||
tells GoldED to insert its own RFC headerlines at the top of the
|
||
message body instead of as kludge lines. This option should only be
|
||
used when receiving Internet mail as QWK packets where the
|
||
RFC headerlines are usually found at the top of the messages, or
|
||
when sending Internet mail via FTN packet to a gateway running
|
||
GIGO. GIGO does not recognize RFC header in kludges, but it does
|
||
recognize them at the top of the messages, if it is properly
|
||
configured (with lines of "Allow_Xxx:" in GIGO's HEADERS.CFG,
|
||
where Xxx are the RFC headerlines the gate administrator wants
|
||
to allow).
|
||
|
||
MAILINGLIST <echoid> <senderaddress> [contribution address]
|
||
Defines one or more mailing lists. When importing e-mail from a
|
||
SOUP packet, GoldED will look at the Internet address in the
|
||
"Sender" header and if it matches one of the MAILINGLIST's, the
|
||
e-mail will be tossed to the defined area. Note that GoldED
|
||
supports only participation in, not hosting of mailing lists.
|
||
The contribution address is the destination Internet address for
|
||
mail you write to the mailing list - the address is typically
|
||
given to you when you subscribe to a list. If the contribution
|
||
address is not specified, the senderaddress is assumed.
|
||
|
||
There are six different SOUP packet encoding formats. Four of those
|
||
are supported by GoldED.
|
||
|
||
u USENET news articles (import only)
|
||
m Unix mailbox articles (import only)
|
||
M Mailbox articles in the MMDF format (not supported)
|
||
b Binary 8-bit clean mail format (import and export)
|
||
B Binary 8-bit clean news format (import and export)
|
||
i Index file only (not supported)
|
||
|
||
The 'M' format is not yet supported. If you need support for this
|
||
format, please let me know, and send along an example SOUP packet
|
||
which uses the 'M' format. There are no plans to support the 'i'
|
||
format in the near future.
|
||
|
||
Articles are imported to the area matching the newsgroup name (for
|
||
example "rec.humor.funny" is imported to an area with the echoid
|
||
REC.HUMOR.FUNNY). E-mails are imported to the area named with the
|
||
SOUPEMAIL keyword. If no matching area can be found, the articles are
|
||
tossed to the area named with the SOUPBADMSGS keyword, with the
|
||
newsgroup name in an AREA: line at the top. If no badmsgs area is
|
||
defined, the articles will be silently thrown away.
|
||
|
||
After import, the AREAS, *.MSG and *.IDX files are deleted from the
|
||
SOUPIMPORTPATH. Be sure to keep backup copies when experimenting with
|
||
the SOUP feature. Note that there is currently no dupe check.
|
||
|
||
In the imported articles, the RFC headerlines are converted to
|
||
kludges. The real names (if any) in the From: and To: headerlines are
|
||
put into the message from/to header fields. If no To: line is found,
|
||
"All" is used.
|
||
|
||
When you write or reply to e-mail and articles, GoldED adds the echoid
|
||
(newsgroup name) and message number to a file named GOLDSOUP.LST in
|
||
the GOLDPATH. This file is used exclusively by GoldED to find outgoing
|
||
mail when starting the SOUP export.
|
||
|
||
There are three Internet specific template tokens:
|
||
|
||
@oto Original RFC "To:" headerline.
|
||
@ofrom Original RFC "From:" headerline.
|
||
@omessageid Original RFC "Message-ID:" headerline.
|
||
|
||
With these tokens, it is possible to create templates which look like
|
||
one of the defacto standard attribution lines used by other
|
||
newsreaders. See the example NEWSGRPS.TPL file for examples.
|
||
|
||
In e-mail and newsgroups, the ORIGIN keyword can be used to set the
|
||
content of the "Organization:" headerline.
|
||
|
||
The Martin Junius <mj@sungate.fido.de> MSGID.DOC document is
|
||
supported. This means that the Message-ID headerline is converted to a
|
||
MSGID kludge and the References headerline is converted to one or more
|
||
REPLY kludges. This makes MSGID/REPLY based replylinking possible
|
||
using existing FTN-based utilities. The original Message-ID and
|
||
References headerlines are preserved in the messages along with the
|
||
MSGID/REPLY kludges.
|
||
|
||
SOUP import and export is currently quite slow and a some things are
|
||
hardcoded that should be made into options. There is a lot of room for
|
||
improvements, but this is a nice start for those who want to read
|
||
their Internet mail and news with their favorite program instead of
|
||
the various SOUP offline readers out there.
|
||
|
||
For people with the IBM OS/2 Internet Access Kit, I can recommend the
|
||
"Souper" program which can make SOUP packets for offline consumption
|
||
instead of the expensive online reading with NewsReader/2 and
|
||
Ultimedia Mail/2. At the time of writing, the latest version was
|
||
SOUPER12.ZIP, ftp'd from hobbes.nmsu.edu.
|
||
|
||
The SOUP features SHOULD NOT be used with the GoldED DOS version. Use
|
||
the 386 or OS/2 versions. The current implementation uses memory like
|
||
a pig, and in any case, it is common that very large messages (>64K)
|
||
are seen in Internet e-mail and newsgroups, and the DOS version does
|
||
not handle very large messages well at all.
|
||
|
||
It is recommended to use either the JAM or the Squish msgbase formats
|
||
to store the Internet newsgroups. These two formats support tree-like
|
||
replylinking. JAM supports it best, with unlimited links. Squish only
|
||
supports up to 9 links. GoldED currently also only supports up to 9
|
||
links, even for JAM.
|
||
|
||
GoldED understands several character translation standards and
|
||
non-standards for Internet e-mail and newsgroups. Please see the next
|
||
chapter for details.
|
||
|
||
PLEASE NOTE: GoldED can be used purely for Internet use as a SOUP
|
||
packet reader, but there are still some FidoNet-specific keywords
|
||
which must be setup for GoldED to operate correctly. The ADDRESS and
|
||
INTERNETGATE keywords must be set to a FTN-compatible address. If you
|
||
don't know or care about any such address, just use this:
|
||
"2:236/77.999" (leave out the quotes).
|
||
|
||
|
||
Example setup in GOLDED.CFG:
|
||
|
||
// Minimum FTN setup
|
||
USERNAME Odinn Sorensen
|
||
ADDRESS 2:236/77
|
||
|
||
// Basic Internet setup
|
||
INTERNETADDRESS odinn@ibm.net
|
||
INTERNETGATE 2:236/77
|
||
INTERNETMSGID YES
|
||
INTERNETREPLY NO
|
||
|
||
// Basic SOUP setup
|
||
SOUPIMPORTPATH C:\SOUP\IMPORT\
|
||
SOUPEXPORTPATH C:\SOUP\EXPORT\
|
||
SOUPNEWSRCFILE C:\SOUP\NEWSRC
|
||
SOUPEMAIL NET_EMAIL
|
||
SOUPBADMSGS BAD_NEWS
|
||
|
||
// Area definitions for e-mail and bad newsgroups
|
||
AREADEF NET_EMAIL "E-Mail" 0 EMail Opus C:\SOUP\NETMAIL
|
||
AREADEF BAD_NEWS "Bad Newsgroups" 0 News Opus C:\SOUP\BADNEWS
|
||
|
||
// Replylinking when using GEcho and JAM areas:
|
||
SOUPTOSSLOG C:\GECHO\IMPORT.JAM
|
||
SOUPREPLYLINKER C:\GECHO\MBUTIL Link
|
||
|
||
// Replylinking when using Squish and Squish areas:
|
||
SOUPTOSSLOG C:\SQUISH\SOUPTOSS.LOG
|
||
SOUPREPLYLINKER C:\SQUISH\SQUISH LINK -fC:\SQUISH\SOUPTOSS.LOG
|
||
|
||
// Setup of some mailing lists
|
||
MAILINGLIST LIST.EMX emx-list@eb.ele.tue.nl
|
||
MAILINGLIST LIST.GIGO gigo-owner@gigo.com gigo@gigo.com
|
||
|
||
// Area definitions for the mailing list areas
|
||
AREADEF LIST.EMX "EMX mailing list" 0 EMail Opus C:\SOUP\EMX
|
||
AREADEF LIST.GIGO "GIGO mailing list" 0 EMail Opus C:\SOUP\GIGO
|
||
|
||
// Setup of character translation
|
||
XLATPATH C:\GOLDED\XLAT\
|
||
XLATESCSET MNEMONIC IBMPC MNE_IBM.ESC
|
||
XLATCHARSET LATIN-1 IBMPC ISO_IBM.CHS
|
||
XLATCHARSET LATIN1QP IBMPC IQP_IBM.CHS
|
||
XLATCHARSET MAC IBMPC MAC_IBM.CHS
|
||
XLATCHARSET IBMPC IBMPC IBM_IBM.CHS
|
||
XLATCHARSET IBMPC LATIN-1 IBM_ISO.CHS
|
||
XLATCHARSET IBMPC LATIN1QP IBM_IQP.CHS
|
||
XLATCHARSET IBMPC MNEMONIC IBM_MNE.CHS
|
||
|
||
// Main group for Internet newsgroups
|
||
GROUP Newsgroups:
|
||
MEMBER alt.*, comp.*, misc.* news.*
|
||
MEMBER rec.*, soc.*, sci.*, talk.*
|
||
MEMBER bad_news
|
||
EDITHARDTERM YES
|
||
QUOTECHARS ":;|"
|
||
TEMPLATE INTERNET.TPL
|
||
WHOTO All
|
||
ENDGROUP
|
||
|
||
// Main group for e-mail, mailing lists and some danish newsgroups
|
||
// with character translation
|
||
GROUP EMail:
|
||
MEMBER net_email, list.*
|
||
MEMBER pingnet.*, dknet.*, dk.*
|
||
EDITHARDTERM YES
|
||
TEMPLATE INTERNET.TPL
|
||
WHOTO All
|
||
XLATIMPORT LATIN-1 ; Assume ISO-8859-1 is in use
|
||
XLATEXPORT LATIN1QP ; Use MIME quoted-printable encoding
|
||
; XLATEXPORT LATIN-1 ; Use MIME 8bit encoding
|
||
; XLATEXPORT MNEMONIC ; Use RFC1345 character mnemonics
|
||
ENDGROUP
|
||
|
||
|
||
Example INTERNET.TPL:
|
||
|
||
@moved* Replying to an article in @oecho.
|
||
@moved
|
||
@changed* Changed by @cname, @cdate @ctime.
|
||
@changed
|
||
@forward* Forwarded from @oecho by @cname.
|
||
@forward* Originally by: @ofrom, @odate @otime.
|
||
@forward* Originally to: @oto.
|
||
@message
|
||
@forward
|
||
@new
|
||
@reply@ofrom wrote:
|
||
@reply@position
|
||
@comment@ofrom wrote:
|
||
@comment@position
|
||
;@quotedIn article @omessageid, @ofrom wrote:
|
||
@quoted@ofrom wrote:
|
||
@quoted@position
|
||
@quotebuf
|
||
@quotebuf@ofrom wrote:
|
||
@quotebuf
|
||
@quote
|
||
|
||
--
|
||
Signature Signature Signature Signature Signature Signature
|
||
Signature Signature Signature Signature Signature Signature
|
||
|
||
|
||
Planned Internet/SOUP features:
|
||
|
||
* Killfile.
|
||
* Addressbook.
|
||
* Article cancel.
|
||
* Improved thread navigation.
|
||
* Built-in replylinker/threader.
|
||
* Elimination of FTN-requirements, for pure Internet use.
|
||
* Msgbase format designed optimally for Internet and threading.
|
||
* Your suggestions :-)
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Notes About Internet Character Translation
|
||
|
||
Character Translation Issues:
|
||
|
||
* MIME: From RFC1341/1521, charset=ISO-8859-1 and encoding
|
||
quoted-printable or 8bit is supported both for ingoing and outgoing
|
||
messages. The RFC1342/1522 header extensions are currently not
|
||
supported.
|
||
|
||
* X-Charset and X-Char-Esc: These experimental headers are supported
|
||
for both ingoing and outgoing messages, using RFC1345 character
|
||
mnemonics and escape character ASCII 29.
|
||
|
||
|
||
Unresolved Issues:
|
||
|
||
* In e-mail (netmail) areas, the charset translation features do not
|
||
yet work correctly. Please avoid using non-ascii characters in
|
||
message headers (to/from/subject).
|
||
|
||
|
||
Using MIME Character Translation (RFC1341/1521)
|
||
|
||
You must have these lines in your GOLDED.CFG:
|
||
|
||
XLATCHARSET IBMPC LATIN-1 IBM_ISO.CHS
|
||
XLATCHARSET IBMPC LATIN1QP IBM_IQP.CHS
|
||
XLATCHARSET LATIN-1 IBMPC ISO_IBM.CHS
|
||
|
||
The IBM_ISO.CHS, IBM_IQP.CHS and ISO_IBM.CHS files must be present in
|
||
the XLATPATH.
|
||
|
||
To use MIME charset ISO-8859-1 and encoding 8bit in your messages,
|
||
you must have these lines in the appropriate group(s):
|
||
|
||
XLATEXPORT LATIN-1
|
||
XLATIMPORT LATIN-1
|
||
|
||
This will add the following headers in your messages:
|
||
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=iso-8859-1
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
Note that 8bit encoded messages usually won't get through unharmed
|
||
in e-mail, because the SMTP protocol is 7bit. In newsgroups the
|
||
problem apparently isn't so bad. If you want your 8bit characters to
|
||
get to the destination unharmed, you should use the quoted-printable
|
||
encoding (see below).
|
||
|
||
To use MIME charset ISO-8859-1 and encoding quoted-printable in your
|
||
messages, you must have these lines in the appropriate group(s):
|
||
|
||
XLATEXPORT LATIN1QP
|
||
XLATIMPORT LATIN-1
|
||
|
||
This will add the following headers in your messages:
|
||
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=iso-8859-1
|
||
Content-Transfer-Encoding: quoted-printable
|
||
|
||
When quoted-printable encoding is used, 8bit characters are
|
||
translated to a three-character code starting with ASCII 61 ('='),
|
||
followed by two hexadecimal characters that together form the
|
||
hexadecimal value of the original character in the charset specified
|
||
by the Content-Type header.
|
||
|
||
Users must be aware that not all reader software recognize and
|
||
support the quoted-printable format. The reader software may display
|
||
the entire three-character code untranslated, or translate the code
|
||
imcompletely. If the code is untranslated, the displayed result is
|
||
usually not pretty.
|
||
|
||
|
||
Using Character Mnemonics Encoding (RFC1345)
|
||
|
||
You must have these lines in your GOLDED.CFG:
|
||
|
||
XLATESCSET MNEMONIC IBMPC MNE_IBM.ESC
|
||
XLATCHARSET IBMPC MNEMONIC IBM_MNE.CHS
|
||
XLATCHARSET LATIN-1 IBMPC ISO_IBM.CHS
|
||
|
||
The MNEMONIC.ESC, IBM_MNE.CHS and ISO_IBM.CHS files must be present
|
||
in the XLATPATH.
|
||
|
||
To use character mnemonics in your messages, you must have these
|
||
lines in the appropriate group(s):
|
||
|
||
XLATEXPORT MNEMONIC
|
||
XLATIMPORT LATIN-1
|
||
|
||
This will add the following headers in your messages:
|
||
|
||
X-Charset: ISO_8859-1
|
||
X-Char-Esc: 29
|
||
|
||
When character mnemonic encoding is used, 8bit characters are
|
||
translated to a three-character code starting with ASCII 29,
|
||
followed by two characters that together form a standardized
|
||
mnemonic of the original 8bit character.
|
||
|
||
Users must be aware that not all reader software recognize and
|
||
support this encoding format. The reader software may display the
|
||
entire three-character code untranslated, omit only the escape
|
||
character or translate the code incompletely. If the code is
|
||
untranslated, the displayed result is usually not pretty.
|
||
|
||
|
||
Choosing Between MIME and Character Mnemonics
|
||
|
||
The safest choice for both e-mail and newsgroups is MIME with
|
||
quoted-printable encoding.
|
||
|
||
MIME is a fully documented standard (see RFC1522 or the older
|
||
edition RFC1341) using standard headers. It is fairly widely
|
||
supported by (newer) reader software.
|
||
|
||
The character mnemonics are documented in RFC1345, but the "X-"
|
||
headers are not documented (to the authors knowledge). The existence
|
||
of the X-Charset/X-Char-Esc headers and the encoding method was
|
||
found and deduced from sending e-mails with 8bit characters back and
|
||
forth between different addresses and looking at the e-mail at the
|
||
destination. The translation of 8bit e-mails and addition of the X-
|
||
headers appears to be done by routing software before sending them
|
||
using 7bit transfer protocols like SMTP. It is unknown what, if any,
|
||
reader software that supports the character mnemonics.
|
||
|
||
The main disadvantage of MIME 8bit and quoted-printable is that the
|
||
character set is limited to the US-ASCII 7bit or ISO-8859-1 8bit
|
||
sets. The character mnemonics support most or all of the 16bit
|
||
unicode character set.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Sound Support in DOS - The Goldware Sound API
|
||
|
||
The DOS and 386 versions of GoldED support sound via sound cards by
|
||
calling functions in the Goldware Sound API.
|
||
|
||
The Goldware Sound API is a set of functions provided by an interrupt
|
||
service function installed on the Alternate Multiplex Interrupt (AMI)
|
||
2Dh. For full details on the Alternate Multiplex Interrupt, please see
|
||
Ralf Brown's Interrupt List (INTER46*.ZIP), his AMI specification
|
||
(ALTMPX35.ZIP) and/or his AMIS library (AMISL091.ZIP).
|
||
|
||
I have implemented a program loader which provides the interrupt
|
||
service function with the Goldware Sound API. The current version of
|
||
the program loader is named GCTVSAPI 1.00 and may be found in the
|
||
archive GCTV100.ZIP. The current version of GCTVSAPI loads the
|
||
Creative Labs CT-VOICE.DRV file for playing of .VOC files. Full public
|
||
domain C++ source code and the Goldware Sound API specification is
|
||
included in the archive.
|
||
|
||
I hope that others will write program loaders or TSR's that implement
|
||
the Goldware Sound API for other sound cards than the Sound Blasters,
|
||
or even an implementation that does not require CT-VOICE.DRV.
|
||
|
||
If you have written a Goldware Sound API implementation, please let me
|
||
know, so that I and the reg.sites can make it available for other
|
||
users.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Sound Support in the OS/2 Version
|
||
|
||
To support sound in the OS/2 version, GoldED requires the MMPM/2, the
|
||
OS/2 MultiMedia Presentation Manager to be installed.
|
||
|
||
GoldED sends commands to MMPM/2 using the mciSendString API function.
|
||
Basically it send the following commands to play a sound file:
|
||
|
||
open <filename> alias noise wait
|
||
seek noise to start
|
||
play noise
|
||
(do other things until playing is complete)
|
||
close noise wait
|
||
|
||
These commands require that there is an association between the sound
|
||
file and the appropriate sound device (typically waveaudio or
|
||
sequencer). If you can't seem to get GoldED/2 to play your files, you
|
||
should check in the Multimedia Setup if the Association tabs under
|
||
Digital Audio and MIDI look correct.
|
||
|
||
It works perfectly here. If GoldED/2 doesn't play your files, you have
|
||
a setup problem somewhere. Try if entering "PLAY FILE=<soundfile>" at
|
||
the OS/2 commandline works. The REXX program PLAY.CMD sends commands
|
||
to MMPM/2 in almost the same way as GoldED/2.
|
||
|
||
If you are trying to make GoldED/2 play .VOC files and it doesn't
|
||
work, convert them to .WAV and try again.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Replacing DOS/4GW with PMODE/W in GoldED/386
|
||
|
||
The standard release of GoldED/386 requires the Rational Systems
|
||
DOS/4GW DOS extender runtime file DOS4GW.EXE. Many other programs use
|
||
the same extender. However there is an alternative extender which can
|
||
be used with GoldED. The alternative extender replaces a "stub" in
|
||
GED386.EXE and eliminates the requirement of the big DOS4GW.EXE file
|
||
as well as reducing memory requirements and increases speed.
|
||
|
||
The alternative DOS extender is PMODE/W by Charles Scheffold and
|
||
Thomas Pytel. At the time of writing, the latest version I know of is
|
||
version 1.23, distributed in the archive PMW123.ZIP (132k), dated june
|
||
24, 1996. By now there is probably already a newer version. Try
|
||
checking their website at http://www.dorsai.org/~daredevi/pmw.
|
||
|
||
If you want to replace DOS/4GW with PMODE/W, simply use the PMWBIND
|
||
utility that comes with the PMODE/W archive, like this:
|
||
|
||
PMWBIND /R GED386.EXE
|
||
|
||
That's it!
|
||
|
||
The PMODE/W manual recommends using the PMWSETUP program to adjust
|
||
some PMODE/W parameters in the new GED386.EXE, but in my very short
|
||
test period it worked fine without any adjustments, at least in a DOS
|
||
box under OS/2 Warp.
|
||
|
||
So, if PMODE/W is so great, why don't I use it in the standard release
|
||
of GoldED/386? There are several reasons:
|
||
|
||
1. For use in commercial/shareware programs, they want USD 500. I
|
||
can't afford that.
|
||
|
||
2. During the beta test of GoldED 2.50 I tried to use version 1.12 of
|
||
PMODE/W, but it turned out there were too many problems with it. I
|
||
haven't checked if the newer versions are better.
|
||
|
||
If you do replace DOS/4GW with PMODE/W and later experience odd
|
||
problems, please don't report anything to me before you have tried
|
||
going back to the standard release. You can do that by simply running
|
||
GoldED/386 like this:
|
||
|
||
DOS4GW.EXE GED386 [whatever parameters, if any]
|
||
|
||
Good luck with it!
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter The Message Database Formats
|
||
|
||
GoldED supports many different message database formats. The following
|
||
is a list of them all, with notes about their characteristics and what
|
||
special quirks to look out for with each of them.
|
||
|
||
|
||
Opus/FTS1 (*.MSG)
|
||
|
||
These are two variants of the same type of msgbase. It works by
|
||
using one physical file per message (1.MSG, 2.MSG etc.),
|
||
collecting them in a directory for each area. Depending on the
|
||
clustersize on the harddisk, this can be a very wasteful and slow
|
||
way to store messages. With a clustersize of about 512 bytes, the
|
||
waste may be acceptable, but the access speed can be dramatically
|
||
slow if there are many *.MSG files, due to the DOS file system.
|
||
Caches and BUFFERS adjustments can improve it, but there are
|
||
limits.
|
||
|
||
In echomail areas, this format has a special quirk: The first
|
||
message (1.MSG) is normally used to store the so-called
|
||
"highwatermark". The highwatermark tells the echomail processor
|
||
where it should start scanning for new messages entered by users.
|
||
By deleting (Zapping) the highwatermark, you can make the echomail
|
||
processor re-scan the whole area again. This may cause messages to
|
||
be sent out as "dupes", so this should be used sparingly and
|
||
carefully, if at all! The highwatermark can also be "Heated" -
|
||
which means that it is set to the last msg in the area. This
|
||
prevents the echomail processor from finding newly entered
|
||
unscanned msgs. Use with care.
|
||
|
||
The variants: The "Opus" format originated in the Opus BBS system.
|
||
It put some Fido undocumented(?) fields to use as date/time
|
||
stamps. The "FTS1" (defined in FTS-0001, revision 12 and later)
|
||
format uses the undocumented fields to set the zone/point
|
||
information for the msg. To the authors knowledge, the Opus
|
||
variant is the dominant, and the FTS1 variant is doomed to
|
||
oblivion. If in doubt, use the Opus format.
|
||
|
||
|
||
Hudson
|
||
|
||
This msgbase format was invented by Adam Hudson, and was first
|
||
used in his QuickBBS package. Later several other BBS'es were
|
||
cloned from QuickBBS (like RemoteAccess and SuperBBS).
|
||
|
||
The basic format is built around 7 main files:
|
||
|
||
MSGTXT.BBS This contains the message text of all msgs in all
|
||
areas.
|
||
MSGHDR.BBS The headers for all the msgs in MSGTXT.BBS.
|
||
MSGIDX.BBS Index to MSGHDR.BBS.
|
||
MSGINFO.BBS Tells how many msgs there are in each area.
|
||
MSGTOIDX.BBS Index that contains all the TO names.
|
||
LASTREAD.BBS Lastreads for all areas for each user in USERS.BBS.
|
||
USERS.BBS Contains a record for each user. Also the index to
|
||
LASTREAD.BBS.
|
||
|
||
The format limits the total size of MSGTXT.BBS to a maximum of
|
||
16MB, which translates to about 16000 msgs of "average" length.
|
||
GoldED automatically warns you if the limit is close to being
|
||
reached, and advises you to pack the msgbase.
|
||
|
||
The first incarnations of QuickBBS did not support "sharing" of
|
||
the msgbase. This became more and more important in later years as
|
||
multitaskers and networks got cheaper. RemoteAccess BBS was the
|
||
first to implement a useful method, and later a better method was
|
||
evolved (known as "RA 1.01 or RA 1.1x"), which is now the standard
|
||
for all modern software that supports msgbase sharing. GoldED
|
||
fully supports the new standard of course.
|
||
|
||
The main virtue of this format is that it is very fast to access
|
||
the msgbase.
|
||
|
||
The main disadvantage is that it can be very sensitive to disk
|
||
problems, and it is a common horror story that people loose their
|
||
entire msgbase because the disk developed bad clusters or some
|
||
program went berserk and messed up the msgbase files.
|
||
|
||
|
||
Goldbase
|
||
|
||
This is an enhanced version of the Hudson format, introduced in
|
||
QuickBBS 2.80 by the QuickBBS group.
|
||
|
||
The Goldbase format removes the 16MB size limit and allows up to
|
||
500 message areas instead of the 200 in Hudson. The filenames are
|
||
the same, except that the extension is .DAT instead of .BBS.
|
||
|
||
|
||
Squish
|
||
|
||
The Squish format is relatively new. It was invented by Maximus
|
||
BBS author Scott Dudley in 1991, and was first used in Maximus
|
||
CBCS v2.00. Soon after, GoldED was among the first message editors
|
||
to support this new format.
|
||
|
||
Squish uses three files per area: A header/message text file
|
||
(*.SQD), an index file (*.SQI) and a lastread file (*.SQL). The
|
||
SquishMail echomail processor uses a fourth file (*.SQB) to hold a
|
||
dup-database.
|
||
|
||
The use of a database for each area - instead of one file per msg,
|
||
or all msgs in one big database - makes this format fast, very
|
||
safe and resistant to disk problems. Even if something messed up a
|
||
Squish area, it can almost always be fixed and recovered, using
|
||
the SQFIX or SQREIDX utilities that come with the Squish echomail
|
||
processor.
|
||
|
||
A special feature of Squish areas is that they can be
|
||
self-maintaining. You can setup a Squish area so that it may only
|
||
contain a maximum of so-and-so many msgs, and then it will
|
||
automatically re-use the space used by old msgs when the limit is
|
||
reached, and so it will practically stop growing. It will still
|
||
need packing, but not nearly as often as a Hudson msgbase has to.
|
||
|
||
|
||
Ezycom
|
||
|
||
<to be described>
|
||
|
||
|
||
JAM
|
||
|
||
The JAM format was invented by Joaquim Homrighausen, Andrew
|
||
Milner, Mats Birch and Mats Wallin.
|
||
|
||
JAM uses four files for each area: A header file (*.JHR), a
|
||
message text file (*.JDT), an index file (*.JDX) and a lastread
|
||
file (*.JLR). Most echomail processors support two additional
|
||
files to aid scanning out messages: NETMAIL.JAM and ECHOMAIL.JAM.
|
||
They are "global" files, located in the JAMPATH.
|
||
|
||
See also the chapter "JAM Implementation Notes".
|
||
|
||
|
||
PCBoard
|
||
|
||
<to be described>
|
||
|
||
See also the chapter "PCBoard Implementation Notes".
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter JAM Implementation Notes
|
||
|
||
This chapter describes details about the implementation of the JAM
|
||
messagebase format in GoldED. Should be read in conjunction with the
|
||
JAM specs for better understanding. A lot of technical terms will be
|
||
used, so if you are not the technical type, just skip over it.
|
||
|
||
|
||
General notes
|
||
|
||
The first release of the JAM messagebase specifications (JAM-001,
|
||
rev.1, dated 93-07-01) included an example implementation in the C
|
||
language of a "JAM API".
|
||
|
||
For the purpose of use in GoldED, the JAM API C implementation was
|
||
both too complete and not complete enough. Therefore I developed my
|
||
own specialized JAM msgbase handling code. My own code was of course
|
||
designed be compatible with the original JAM API as well as the
|
||
specifications, but some things are done slightly differently for
|
||
various reasons.
|
||
|
||
|
||
File I/O checks
|
||
|
||
Reads and writes to the msgbase files are generally NOT checked for
|
||
errors in GoldED. In contrast, the original JAM API checks everything
|
||
and stores error values in the API, for the user to use or ignore.
|
||
|
||
Full checking degrades performance a bit, adds more code to the EXE
|
||
file, and most importantly, GoldED just doesn't have a safe way to
|
||
recover from the detection of such errors anyway at this time.
|
||
Assuming that your system is working well, there are no harddisk
|
||
errors etc., this will normally not be a problem.
|
||
|
||
|
||
Message header revisions
|
||
|
||
The JAM message headers contain a field to indicate the revision
|
||
number of the header structure.
|
||
|
||
GoldED currently ignores this field and assumes that future revisions
|
||
will remain backward compatible. When creating new msgs, GoldED uses
|
||
the revision 1 header structure.
|
||
|
||
When new revisions of the JAM specs are released, GoldED will be
|
||
updated to handle these as quickly as possible.
|
||
|
||
|
||
Passwords
|
||
|
||
The JAM specs contain fields for passwords to access the msgbase
|
||
and/or indiviual messages.
|
||
|
||
GoldED currently doesn't support these passwords. When creating a new
|
||
JAM msgbase and/or new JAM msgs, GoldED sets the password to
|
||
FFFFFFFFh. If you change an existing msg which has a password, the
|
||
password is NOT preserved, but reset to FFFFFFFFh.
|
||
|
||
|
||
Lastreads
|
||
|
||
The JAM lastread file is designed such that is has to be searched for
|
||
a userid/usercrc, because one cannot assume that the records are in a
|
||
specific order.
|
||
|
||
The JAM API searches the userid field. However it seems more
|
||
reasonable to search for the usercrc, because that is a value the
|
||
program can calculate from the username without looking in other
|
||
files. I'm not sure why the JAM API chooses to look in the userid
|
||
field instead. GoldED searches for the usercrc, not the userid. In any
|
||
case, it seems that RemoteAccess 2.x sets both the userid and usercrc
|
||
to the same value.
|
||
|
||
The specs state that the user's lastread record must be searched for
|
||
both when retrieving it and storing an updated record. However, the
|
||
JAM API seems to implemented slightly differently, because when it
|
||
stores an updated record, it stores it at the same position as it was
|
||
read *without* first searching for it.
|
||
|
||
GoldED has been implemented to work in a similar manner. It searches
|
||
for the user's lastread record when the msgbase is opened, and it
|
||
assumes that it will remain in the same position as it was found,
|
||
until the msgbase is closed.
|
||
|
||
This is normally a quite reasonable assumption. The only circumstance
|
||
where the lastread records might be re-ordered is when a msgbase
|
||
maintentance utility cleans up or sorts, and such a utility is
|
||
normally designed to open the msgbase files in exclusive mode, which
|
||
it can't do when the files are already open. If it tries to re-order
|
||
without exclusive access, the utility is badly designed and
|
||
potentially dangerous in multitask/networking environments.
|
||
|
||
|
||
Size limits
|
||
|
||
The JAM specs allow msgbases and msgs of really huge sizes. The 16-bit
|
||
DOS version of GoldED cannot handle the full extremes of this. The
|
||
32-bit OS/2 and 32-bit protected mode DOS versions of GoldED can
|
||
handle any size, only restricted by memory, disk space or unknown
|
||
compiler or operating system limits.
|
||
|
||
The internal limits for the 16-bit versions of GoldED means that they
|
||
can only handle msgbases containing a maximum of 8191 msgs (including
|
||
deleted msgs), and msgs a maximum of about 64k long. In theory at
|
||
least. In practice the limits may be smaller due to lack of memory.
|
||
|
||
|
||
ASCII 7-bit escaping
|
||
|
||
GoldED currently doesn't support the escaping described in the JAM
|
||
specs. The specs state that the current revision of JAM does not
|
||
support it either, so I guess it's no great loss.
|
||
|
||
|
||
Date fields
|
||
|
||
GoldED currently doesn't display the DateReceived field, but it is
|
||
updated on disk when a message is received (read) by the recipient.
|
||
|
||
The DateProcessed field is set to the current date when a msg is
|
||
writtten or changed with GoldED.
|
||
|
||
All new dates are set to the system time and are not adjusted for
|
||
timezone.
|
||
|
||
|
||
Subfields
|
||
|
||
The concept of the JAM subfields is difficult to support easily in a
|
||
program like GoldED, which was designed to support the traditional
|
||
fixed header formats and kludges in the msg body. Therefore the
|
||
implementation in GoldED of the JAM subfields is not currently as
|
||
complete as one might wish.
|
||
|
||
However, it should be adequate for most purposes. I will of course do
|
||
what I can to improve the JAM subfield support in future releases. The
|
||
following is a list of the current limitations of the JAM subfield
|
||
support in GoldED:
|
||
|
||
* Subfields are converted internally to the equivalent kludges for
|
||
easy viewing, and to make it possible to copy JAM msgs to areas
|
||
with other msgbase formats. Some subfields do not have equivalent
|
||
known kludges defined. They are converted to kludges with names I
|
||
have invented for the purpose. All subfields can be viewed if you
|
||
hit the Alt-I key to display a hexdump of the message.
|
||
|
||
* The subfields with size limits (typically 100 chars) are not
|
||
specifically checked for size. Since all other msgbase systems
|
||
have much lower limits for the fields in question, this should not
|
||
be a problem.
|
||
|
||
* Only one OADDRESS/DADDRESS is supported. When reading a message,
|
||
only the _first_ OADDRESS/DADDRESS is used.
|
||
|
||
* None of the file attach or file request subfields are supported at
|
||
this time. File attaches or file requests are stored in the
|
||
subject field in a manner similar to other msgbase formats. This
|
||
might not be supported by a fully JAM compliant mail processor,
|
||
but IMHO a mail processor should use the subject field if it finds
|
||
the file attach/request attributes set, but can't find any
|
||
subfields for them.
|
||
|
||
* If you change a JAM message which is not from you, and save it,
|
||
all unsupported subfields will be missing in the saved message,
|
||
and some supported subfields may be changed in content (like the
|
||
PID subfield).
|
||
|
||
* Currently unsupported message attributes:
|
||
|
||
MSG_FPU "Force pickup"
|
||
MSG_NODISP "Msg may not be displayed to user" (always displayed)
|
||
|
||
|
||
Deleted msgs
|
||
|
||
The original JAM specs has a fairly major problem when it comes to the
|
||
specification for deleting msgs and in particular about _detecting_
|
||
deleted msgs. The original specs do not define a fast way to detect
|
||
deleted msgs from the index file alone.
|
||
|
||
This may not be so important for a BBS or a mail processor, but it is
|
||
absolutely vital for mail readers such as GoldED, which need a fast
|
||
way to find out how many active msgs there are, and where the lastread
|
||
is, and to calculate how many unread msgs there are. If GoldED had
|
||
scan the header file to check a single bit in each header the area
|
||
scanning would slow down dramatically, because the header file can
|
||
easily grow to many megabytes and thousands of msgs.
|
||
|
||
Fortunately there is a way out. The specs state that if the usercrc
|
||
and header offset values in the index are both -1 (FFFFFFFFh), then
|
||
"there is no corresponding header". Such a situation is IMHO highly
|
||
unlikely, so I have proposed to use this to signify a deleted msg
|
||
instead. This should be backward compatible with almost all JAM
|
||
compatible programs, with the possible exception of msg undelete
|
||
utilities.
|
||
|
||
With the header offset set to -1 (FFFFFFFFh), there is of course no
|
||
fast way to find the header of a deleted msg. A msg undelete utility
|
||
would have to scan through the entire header file to locate the
|
||
deleted header (or rather the last occurrence of it, because there can
|
||
easily exist more than one deleted header with the same message
|
||
number). This is IMHO a price worth paying for the performance gained
|
||
by using by changing the specs to specify a deleted msg instead of a
|
||
hypothetical non-existing header.
|
||
|
||
When I brought up this subject in the JAMDEV echo, the developers who
|
||
replied generally agreed that this was a good idea. At the time of
|
||
writing, I don't know for certain that it will be changed in the
|
||
specs, but I think so.
|
||
|
||
GoldED optionally (since version 2.50.B0822) follows my proposed
|
||
method when deleting msgs. The configuration keyword JAMHARDDELETE
|
||
specifies which method to use. If set to Yes, my method is used. The
|
||
default is No, but I recommend (and use myself) Yes.
|
||
|
||
|
||
Scanning files
|
||
|
||
The NETMAIL/ECHOMAIL.JAM files are written/updated when new messages
|
||
are written or changed in JAM netmail/echomail areas. The files are
|
||
written/updated in the JAMPATH. If you don't have a JAMPATH, it
|
||
defaults to the HUDSONPATH. If you don't use a Hudson msgbase and
|
||
haven't defined a HUDSONPATH, the HUDSONPATH defaults to the GOLDPATH.
|
||
|
||
At the time of writing, the NETMAIL/ECHOMAIL.JAM files are not a part
|
||
of the official JAM specs, but they are used in RA2 and most JAM
|
||
compatible mail processors to specify the msgs that need to be
|
||
exported from the JAM msgbase files.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter PCBoard Implementation Notes
|
||
|
||
This chapter describes details about the implementation of the PCBoard
|
||
messagebase format in GoldED.
|
||
|
||
|
||
Netmail
|
||
|
||
GoldED 2.50 supported FidoPCB-style netmail areas, where the first and
|
||
second line of the msg had special meaning as FidoNet address or
|
||
attributes. This is no longer supported from version 2.51. Instead,
|
||
the official method used by PCBoard itself is supported. This should
|
||
be transparent to you.
|
||
|
||
|
||
Extended Headers
|
||
|
||
GoldED is aware of PCBoard v15.x extended headers in the message text.
|
||
The TO, TO2, FROM, FROM2 and SUBJECT extended headers are directly
|
||
supported and "swallowed" when reading a msg. Other extended headers
|
||
are currently treated like normal message text and is therefore not
|
||
hidden to the reader. In a later release, I plan to internally convert
|
||
the extended headers to kludges.
|
||
|
||
|
||
Long Names
|
||
|
||
GoldED 2.51 supports the long names that are possible with PCBoard.
|
||
You can both enter and edit them. GoldED 2.50 was limited to 35 chars.
|
||
|
||
|
||
Password
|
||
|
||
Passwords are not supported.
|
||
|
||
|
||
Attributes
|
||
|
||
The Private, Received, Crash and Direct attributed are supported.
|
||
|
||
|
||
Double-Byte Characters (Foreign Systems)
|
||
|
||
GoldED reads the PCBOARD.DAT file to determine whether to use E3h or
|
||
0Dh (CR) as the line/paragraph termination character when reading and
|
||
writing message text.
|
||
|
||
|
||
Message Index
|
||
|
||
Only the new v15.x .IDX files are suppported. The old .NDX files are
|
||
not supported in any way.
|
||
|
||
|
||
Userbase
|
||
|
||
By default, the first set of lastreads is used. But if you set
|
||
PCBOARDUSERNO to -1, GoldED searches the userbase for your name to
|
||
find the lastread pointer set. If GoldED does not find you name, it
|
||
will NOT add a new userbase record for you, but instead uses the first
|
||
set of lastreads.
|
||
|
||
|
||
Mail Waiting Flag
|
||
|
||
The mail waiting flags are updated when you write to people that are
|
||
named in the userbase.
|
||
|
||
Changing a Message
|
||
|
||
When changing a message, the new edition is saved as if it were a new
|
||
message, with a new message number, and then the old edition is
|
||
deleted. This behaviour is consistent with the way PCBoard itself
|
||
works when changing a message. NOTE: The old edition will still be
|
||
visible with the DEL attribute until you exit the area.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter AdeptXBBS Implemenation Notes
|
||
|
||
This chapter describes details about the implementation of the
|
||
AdeptXBBS messagebase format in GoldED. The implementation is based on
|
||
the documentation in version 1.05, experimentation and questions to
|
||
the authors. Thanks go to Frank Jacobberger for the initial testing
|
||
and prodding of the authors to answer my questions :-)
|
||
|
||
The AdeptXBBS format does not have a quick method of finding deleted
|
||
messages via the index file. This means that deleted messages will
|
||
still be visible, but marked with the DEL attribute. When GoldED
|
||
deletes a message, it will at first seem to be gone, but after the
|
||
next scan, it will be back again, with the DEL attribute.
|
||
|
||
Mixing of netmail and echomail or other types of mail in the same area
|
||
is not directly supported. If an area is setup as both netmail and
|
||
echomail, GoldED will treat it as netmail. If an area is neither
|
||
netmail nor echomail, GoldED wil treat it as a local area.
|
||
|
||
GoldED detects Usenet (newsgroup) and Internet E-Mail areas in
|
||
the AdeptXBBS setup and uses them as such, but it has not yet been
|
||
tested if GoldED and AdeptXBBS are compatible in the way they store
|
||
and process Internet header information.
|
||
|
||
The AdeptXBBS personal mail feature (the index in the Personal_Mail
|
||
directory) is supported for mails you write to other users on the BBS.
|
||
However, personal mail for you via this feature or by other means is
|
||
not yet supported.
|
||
|
||
The replylinking method used by AdeptXBBS (whatever the method is??!)
|
||
is not yet supported. This means that links to other messages are
|
||
missing.
|
||
|
||
The AdeptXBBS messagebase format is only supported in the OS/2 version
|
||
of GoldED, because AdeptXBBS requires HPFS. In the other versions, the
|
||
AdeptXBBS code is not included in the EXE file and therefore doesn't
|
||
use additional memory or EXE disk space.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter WildCat! 4.x Implementation Notes
|
||
|
||
This chapter describes details about the implementation of the
|
||
WildCat! 4.x messagebase format in GoldED.
|
||
|
||
The WildCat format does not have a quick method of finding deleted
|
||
messages via the index file. This means that deleted messages will
|
||
still be visible, but marked with the DEL attribute. When GoldED
|
||
deletes a message, it will at first seem to be gone, but after the
|
||
next scan, it will be back again, with the DEL attribute.
|
||
|
||
WildCat features which are not supported yet:
|
||
|
||
- The userbase.
|
||
- The message unread chain.
|
||
- The message from/to title.
|
||
- The message network name.
|
||
- The message internal and external attach.
|
||
|
||
There is not yet any AREAFILE WildCat. You must define the areas by
|
||
hand using the AREADEF keyword, like this:
|
||
|
||
AREADEF MYTEST "My Test" 0 Echo WCat <path\basename> etc.
|
||
|
||
There is a keyword WILDCATUSERNO, which works just like the other
|
||
<msgbase>USERNO keywords. By default GoldED will use the first record
|
||
in the lastread file (*.LRD), so if you are not the first person in
|
||
the userbase, or you are sharing the messagebase with others, you may
|
||
have to change this user number. The userbase is currently not
|
||
supported (ie: you can't set the number to -1 to let GoldED find the
|
||
correct user and lastread automatically).
|
||
|
||
NOTE: The WildCat support is currently not very well-tested, so use
|
||
it with caution. In my limited testing, I have not found it to be
|
||
damaging the messagebase, but you should probably test it on less
|
||
important areas and/or make backups until it is determined that it
|
||
is safe.
|
||
|
||
<sorry - this chapter is not completed yet>
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Win32 Implementation Notes
|
||
|
||
A new Win32 API based console (text) mode version has been added to
|
||
the GoldED family: GoldED/W32. It will run under Windows NT and
|
||
Windows 95 as a textmode application. Note that the screen update
|
||
speed and keyboard response may be slow, especially under Windows 95.
|
||
This is because screen and keyboard access has to go through some
|
||
fairly complex (Win32) API functions, which are designed to hide the
|
||
underlying hardware access method and thus have a lot of overhead
|
||
compared to direct hardware access under DOS or even the simpler API
|
||
under OS/2.
|
||
|
||
Known limitations/problems/bugs in the Win32 version:
|
||
|
||
- Can't change the screen mode (like from 25 to 43/50 lines).
|
||
- Can't change the border (overscan) color.
|
||
- Can't switch between blinking and intense colors.
|
||
- Can't change the palette.
|
||
- Shelling to the OS may not work.
|
||
- Standard beeping effects may not be working under Windows 95.
|
||
- Possible minor keyboard quirks.
|
||
|
||
On the whole, I am not very happy about the Win32 versions performance
|
||
when running on Windows 95. However, I am certain that I can put a lot
|
||
of blame on the poor implementation of the console mode in Windows 95.
|
||
It runs more smoothly in Windows NT, even the old NT 3.1 that I tested
|
||
it on in the beginning. I would like to hear from users how it runs
|
||
under NT 4.0.
|
||
|
||
Some of the limitations and problems with the Win32 version are caused
|
||
by limitations or peculiarities in the Win32 console mode API.
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Linux Implementation Notes
|
||
|
||
There are some things you must know before trying out the Linux
|
||
version, especially if you are used to the DOS, OS/2 or Win32
|
||
versions:
|
||
|
||
* You should be familiar with GoldED for the other operating systems
|
||
and know your way around at least a basic golded.cfg.
|
||
|
||
* Linux is an OS with CASE-SENSITIVE file systems. GoldED now uses
|
||
lowercase filenames internally, because this is costumary for Unix.
|
||
When accessing msgbases on case-insensitive file systems such as FAT
|
||
or HPFS under Linux, filenames might not be lowercase on the disk.
|
||
If this is the case, you must rename them so that they are (and hope
|
||
they stay lowercase).
|
||
|
||
This will probably be the part that will give you the most grief if
|
||
you try to run a system with a mixture of Linux, DOS, OS/2, and/or
|
||
Win32 software.
|
||
|
||
IF IT DOESN'T WORK OR COREDUMPS, TRY CHECKING IF ALL FILES ARE
|
||
LOWERCASE, BOTH ON THE FILESYSTEM AND IN THE CONFIGURATION FILES.
|
||
|
||
* The directory separator (slash) char is '/', not '\'. However,
|
||
GoldED automatically translates the "wrong" slash char to the
|
||
"right" slash char in most cases, so you probably won't notice it.
|
||
|
||
* Unix has no drive letters (C: etc), and GoldED for Linux currently
|
||
can't map DOS-style paths to Unix-style paths. This means that
|
||
AREAFILE's won't work unless paths are specifically written in
|
||
Unix-style.
|
||
|
||
* If you want to use the same golded.cfg file for all platforms, you
|
||
can use the conditional statement "IF LINUX" or "IF UNIX" around
|
||
Linux specific parts of it, typically paths or filenames.
|
||
|
||
* I recommend to start with a tiny golded.cfg (see below) with only
|
||
the basic setup and a few areas that you have a backup of. The
|
||
msgbase support of GoldED for Linux should work exactly as
|
||
3.00.Alpha5, which is NOT known to trash msgbases, but it's compiled
|
||
and built with a compiler and tools that I'm not very familiar with,
|
||
and there may be compiler quirks and flaws introduced in the porting
|
||
which may have affected otherwise working code.
|
||
|
||
* Currently only the *.MSG, JAM, Squish and Hudson formats have been
|
||
tested, but it should work with the other formats too.
|
||
|
||
* There is not yet any support for Unix-style mailboxes or news
|
||
spools. If you want to access those, you need to use a utility that
|
||
can create/unpack SOUP packets. GoldED can import/export those to
|
||
the msgbases that are supported (JAM or Squish is recommended for
|
||
this).
|
||
|
||
* File attach probably does not work well (it's not been tested).
|
||
|
||
* Characters with ASCII values 0-31 are currently remapped to 'x' or a
|
||
visually similar character before being written to the screen.
|
||
Characters in the range 128-159 are remapped from CP865 to Latin-1.
|
||
|
||
* The default XLATLOCALSET is LATIN-1 for the Linux version, as
|
||
opposed to IBMPC for the other OS'es. You should setup character
|
||
translation between IBMPC and LATIN-1 and use the correct XLATEXPORT
|
||
for each echo. See the GoldED manual for details. Most FidoNet
|
||
echoes assume IBMPC or another IBMPC-based sets as default if there
|
||
is no CHRS or CHARSET kludge. For areas where IBMPC is assumed, you
|
||
should set both XLATIMPORT and XLATEXPORT to IBMPC or CP850.
|
||
|
||
* Screen color changes and cursor movements are made with ANSI
|
||
sequences. GoldED for Linux will also work in X terminals, but this
|
||
is not recommended because of keyboard limitations. Telnet sessions
|
||
should work, if they support the ANSI sequences and produce usable
|
||
keycodes.
|
||
|
||
* Standard distributions of Linux do not define all the keys that are
|
||
usually available on DOS, OS/2 and Win32. Specifically, cursor
|
||
movement (arrows, page, home/end) keys don't have separate keycodes
|
||
when combined with the shift, control or alt keys. It is possible
|
||
(in the keytable maps in /usr/lib/kbd/keytables) to define
|
||
non-standard keycodes to make Ctrl-PageUp, Alt-Left etc. work, but I
|
||
haven't had time to do this yet.
|
||
|
||
* There may be odd quirks in the keyboard handling. Please report if
|
||
you find any.
|
||
|
||
* The "DOS shell" probably doesn't work. Not tested.
|
||
|
||
* The printing feature prints to "/dev/lp". Not tested.
|
||
|
||
|
||
Please report only problems that are specific for the Linux version.
|
||
General problems have already been reported to death since april '97
|
||
and may already be fixed in the next versions.
|
||
|
||
|
||
=== Cut, a basic golded.cfg ===
|
||
|
||
username Odinn Sorensen
|
||
address 2:236/77
|
||
areadef netmail "Netmail" 0 net opus /usr/ftn/netmailx . (loc)
|
||
areadef net.fidoz2 "FidoNet Z2" 0 net squish /usr/ftn/fidoz2 . (loc)
|
||
areadef zzz.jtest1 "JAM test" 0 echo jam /usr/ftn/jtest1 . (loc)
|
||
|
||
=== Cut ===
|
||
|
||
#page
|
||
#---------------------------------------------------------------------
|
||
#chapter Thank you's, Credits and Acknowledgements
|
||
|
||
* All GoldED users, for their endless patience and support through
|
||
the years.
|
||
|
||
* Dirk A. Mueller has been very helpful in all kinds of ways. I just
|
||
can't thank him enough!
|
||
|
||
* Squish and Maximus are Copyright 1989, 1995 by Lanius Corporation
|
||
(Scott J. Dudley).
|
||
|
||
* JAM(mbp) - Copyright 1993 Joaquim Homrighausen, Andrew Milner,
|
||
Mats Birch, Mats Wallin. ALL RIGHTS RESERVED.
|
||
|
||
* Marcantonio Magnarapa made a manual compiler for the GoldED manual
|
||
during the 2.50.beta phase, for which I was very grateful.
|
||
However, I have since made my own manual compiler.
|
||
|
||
* The EXEC v3.3 swapping spawn function by Thomas Wagner is used in
|
||
the DOS version to minimize memory use while shelling to DOS and
|
||
running other programs.
|
||
|
||
* Sourcecode for doing the WaZOO .REQ thing was kindly provided by
|
||
Morten Baun.
|
||
|
||
* Udo van den Heuvel made the GoldPGP utility, which inspired me to
|
||
make GoldED do the same internally.
|
||
|
||
* Nicolai Dufva (2:236/100.28) helped with coding for the sound
|
||
support in the OS/2 version.
|
||
|
||
* Bob Stouts C/C++ SNIPPETS have been a source and inspiration for a
|
||
number of functions and classes in my Goldware library.
|
||
|
||
* The Free Software Foundation for GPL and LGPL.
|
||
|
||
* Linus Torvalds for Linux.
|
||
|
||
[this list is incomplete]
|
||
|
||
#---------------------------------------------------------------------
|
||
#end
|
||
#---------------------------------------------------------------------
|