home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / mag&info / odtj9304.zip / ODTJ9304.TXT < prev    next >
Text File  |  1993-06-21  |  21KB  |  448 lines

  1. The
  2. OPENDOORS  TECH  JOURNAL
  3. Volume 93, Number 4                                          June 21st, 1993
  4.  
  5. "The Greatest Thing to happen to Journalism Since Real People"
  6.                                                                                                                                           
  7. This Issue:     A Word from the Editor - Scott Burkett
  8.                 The Open Door - Brian Pirie
  9.                 The OPENDOORS Echo
  10.                 Where's the Source? - John Kristoff
  11.                 Opendoors Tech Corner - Dropfile Location Logic
  12.                 Review: BFE v1.30.2α
  13.                 OpendDoors Snippets!
  14.                 OpenDoors Roll Call
  15.                 OpenDoors Distribution Network Sites
  16.                 OpenDoors Tech Journal Information
  17.                                                                                                                                           
  18. ----------------------------------------------------------------------------
  19.                         A Word from the Editor:
  20. ----------------------------------------------------------------------------
  21.  
  22. Another day, another fifty cents.  Welcome once again to that info-filled,
  23. free-as-can-be periodical dedicated to the proposition that all C-based door 
  24. libraries are not equal!
  25.  
  26. ODTJ is getting read worldwide.  Yup.  You know what that means?  Aside from
  27. the fact that it provides a wonderful forum for OD coders to share ideas and
  28. information, it provides:
  29.  
  30.                          FREE ADVERTISING!
  31.  
  32. Man!  With the distribution we are getting, ODTJ is the perfect place to
  33. advertise that new door!  I'll leave the rest up to you guys....
  34.  
  35. All in all this is a decent issue.  It will probably be the last issue before
  36. the 4.20 release of OpenDoors (it should be a doozy).  On a side note, our
  37. BBS (Under the Nile) is not running on a USR 14.4 Sportster.  Too cool.
  38.  
  39. That's it.  No more words of wisdom this month.  No more ranting and raving
  40. on and on about how RIP is inevitably gonna die.... :-)
  41.  
  42. Alles Klaar und spater!
  43.  
  44. ----------------------------------------------------------------------------
  45.                      THE OPEN DOOR - By Brian Pirie
  46. ----------------------------------------------------------------------------
  47.  
  48. ** Editor's Note **
  49.  
  50. Has anyone seen this guy?  Seriously, rumor has it that Brian is up to some-
  51. thing *BIG*.  Of course, once the rumors have been resolved, our readers will
  52. be the first to know!  Why?  Because we have inquiring minds.  Hrmpf!  Look
  53. for Brian next month....or the next month....or the.....ad infinitum.
  54.  
  55. ----------------------------------------------------------------------------
  56.                              OPENDOORS Echo!
  57. ----------------------------------------------------------------------------
  58.                                                                                                                                               
  59. OPENDOORS is an internationally distributed echo designed for discussion of
  60. BBS door/utility programming, and in particular, Brian Pirie's OpenDoors C
  61. Library!
  62.  
  63. The OPENDOORS Echo was created by a group of dedicated BBS door and utility
  64. programmers and designers, in order to promote discussions on BBS utility
  65. programming techniques, tasks, standards, and trends. This echo is not just
  66. for BBS door authors!  Discussion of practically any aspect of BBS programming
  67. is encouraged.  Brian Pirie, the author of OpenDoors is available for tech
  68. support, as are his beta-testers.
  69.  
  70. The echo is not currently on the FidoNet backbone, but a feed is more than
  71. likely available at your favorite ODN Support Site.  Efforts are under way
  72. to put OPENDOORS on the fido backbone...stay tuned!
  73.  
  74. ----------------------------------------------------------------------------
  75.                         Where's the Source?
  76. ----------------------------------------------------------------------------
  77.           By: John Kristoff, The Crossroads BBS (1:115/743)
  78.  
  79. There seems to be a problem with source code for BBS related utilities and
  80. door programs being released.  Why is this?  I know we have BinkleyTerm,
  81. Maximus and a handful of others, but how many door games do you see that come
  82. with actual source code?  I don't think I've seen any.  In fact, the only
  83. door program that I've seen the entire source for is Brian's RAVote.
  84.  
  85. Not that I expect the source code for TradeWars (even if I wanted it), but I
  86. find it surprising that so many door programmers are so greedy.  I started
  87. teaching myself C because I'm sick of relying on other authors.  I wouldn't
  88. be surprised if many other small time programmers have done the same.  I've
  89. always thought that the BBS community, and computer networks in general, are
  90. one of the most free, open and chaotic cultures our planet has ever seen.
  91. So I can't understand why people request $10, $25 or more for a files list
  92. generator, a simple voting booth door or those other 'dime a dozen' programs.
  93.  
  94. Don't get me wrong, I pay for quality software and I have at least a dozen
  95. shareware programs registered.  However, if I was to register every program
  96. I've wanted to use for more than 30 days, I would be in the poor house.
  97. There are just simply too many trivial programs in which I feel their price
  98. isn't justified for lack of programmer committment, exhorborant price, or
  99. just simply the value of the product.  I'm not looking for a free ride, but
  100. I am looking for quite a bit more respect from my fellow programmers.  For
  101. users, the hobby is relatively cheap, but for sysops, it's a different story.
  102. Well, at least if you're honest. Us sysops have enough to worry about in
  103. terms of phone bills, trouble users, hardware, updates and upgrades... and so
  104. on.
  105.  
  106. I'm including a text, simliar to this message with all programs I write to
  107. encourage the programmers for sysops to write free or cheap software.  I plan
  108. on releasing all my BBS related utilities and door programs as freeware or
  109. public domain (even if that is all they're worth). It's my way of giving
  110. something back to the community that has given me so much.  I encourage you
  111. to do the same, or at the very least, with some of your less popular programs.
  112.  
  113. John Kristoff
  114. The Crossroads BBS
  115. (312) 587-8756
  116. Chicago, IL
  117. FidoNet: 1:115/743
  118. Internet: jkristof@mica.meddean.luc.edu
  119.  
  120.  
  121. ** Editor's response:
  122.  
  123. While I am somewhat in agreeance with John on this subject, I must also play
  124. devil's advocate, and come to the aid of door writers who produce solid
  125. products, often without the availability of source.  Source code availability
  126. for shareware products is simply not available, for obvious reasons.  The
  127. author(s) of the product cannot make source available, as potential customers
  128. could simply recompile the source, and effectively use the software without
  129. properly registering it with the author(s).  In my own case, I choose not
  130. to distribute source code for this reason.  For smaller, freeware titles, I
  131. suppose I never considered the fact that other programmers would want to
  132. peek at my code.  As far as price goes, I have a set $10 registration fee for
  133. all of my door packages, a price which I consider to be extremely low for the
  134. quality of my products.
  135.  
  136. Very interesting point, John...anyone out there have any feelings on this?
  137.  
  138. ----------------------------------------------------------------------------
  139.               OpenDoors Tech Corner: Dropfile Location Logic
  140. ----------------------------------------------------------------------------
  141.  
  142. At this time, OpenDoors searches for the door information file (aka dropfile)
  143. in the following order:
  144.  
  145.    1.) First, if there was a custom door information file format
  146.        defined in the OpenDoors configuration file, OpenDoors will
  147.        begin by looking for this file. OpenDoors searches for the
  148.        custom information file in the following order:
  149.              A.) The path defined in the info_path variable
  150.                  (which can be set by your door code and over-
  151.                  ridden by the configuration file BBSDir setting)
  152.              B.) The directory which was the current default dir
  153.                  at door startup time
  154.              C.) If any of the following environment variables
  155.                  exist, OpenDoors will then search for the file
  156.                  in the directories pointed to by these variables,
  157.                  in the following order:
  158.                               RA
  159.                               QUICK
  160.                               PCB
  161.                               BBS
  162.  
  163.    2.) If no custom door information file was found / defined,
  164.        OpenDoors will then search for door information files
  165.        corresponding to one of the built in formats. It will search
  166.        for these files in the same directories, and same order, as
  167.        it does for the custom door information file (A - C). Within
  168.        each directory, it will search for files with the following
  169.        filenames:
  170.  
  171.                          CHAIN.TXT
  172.                          SFDOORS.DAT
  173.                          DOOR.SYS
  174.                          CALLINFO.BBS
  175.                          DORINFO1.DEF
  176.                          DORINFOx.DEF, where x is the node number
  177.                                        set by your program, if
  178.                                        x != 1.
  179.  
  180.        As soon as it finds a directory containing one of these
  181.        filenames, OpenDoors will stop it's door information file
  182.        search phase. It then begins to decide what to do with what
  183.        it has found. If more than one of the above filenames was
  184.        found in the directory in question, OpenDoors will read the
  185.        file with the most recent date and time stamp. This is intended
  186.        to overcome abiguities that can arise when a door information
  187.        file conversion program is being used, and a number of
  188.        different door information files may still exist in the
  189.        directory. In such a case, it is assumed that the most recently
  190.        created file is the one that should be used. If more than one
  191.        file exist with an identical date and time, OpenDoors will use
  192.        the file that is closer to the beginning of the above list. (ie
  193.        they are listed in their order of priority)
  194.  
  195.        Once OpenDoors has decided which file it is going to use, it
  196.        may have still more decision-making to do. In the case of
  197.        door information file names that correspond to more than one
  198.        format (such as DOOR.SYS), OpenDoors will examine the file
  199.        to determine which format it actually is. If a dorinfo?.def
  200.        file is found, OpenDoors will then also search for an
  201.        EXITINFO.BBS file. (An EXITINFO.BBS file is always acompanyed
  202.        by a DORINFO?.DEF file, as it does not include all the
  203.        information needed by even the most basic of doors). Again,
  204.        if an EXITINFO.BBS file is found, OpenDoors must determine
  205.        which of the many EXITINFO.BBS formats it is actually dealing
  206.        with.
  207.  
  208.        This may all sound rather complicated, but it is a well thought-
  209.        out strategy that is intended to asure that the correct door
  210.        information file will be located and used in the vast majority
  211.        of cases. (and to think - it does all this in the blink of an
  212.        eye!)
  213.  
  214. ----------------------------------------------------------------------------
  215.                           REVIEW: BFE v1.30.2α
  216. ----------------------------------------------------------------------------
  217.  
  218. BFE v1.30.2α, the flexible BBS front end system from Cairo Research Labs is
  219. now available!  This is an alpha release of the upcoming 1.30 version of
  220. BFE.
  221.  
  222. BFE is a BBS front-end system that was designed to provide sysops with a
  223. method of running more than one BBS from the same line.  In addition, it has
  224. a wealth of other options available to put in on the front-end of your BBS,
  225. such as allowing file transfers, ANSI/ASCII file viewing, shelling to DOS
  226. from remote, running external programs and batch files, and much more!
  227.  
  228. BFE was designed to be called from a front-end mailer, such as Frontdoor or
  229. Binkleyterm.  Instead of spawning directly to the BBS system, it presents
  230. a menu to the user, which details his immediate options.  These options can
  231. range from several different BBS systems, remote jobs, literally anything
  232. you can think of!  The BFE system can also be configured to be called
  233. straight from your BBS software itself, in essence, running as a normal
  234. door, using one of several popular BBS dropfile formats.  Read onward....
  235.  
  236.  ┌─────────────┐
  237. ▄│   Features  │
  238. █└─────────────┘
  239. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  240.  
  241.         * Complete support for ANSI/ASCII/AVATAR users (Auto ANSI detect!)
  242.         * *TRUE* Multinode/Multiuser Compatibility!
  243.         * DESQview aware!
  244.         * Configurable for security concerns!
  245.         * Custom multi-level menus with item-level password protection!
  246.         * Complete carrier monitoring and timeout checking
  247.         * Use any of 11 standard dropfiles, or define custom ones!
  248.         * Run as a normal door or as a frontend!  Dropfile not required!
  249.         * Complete BBS carousel - run multiple BBS systems
  250.         * ASCII/ANSI/AVATAR file support
  251.         * File transfer system with support for external protocols
  252.         * Run remote jobs, such as batch files, programs, other doors, etc.
  253.         * Remote OS shells!
  254.         * Built in chat mode
  255.         * Much more!
  256.         
  257.  ┌────────────────────────────────┐
  258. ▄│   What's New in This Release?  │
  259. █└────────────────────────────────┘     o New  * Change  ! Fix
  260. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  261.  
  262.         o *Major* code cleanup and internal re-documenting and optimizing.
  263.           This will be done every periodically in order for the product to
  264.           continue to grow.
  265.         
  266.         o New beta naming convention:   MAJOR.MINOR.REV (Staging Level)
  267.           (i.e. this is 1.30.2α, v1.30, rev. 2, in alpha staging)
  268.  
  269.         o Custom user input using the new PROMPT keyword!  Now, you can 
  270.           utilize custom input as the value for SECONDARY data fields for 
  271.           *any* menu type in BFE!
  272.         
  273.         o New keywords: NOPASSPARMS and PROCESS.  These are used to directly
  274.           manipulate the way that BFE performs calls to external processes.
  275.           When used with the PROMPT keyword above, just about anything can 
  276.           be called, in any order, with any arguments!
  277.           
  278.         o The COLOVERRIDE option has been added, to allow each individual
  279.           menu option to use its own unique color.  This overrides the global
  280.           DESCRIPCOL keyword in each .CTL file.  (Thanks to Chris Koziol)
  281.  
  282.         o Upload capability now in place!  This involved changes to the
  283.           PROTOCOL.BFE file, and adding a new type "U" option.
  284.           
  285.         ! If BFE cannot locate ASCII/ANSI/AVATAR screens at display time,
  286.           it will log an error entry into the logfile, and will no longer
  287.           wait for a remote keystroke to continue. (Thanks to R. Guevarra) 
  288.  
  289.         o Generic File Transfer System now in place!  The new system allows
  290.           the use of configurable external protocols (no more hardcoded DSZ!)
  291.  
  292.         o WELCOMESCREEN option added, to provide a global intro screen to be
  293.           displayed upon entering the BFE system (shown once only).  As with
  294.           all of the file display capabilities of BFE, the file can be in
  295.           ASCII, ANSI, or in AVATAR formats.  BFE will display the one which
  296.           best fits the user's terminal settings.
  297.  
  298.         o The "time to next event" option has been put back into the system,
  299.           and is now passed via a new "-t" switch. (i.e. -t60, -t%3, etc).
  300.           This value is passed to external procedures (Type "R").
  301.  
  302.         * The "O" type (Remote OS Shell) now utilizes the COMSPEC environment
  303.           variable to locate the command processor.  The command processor
  304.           was formerly specified in the SECONDARY field.  Previously, if
  305.           this value was keyed in wrong, it resulted in BFE locking up
  306.           the system.  Using COMSPEC should make this a bit cleaner.
  307.  
  308.         o Still more documentation changes!
  309.  
  310. FREQ:  BFE from:  Under the Nile! 14.4/v.32   1:3613/12 (706) 596-8126
  311.        93K                      
  312.                 
  313. Scott Burkett,
  314. Cairo Research Labs
  315.  
  316. ----------------------------------------------------------------------------
  317.                        OPENDOORS SNIPPPPPPPPPETS!!!!!!
  318. ----------------------------------------------------------------------------
  319.  
  320. By: Mark Williamson, Software Solutions (1:214/54)
  321.  
  322. Here's yet another way to center your favorite text string:
  323.  
  324. void str_center(int line,char *string,char *color)
  325. {
  326.     int col = 40 - (strlen(string) / 2);
  327.  
  328.     /* This method uses the length of the string to center it.  So,
  329.        you would get strange results if you embedded control codes
  330.        in your string.
  331.     */
  332.  
  333.     if(od_control.user_ansi) {         // This way allows you to specify
  334.        od_set_cursor(line,col);        // the line to put the text on.
  335.        od_printf(color);               // Use the `white on blue` code types
  336.        od_disp_str(string);
  337.     }
  338.     else {
  339.        od_repeat(' ',col);             // This method uses the CURRENT
  340.        od_disp_str(string);            // line the cursor happens to be on.
  341.     }
  342.     return;
  343. }
  344.  
  345. Mark Williamson
  346. Software Solutions BBS
  347. 1:214/54
  348. Lemoore CA
  349. (209)997-0224
  350. v32/v42bis
  351. Open access to first time callers.
  352.  
  353. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  354.  
  355. By: Mark Williamson, Software Solutions (1:214/54)
  356.  
  357. /******************************************************
  358. * fill_box() by Mark Williamson, Software Solutions BBS
  359. *               Fidonet 1:214/54, (209)997-0224
  360. *
  361. * This code will paint a box in the
  362. * specified color using the specified
  363. * character using ansi/avatar graphics.
  364. * Note that this does not make a border!
  365. * Only 'fills' a block on the screen.
  366. * Can be used to clear just parts of a screen.
  367. *
  368. * Call the function with the following parameters:
  369. *
  370. *   int srow,scol:  Starting row,col of the box
  371. *   int erow,ecol:  Ending row,col of the box
  372. *   int attrib:     od_set_attrib() style color code
  373. *   char fill_char: The character to use to paint the
  374. *                   block.  Use ' ' to clear a block.
  375. *
  376. *   This code is placed in the public domain.
  377. ******************************************************/
  378.  
  379. #include <stdio.h>
  380. #include "opendoor.h"
  381.  
  382. void fill_box(int srow, int scol, int erow, int ecol,
  383.               int attrib, char fill_char);
  384.  
  385. void main(void)
  386. {
  387.     fill_box(3,10,13,40,0x1f,'░');
  388. }
  389.  
  390. void fill_box(int srow, int scol, int erow, int ecol,
  391.               int attrib,char fill_char)
  392. {
  393.    int line_len,x;
  394.    if(srow<1) srow=1;
  395.    if(erow>24) erow=24;
  396.    if(scol<1) scol=1;
  397.    if(ecol>80) ecol=80;
  398.    line_len=ecol-scol;
  399.    od_clr_scr();
  400.    od_set_attrib(attrib);
  401.    for(x=srow;x<erow+1;x++) {
  402.       od_set_cursor(x,scol);
  403.       od_repeat(fill_char,line_len);
  404.       }
  405. }
  406.  
  407.  
  408. ----------------------------------------------------------------------------
  409.                  OpenDoors Tech Journal Information
  410. ----------------------------------------------------------------------------
  411.  
  412. Editors: Scott Burkett
  413.          Under the Nile BBS
  414.          1:3613/12@fidonet.org
  415.          56:101/2@intlnet.org
  416.          (706) 596-8126 14.4     
  417.          1113 29th Street
  418.          Columbus, GA 31902
  419.  
  420.          Brian Pirie
  421.          BP ECOMM Systems
  422.          1:243/8@fidonet.org
  423.          Brian.Pirie@f8.n243.z1.fidonet.org (Internet EMail)
  424.          (613) 526-4466 14.4
  425.          1416 - 2201 Riverside Drive
  426.          Ottawa, Ontario
  427.          Canada
  428.          K1H 8K9
  429.  
  430. Published by and for programmers and users of the OpenDoors C Communications
  431. Library and BBS Interface Kit by Pirie Enterprises.  It is a compilation of
  432. tips, reviews, and tidbits pertaining to BBS programming and general usage.
  433. The opinions expressed in this publication do not necessarily represent those
  434. of its editors, the OpenDoors author, or other contributors.
  435.  
  436. OBTAINING COPIES:  The latest copy of the OpenDoors Tech Journal will always
  437. be available under the magic name of TECHD (for the DOS version), and TECHW
  438. (for the Windows .WRI version) at both of the systems listed above.
  439.  
  440. SUBMISSIONS: You are encouraged to submit articles for publication in the
  441. journal.  Please send all items to one of the afore-mentioned systems via BBS
  442. upload or mailer file/attach.
  443.  
  444. ----------------------------------------------------------------------------
  445.    ->< End of The OpenDoors Tech Journal - Volume 93 Issue Number 4 ><-
  446. ----------------------------------------------------------------------------
  447.      
  448.