home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / XGRP_000.LZH / XGROUP.DOC < prev    next >
Text File  |  1991-08-23  |  18KB  |  507 lines

  1.  
  2. Documentation for XGROUP v0.0, an XBBS Groupmail/Echomail/Netmail
  3.                   Scanner/Tosser copyright (c) 1991 by M. Kimes
  4.                                  all rights reserved
  5.  
  6.  
  7.  Overview, disclaimer, restrictions, BS...
  8.  
  9. XGroup is a fast 5-D echo/net/groupmail processor for XBBS (MS-DOS
  10. and OS/2) message bases.
  11.  
  12. XGroup is free for the using in non-commercial environments.  That
  13. means if you make money using it, or use it within commercial
  14. walls, you are violating my copyright.  "Commercial" includes
  15. businesses, government agencies and religious groups.  Go away.  If
  16. you think you're an exception, ask *first*.  You can make XGroup
  17. available for download if you don't charge anything for access to it
  18. or the time to get it as long as you don't alter the original archive.
  19. If that's too much trouble, don't do me any favors; don't keep it
  20. around.
  21.  
  22. XGroup has no warranty whatsoever.  If it breaks, you have two pieces.
  23. I guarantee only that it will take up space on your storage media at
  24. least until deleted.  Other old sayings.
  25.  
  26. XGroup makes no attempt to support crappy topology.  Don't make dupes
  27. or you will probably become familiar with the word "excessively"
  28. followed by the word "annoying."  Stars are good topology.
  29.  
  30. Do you feel alienated yet?  Did I mention there's no warranty?
  31.  
  32.  
  33.  Brief primer:
  34.  
  35. Fidonet-technology mail (echomail, netmail, and groupmail) arrive on
  36. your system in the form of packets.  This is called the "transport
  37. layer."  Packets have a specific pre-defined format so that every
  38. node that receives packets knows how to disassemble them into messages.
  39. A packet consists of a header followed by zero or more packed messages.
  40.  
  41. Netmail refers to a message (usually private) from one node to another,
  42. or more specifically, from a user at one node to a user at another node.
  43. Netmail usually goes direct (sender calls receiver to deliver), but
  44. routing schemes are becoming more common (where sender calls another
  45. node that calls another node, and so on, until finally the receiver is
  46. called and the route is complete).
  47.  
  48. Echomail is the more common of the two types of broadcast mail (groupmail,
  49. while superior, is less popular.  This seems common in computerland where
  50. MS-DOS is more popular than OS/2 for no good reason at all).  Echo
  51. messages literally "echo" from one node to another in a sometimes-huge
  52. moebius loop.  The difference between routed netmail and echomail is that
  53. echomail may exist in readable form on all or some of the transit nodes;
  54. each node can be a recipient.  Netmail is normally only unpacked and
  55. placed into the message base on the receiving node.  Due to problems with
  56. hardware, software, topology and the base technology of echomail, duplicate
  57. messages (dupes) tend to be a problem.  Echomail also requires "customized"
  58. packets built specifically for each recipient (this is more a requirement
  59. of existing echomail processing software than the technology itself).
  60. Although most echomail conferences have moderators (someone responsible
  61. for and in charge of the conference), echomail is by nature rather wild
  62. and wooly (some might say uncontrolled and uncontrollable).  But, for all
  63. its faults, it works.  Remember that echomail was kludged together before
  64. the idea of broadcast mail, at least in a Fidonet technology network, was
  65. commonplace.
  66.  
  67. Groupmail attempts to rectify some of echomail's problems, with a fair
  68. degree of success.  It falls into the "cracks" of typical net and
  69. echomail processing.  "Upbound" groupmail (headed toward the moderator,
  70. or "topstar") is sent as pseudo-netmail so that it avoids echo processing.
  71. At the topstar a common packet is compiled and shipped back out to all
  72. participants.  In this way, messages on all systems are identical.  Dupes
  73. are rare in groupmail due to the method of disseminating these packets,
  74. called "update requesting."  Groupmail can also do without a lot of the
  75. control information echomail carries in a vain attempt to circumvent dupes.
  76. Finally, groupmail conferences can actually be policed by their moderators,
  77. though there is no technological requirement to do so.  Groupmail can also
  78. allow files to follow messages.
  79.  
  80. For more information on packets and netmail, see FTS-0001, FSC-0039,
  81. FSC-0045 (the packet header format XGroup uses) and FSC-0048.  For more
  82. info on echomail and topology, see FTS-0004.  Groupmail is discussed in
  83. more detail in FSC-0036.  These FTS-* and FSC-* documents are available
  84. from the FTSC (Fidonet Technical Standards Committee) chair; see your
  85. nodelist or ask your bossnode, whichever applies.
  86.  
  87.  
  88.  Back to XGroup...
  89.  
  90. Version 0.0 is a bound executable (runs under both MS-DOS and OS/2).
  91. Although parts of XGroup are still in beta stages (particularly the
  92. groupmail support), the functions used in day-to-day Fidonet
  93. technology net and echomail processing have worked fine for an
  94. extended testing period.  It shouldn't spit garbage out onto the
  95. net if you don't screw up its setup (like telling it to forward to
  96. someone you shouldn't).  If it does, put XST back online and send
  97. me a detailed bug report.  Relax, there's nothing wrong with XST.
  98. I only wrote this because XST doesn't run under OS/2.
  99.  
  100. XGroup uses those asshole files that HeadEdit can create, so if you
  101. mark your assholes noimport, you won't waste any more time on them
  102. than absolutely necessary.
  103.  
  104.  
  105.  OS/2 users note:
  106.  
  107. Only one instance of XGroup may run at one time.  XGroup should take
  108. care of this on its own and refuse to run if it's already active in
  109. another process.  XGroup will wait for the OS/2 XMsg to finish working,
  110. and vice versa.  XGroup supports full record locking while importing
  111. and exporting, however, and should run fine with other programs that
  112. access the XBBS message areas that also support record locking.  Note
  113. that XMsg is *not* one of those, for reasons that'll be obvious once
  114. you think about it.
  115.  
  116.  
  117.  
  118.  Usage:  XGROUP [configfile] [command]
  119.  
  120. [configfile] defaults to XGROUP.CTL and must be included if passing a
  121. [command]
  122.  
  123.  
  124.  
  125.  Command line options:
  126.  
  127. E (xport only)
  128.  
  129. XGroup will export from your XBBS message areas.  No importing will take place.
  130.  
  131.  
  132. I (mport only)
  133.  
  134. XGroup will import mail.  No exporting will take place.
  135.  
  136.  
  137. C (leanup only)
  138.  
  139. XGroup will tidy up the groupout (see below) directory only.
  140.  
  141.  
  142. A (ll of the above)
  143.  
  144. XGroup will Import, then Export, then Cleanup (same as no command line
  145. command).
  146.  
  147.  
  148. M (ake Update Requests)
  149.  
  150. XGroup will make update requests for groupmail conferences based on the
  151. group date files in the groupin (see below) directory.
  152.  
  153.  
  154. P (artially moderated group export okay)
  155.  
  156. Allows partially moderated group conferences to be exported.
  157.  
  158.  
  159. F (ully moderated group export okay)
  160.  
  161. Allows fully moderated group conferences to be exported.
  162.  
  163.  
  164. NE (no echoes)
  165.  
  166. Performs no echomail processing.
  167.  
  168.  
  169. NG (no groups)
  170.  
  171. Performs no groupmail processing.
  172.  
  173.  
  174. ? (print help)
  175.  
  176.  
  177. Examples:
  178.     XGROUP ALTCFG.CTL E F
  179.     XGROUP XGROUP.CTL NE E
  180.  
  181.  
  182.  
  183.  
  184.  Configuration file keywords/data:
  185.  
  186. ;
  187.  
  188. Begins a comment.  Comments are ignored by XGroup.  You can place the
  189. comment indicator anywhere; everything after the semi-colon on the line
  190. will be ignored.
  191.  
  192.  
  193. GROUPOUT  <drive:/directory>
  194.  
  195. This is the directory that groupmail files available for update request
  196. will be placed in.
  197.  
  198.  
  199. GROUPIN   <drive:/directory>
  200.  
  201. This is the directory that groupmail files are moved to just prior to
  202. processing.  Note that if this directory is on the same drive as
  203. GROUPOUT a "move" instead of a "copy" can be used to transfer files
  204. between these areas.  Group date files are also kept in this directory
  205. (these marker files are stamped with the date of the last groupmail you
  206. received; they are used when generating update requests).
  207.  
  208.  
  209. GROUPHOLD <drive:/directory>
  210.  
  211. This is the directory where groupmail files that seem to be damaged in
  212. some way are stored for you to inspect manually.  If this parameter is
  213. omitted XGroup deletes files it can't process.
  214.  
  215.  
  216. INBOUND   <drive:/directory>
  217.  
  218. This is the directory into which you receive mail.  Normally it's the
  219. same directory that your mailer places incoming files into.
  220.  
  221.  
  222. OUTBOUND  <drive:/directory>
  223.  
  224. This is the directory where XGroup will place *.OUTs (Opus/Bink-style
  225. packets) or P.* (XBBS-OS/2 packets).  In the case of *.OUTs, this
  226. directory should *not* have an extension.  BinkleyTerm uses similarly
  227. named directories with extensions to designate different zones.  For
  228. instance, if this directory is C:\BT\OUT and your primary zone is zone
  229. 1, mail destined for zone 2 will be placed into C:\BT\OUT.002 and mail
  230. destined for zone 255 will go into C:\BT\OUT.0FF.  I know it's
  231. confusing.  Get AMAX and BOOM if you have to use Opus/Bink-style
  232. outbounds; they'll help.
  233.  
  234.  
  235. MSGDIR    <drive:/directory>
  236.  
  237. The directory for your XBBS message bases.  In case you don't know (and
  238. care), XBBS stores its message areas as two files per area, one of
  239. headers and one of text.  The headers contain pointers into the text
  240. file.  It seemed the best compromise; it's fairly fast, but you don't
  241. have all your eggs in one basket.
  242.  
  243.  
  244. MESSAGES  <drive:/directory>
  245.  
  246. The directory for *.MSGs (if req'd by TONAME entry).  Note that XBBS
  247. doesn't use *.MSGs; this facility is provided to allow you to link
  248. directly to programs that rely on the old, slow, wasteful and, last
  249. but not least, braindead *.MSG format.
  250.  
  251.  
  252. LOGFILE   <drive:/directory/filename>
  253.  
  254. This is the file where XGroup will write informational entries.
  255.  
  256.  
  257. ADDRESS   <FTN address(es)>
  258.  
  259. An FTN address has the form  "zone:net/node.point@domain"
  260. Examples:
  261.             1:380/100.0@Fidonet 2:4177/1.0@Fidonet 1:380/16.1@Fidonet
  262.  
  263. Note that XGroup is 5-D and addresses must be complete (actually,
  264. guessing takes place if an incomplete address is encountered.  But at
  265. least the first address *must* be complete so we can have some basis
  266. to guess from).
  267.  
  268.  
  269. ARCHIVE   <create archive command>
  270.  
  271. The command that XGroup will spawn to create an archive.  Simple
  272. example:    ARC mwn
  273.  
  274.  
  275. UNARCHIVE <extract archive command>
  276.  
  277. The command that XGroup will spawn to crack an archive.  Simple
  278. example:    ARC ewn
  279.  
  280.  
  281. NETAREA   <# of netmail area>
  282.  
  283. The number corresponding to your XBBS netmail area.  Messages without
  284. AREA: tags are placed here.  Hopefully they're really netmail and not
  285. something some broken software spewed forth.
  286.  
  287.  
  288. PACKSIZE  <# bytes at which to compress msgs>
  289.  
  290. The minimum message size to LZSS compress.  1024 bytes is the minimum
  291. you can set this to.  If omitted, no compression will be performed.
  292.  
  293.  
  294. XBBSOS2
  295.  
  296. This OS/2-only keyword tells XGroup to use XBBS-OS/2 conventions when
  297. naming files.  It enables the ROUTE command below.  Note that this
  298. keyword cannot be used under DOS.  Further note that the outbound
  299. directory must be on an HPFS partition as long filenames are used.
  300.  
  301.  
  302. ROUTE     <mask> <type> <FTN address or SAME> <archive command>
  303.  
  304. This is an XBBS-OS/2 only keyword.  It requires an HPFS drive to work.
  305. <mask> is a partial filename mask.  XBBS-OS/2 uses filenames that are
  306. a type-indicating character followed by the destination FTN address.
  307. For instance, a packet destined for 1:380/100.0@Fidonet will be named
  308. P.1.380.100.0.FIDONET in the outbound.  To archive this packet as
  309. Crashmail you might use the following line:
  310.  
  311.     ROUTE 1.380.100.0.FIDONET C SAME ARC mwn
  312.  
  313. Note that the "P." isn't prepended to the filename in the example;
  314. XGroup does that for you.  To hostroute this packet (in fact, all mail
  315. to net 1:380@Fidonet) you might use the following line:
  316.  
  317.     ROUTE 1.380.*.*.FIDONET N 1:380/1.0@Fidonet ARC mwn
  318.  
  319. To simply archive all mail on hold (that wasn't processed by previous
  320. route statements--route statements are processed sequentially) use
  321. something like:
  322.  
  323.     ROUTE *.*.*.*.* H SAME ARC mwn
  324.  
  325.  
  326. PRIORITY  <#> <#>
  327.  
  328. This is an OS/2-only keyword.  The first <#> is the priority class
  329. (1-3), the second the priority within that class (0-31).  XGroup will
  330. set its priority accordingly and run at that priority (handy for making
  331. it run at idle class:  PRIORITY 1 31).
  332.  
  333.  
  334. NOTINY
  335.  
  336. Tells XGroup not to use Tiny Seenbys (Tiny Seenbys are the default).
  337. Since SEEN-BYs are pretty much useless, even dangerous (they're 2-D),
  338. don't use this keyword unless you have some overriding (read: political
  339. BS) reason to do so.  It wastes space (read: your money on the phone
  340. bill).
  341.  
  342.  
  343. NOFORWARD
  344.  
  345. Don't forward mail to "foreign" nodes (nodes outside your net).
  346.  
  347.  
  348. NOLOCALFORWARD
  349.  
  350. Don't forward mail to "local" nodes (nodes inside your net).  Please
  351. don't use this without a really good reason.
  352.  
  353.  
  354. FORWARDFILES
  355.  
  356. Not implemented yet, but remember that groupmail will do it already...
  357.  
  358.  
  359. MAXDUPES <# of dupe recs/echo area to keep>
  360.  
  361. Dupe records require 8 bytes each.  The maximum you can set this to is
  362. 8150; the default is 1000.  To turn it off completely use NODUPES.
  363.  
  364. XGroup uses MSGID kludge lines for dupe checking.  Don't you think we
  365. have too many one-purpose kludge lines?
  366.  
  367.  
  368. NODUPES
  369.  
  370. Turns off dupe checking, letting you reclaim the space those XDUPES.*
  371. files take up.
  372.  
  373.  
  374. KEEPPATH
  375.  
  376. Retain ^aPATH lines locally.  Mainly for debugging.  XGroup uses 5-D
  377. ^aNPTH lines on forwarded messages.
  378.  
  379.  
  380. KEEPSEENBYS
  381.  
  382. Retain SEEN-BY lines locally.  Mainly for debugging.  Who would want
  383. the useless things around just to look at?
  384.  
  385.  
  386. KEEPDUPES
  387.  
  388. Places dupe msgs into AREDUPES.$$$ in the inbound directory for your
  389. inspection (it's a packet).  If you suspect the dupe checker is killing
  390. valid messages, turn it on and take a look.
  391.  
  392.  
  393. KILLBADDATES
  394.  
  395. Causes XGroup to unceremoniously kill messages with non-Fidonet-
  396. compatible date fields (some software is broken; ain't it amazing?)
  397. XGroup "fixes" bad dates as they pass through by padding them to
  398. the proper length with "Q"s, to indicate what probably fouled them
  399. up to begin with.  Note that the node you received the packet from
  400. might not be responsible, and the messages's originating node might
  401. likewise be blameless.
  402.  
  403.  
  404. ALLOWBADAREAS
  405.  
  406. Allows echo messages with ^a in front of the AREA: tag to pass through.
  407. Also sends the node that built the packet a message informing them that
  408. their software is (surprise) broken.  The default is to ignore AREA:
  409. tags with ^a in front.  BTW, nodes sending out messages with ^a in front
  410. of the SEEN-BYs also get a nice message from XGroup.  Either of these
  411. conditions are caused by the software that built the packet.  Aren't you
  412. sick of putting up with broken software yet?  I guess you haven't written
  413. a scanner/tosser, then...
  414.  
  415.  
  416. TONAME <"to name"> <ROUTE or PROG (OS/2 only) or MSG> [FTN address or prgname]
  417.  
  418. This allows messages addressed to a certain name to be treated specially.
  419. Only
  420.     TONAME "to name" MSG
  421. and
  422.     TONAME "to name" ROUTE <address>
  423. are available under DOS.  Under OS/2 you can also spawn a detached
  424. process to act on the message.  In this case XGroup first creates a
  425. *.MSG containing the message, then spawns the detached process with the
  426. *.MSG's filename as an argument.
  427.  
  428. Examples:
  429.     TONAME "AREAFIX" MSG
  430.     TONAME "John Doe" ROUTE 1:380/16.65500@Fidonet
  431.     TONAME "Route Request" PROG ROUTER.EXE
  432.  
  433.  
  434. ECHO      <tag> <#> [<FTN address(es)>]
  435.  
  436. ECHO prefaces information that tells XGroup about an echo.  <tag> is the
  437. "name" of the echo (what follows the AREA: tag; i.e. FLAME for
  438. AREA:FLAME or C_ECHO for AREA:C_ECHO).  You can get this information
  439. from your echomail link.  <#> is the number of the XBBS message area
  440. that this echo is tied to.  The <FTN address(es)> are your links for the
  441. echo (where you get it from and anyone you give it to).
  442.  
  443. Note that XGroup is a "secure" echo processor.  It won't import mail
  444. from anyone not listed as a link.  If you get mail from someone you
  445. shouldn't it's stored in INSECURE.$$$ (a packet) in the inbound area.
  446. If it's from someone you forgot to add to the links, add them, rename
  447. INSECURE.$$$ to INSECURE.PKT and rerun XGroup.  Otherwise, better think
  448. about passwording out the node in question.
  449.  
  450. The exceptions to secure processing are "read-only" echo areas.  This
  451. is any area with no forwarding nodes listed.  Also handy for importing
  452. local areas from a mailerless point.  Messages will never be scanned
  453. or forwarded from a read-only echo area.
  454.  
  455. Examples:
  456.     ECHO  UGH      12 1:380/100.0@Fidonet 1:380/20.0@Fidonet 380/5
  457.     ECHO  SCHWARTZ 32 2:4177/1.0@Fidonet 1:380/16.12@Fidonet
  458.     ECHO  READONLY 51
  459.  
  460.  
  461. GROUP     <id> <#> <numdays> <FTN address or !topstar option>
  462.  
  463. GROUP prefaces information that tells XGroup about a groupmail
  464. conference.  <id> is similar to ECHO's <tag>; it's the AREA: name of the
  465. conference which you can obtain from your uplink.  <#> is the XBBS
  466. message area associated with the conference.  <numdays> is the number of
  467. days that you want to keep downbound groupmail bundles available for
  468. update request by your downlinks.  XGroup <ctlfile> C cleans up the
  469. groupout directory based on these numbers.  The final data item is the
  470. address of your uplink or, if you're the topstar for a conference, the
  471. "topstar option:"
  472.  
  473.     [F]ully moderated, [P]artially moderated, [N]o moderation
  474.              (only use first letter)).
  475.  
  476. Fully moderated conferences are never exported from unless you use the
  477. "XGroup <ctlfile> E F" command line.  Partially moderated conferences
  478. are never exported from unless you use the "XGroup <ctlfile> E P"
  479. command line. Non-moderated conferences behave "normally," they export
  480. without a special command line option.
  481.  
  482. Examples:
  483.     GROUP XBBS     7  1:380/100.0@Fidonet
  484.     GROUP MOJO     25 !N ;we're the topstar for this one
  485.  
  486.  
  487. That's a lot of info.  If you need a reminder, type XGROUP ? | MORE
  488.  
  489.  
  490.  
  491.  More BS...
  492.  
  493. If you have a bug report or suggestion, here's where to reach me.  If
  494. you have a flame for me, sit on it.  What do you expect, a refund?
  495.  
  496. Note that support, such as it is, is on your nickel.  Poll for answers
  497. a few days after leaving a question (or send an SASE or whatever).  The
  498. program is free; don't expect me to foot the bill for support.
  499.  
  500. Hope you find XGroup useful.  It was kind of a kick to write.
  501.  
  502.  
  503. M. Kimes
  504. 542 Merrick
  505. Shreveport, LA  71104
  506. (318)222-3455 data
  507.