home *** CD-ROM | disk | FTP | other *** search
/ Shareware Tiger / SharewareTiger.cdr / x00 / romdoor.doc < prev    next >
Encoding:
Text File  |  1992-07-09  |  14.4 KB  |  358 lines

  1.  
  2.                        * CD ROM LOCAL/REMOTE DOOR *
  3.                (C) Jim Snowden, 1991.  All rights reserved.
  4.                         Helix Software Foundation
  5.  
  6.  
  7. * What it is *
  8.  
  9.    This program allows the user to search, unpack specified groups of files,
  10.    typically on a CD-ROM.  It handles global and group searching for 
  11.    keywords.  ANSI and ASCII modes are supported.  Both remote and
  12.    local use is supported.  Remote use is intended for BBS sysops who
  13.    want to let users access a CD-ROM they own.  Local use is great
  14.    for everyone!
  15.  
  16.  
  17.    ANSI/ASCII Support
  18.  
  19.    The door is told whether a user wants ANSI via the command line
  20.    switch -A<n>.  If <n> is 1, all system text files that are 
  21.    displayed (help files, intro, etc) a .ANS extension will be
  22.    searched for first.  If a .ANS file is not found then the door
  23.    will look for a .ASC file and display it.  If the user does not
  24.    have ANSI, .ASC files will always be displayed.  If the -A switch
  25.    is not on the command line, the program will then use the
  26.    ANSI_DEFAULT item in the config file.
  27.  
  28.    
  29.    Transfering Files
  30.  
  31.    The main impetus for writing this door was due to the fact that
  32.    I did not want to add umpteen-million groups of files to my BBS 
  33.    but still wanted to use the BBS download capabilities, download
  34.    ratio checking, security, etc.
  35.  
  36.    The solution was to have the user choose what files he/she wants
  37.    off of the CD-ROM, and have them transferred into ONE or more CD-ROM
  38.    Transfer areas in the BBS for later downloading.  This adds one step
  39.    for the user to get CD-ROM files, but the users on my board seem
  40.    to like the doors... though nothing is ever perfect, and I am
  41.    always looking for ways to improve the door.
  42.  
  43.  
  44.    Flexibility
  45.  
  46.    This program allows for people to use pre-created modules to
  47.    access CD-ROMS and create their own.  Creating a new module is as
  48.    simple as creating a few text files... no programming involved.
  49.    It also allows one to access and search multiple CD-ROM's...
  50.    It is simple as creating combined lists for files and organizing
  51.    them... see Installation below for more details.
  52.  
  53.  
  54.    Local/Remote Use
  55.  
  56.    The program acts a little differently for local and remote use.
  57.    For local use, there is an added option, unpack cd file to a 
  58.    specified path.  The transfer option is also slightly different
  59.    for local use, a path is entered where remote users have no
  60.    choice, it is specified in the config file instead for BBS 
  61.    security.
  62.  
  63.    It also watches remote users time, gives a warning at five minutes and 
  64.    bumps him/her back into the BBS a two minutes.
  65.  
  66.  
  67.    Viewing Text Files
  68.  
  69.    ROMDOOR also lets local/remote users view text files that are
  70.    contained on the CD-ROM.  One nice thing about the package is when
  71.    you specify a file to look at, unpack or transfer, all you have to do
  72.    is give it the filename without having to know what subdirectory it
  73.    is on.  And some CD's have quite a few directories.
  74.  
  75.    Local/Remote archive file manipulation
  76.  
  77.    ROMDOOR also lets local/remote users view archive files by
  78.    executing the archive shell specified in the configuration file
  79.    (see config section below).
  80.  
  81. * Installation *
  82.  
  83.    There is one big factor that will determine how this thing is installed.
  84.    ROMDOOR was developed to allow people to create a "front end" to
  85.    search thru and extract files on a shareware type CD-ROM.  The factor
  86.    is whether you are creating a new CD door... or you are using one
  87.    someone else has already created.  I call each set of these CD-ROM specific
  88.    data files a "module".  If you have a module for the CD you want to access,
  89.    there should be virtually no installation or messing with the config
  90.    files unless you want to change how it was done.
  91.    
  92.    - Make sure ansi.sys or equivalent is in the config.sys file, for local
  93.      use.
  94.  
  95.    Quick Install for those using a precreated module
  96.  
  97.      o  Make a directory for the door
  98.      o  Uncompress the files of the module into that directory
  99.      o  Uncompress the files of romdoor into that directory
  100.  
  101.    Creating a new module
  102.  
  103.      o  Make a subdirectory for the door
  104.      o  Create description file for each area (should be supplied with CD)
  105.      o  Create database file list for romcopy (see romcopy.doc)
  106.      o  Create catalog file
  107.      o  Create config file  
  108.      o  Create/Modify other ansi/ascii support files
  109.      o  Create the batch file that BBS will invoke to start the door
  110.         (see Things NOT covered by the Door below)
  111.      o  Create a batch file for you (and possibly others) to run
  112.         locally
  113.  
  114.      Please, if you create a decent module, upload it to my BBS so I
  115.      can make it availible FREQable for all...
  116.  
  117.    Catalog File
  118.  
  119.    The catalog file is simply a list of the different file areas
  120.    availible.  Give it any format you like, as long as the areas
  121.    are labeled 1-whatever and are in the same order as the config
  122.    file AREA commands (see AREA below).  The system supports
  123.    ANSI/ASCII versions of the file, and the filename is specified
  124.    in the config file by the CATALOG statement.
  125.  
  126.  
  127. * TEXT Support Files *
  128.  
  129.     HELP.ANS/ASC  This file is displayed when the user asks for help from
  130.                   the main menu.
  131.  
  132. FILESAVE.ANS/ASC  Displayed when user has transferred a file to the
  133.                   BBS for later download in the current door session.
  134.  
  135.  
  136. * Configuration File (Default of ANSIDOOR.CFG) *
  137.  
  138.    The configuration file contains setup info which differs from 
  139.    one BBS to the next.  The following items are need to be in the
  140.    config file (Check ANSIDOOR.CFG for NEW additions) :
  141.  
  142.       XFER_DEST D:\RA\CARRS
  143.       XFER_DESC D:\RA\CARRS\FILES.BBS
  144.       BBS_NAME "The Data Dungeon!"
  145.       AREA 001.cat  Communications
  146.       AREA 002.cat  Games
  147.       DECOMP_COMMAND "pkunzip -d "
  148.       CATALOG catalog
  149.       INTRO1 carrs
  150.       INTRO2 carrs1
  151.       INTRO3 carrs2
  152.       DEF_EXT .zip
  153.       CDROM_NAME "CARRS Bonanza"
  154.       ALL_FILES_LIST filelist.dat
  155.  
  156.    An explanation of each follows:
  157.  
  158.    XFER_DEST:   For Remote mode, this is the directory where users will
  159.                 transfer files from the CD to.
  160.  
  161.    XFER_DESC:   This is the file description list for the transfer directory.
  162.                 Many BBS packages support ASCII lists for the files
  163.                 in each different area (ex files.bbs).  ROMDOOR will
  164.                 add an entry for each file transfered from the CD.
  165.  
  166.    AREA:        This creates another area for the CD.  The first parameter 
  167.                 is the path to the files description list for that area, 
  168.                 and the rest of the line is the name of the area.  There should
  169.                 be one of these statements for every file area you want to
  170.                 have.  Since you can give a path to the file description, you 
  171.                 can use the one on the CD, or move it to your hard drive.  
  172.                 Moving it to your hard drive dramatically improves access
  173.                 time.
  174.  
  175.                 *** TIP:  You don't have to use the file "areas" that are
  176.                   on the CD.  If you don't like how things are arranged
  177.                   on the CD, split up the description files how you
  178.                   would like to see it done.  For example, if there are a 
  179.                   bunch of BASIC game descriptions in the Games directory of 
  180.                   your cd rom, you could make a new area called BASIC games, 
  181.                   and split the games file description into two description 
  182.                   files on your hard drive.
  183.  
  184.  
  185.    DECOMP_COMMAND:  The command to decompress a file.  The example given
  186.                     is pkzip, but you will want to use whatever is appropriate
  187.                     for that CD.  Only one type supported for now. 
  188.                     With the next release I would like to make it
  189.                     based on extension.
  190.  
  191.  
  192.    CATALOG:     The name of the catalog file.  If no extension is given, the
  193.                 door will look for <name>.ans if the person has ANSI,
  194.                 and then <name>.asc.  This is displayed when the user
  195.                 needs/wants to change file areas.
  196.  
  197.    INTRO1:      The name of the intro files.  If no extension is given, the
  198.                 door will look for <name>.ans if the person has ANSI,
  199.                 and then <name>.asc.  This file is displayed when the door
  200.                 is first called.
  201.  
  202.    DEF_EXT:     This tells ROMDOOR what extension to default to when
  203.                 the user enters no extension on a transfer or unpack.
  204.  
  205.    DEF_TEXT_EXT: This tells ROMDOOR what extension to default to when
  206.                  the user enters no extension on a view text file.
  207.  
  208.    CDROM_NAME:  Yep, you guessed it.  Surround the name in quotes.
  209.  
  210.    BBS_NAME:    Yep, you guessed it.  Surround the name in quotes.
  211.  
  212.    ALL_FILES_LIST:  This is the name and path to the database file
  213.                     containing a list of all the files for the CD rom and 
  214.                     where they are.  This is created with the
  215.                     MAKEDIR.EXE utility.
  216.  
  217.    TEMP_FILE: Temporary file created for various operations.  Make
  218.               this point to a VDISK if you have one setup.  Ex.
  219.               E:\TEMP.$$$  Note that this is the FULL filename,
  220.               not just the path.
  221.  
  222.    LOCAL_COMP_UTL:  Local compression utility.  This will get called
  223.                     when running in local mode and the user asks to
  224.                     view contents of a compressed file.  The
  225.                     filename will be passed to the utility.
  226.  
  227.    REMOTE_COMP_UTL: Remote compression utility.  Same as above... but
  228.                     the utility should work redirection.
  229.  
  230.    REMOTE_MENU: Name of the file that contains the remote main menu.
  231.  
  232.    LOCAL_MENU: Name of the file that contains the local main menu.
  233.  
  234.    CLOSE:  The closing screen, this is showed before exit.
  235.  
  236.    Comment lines are allowed in the config file and are identified
  237.    with a semicolon in the first column.
  238.  
  239.  
  240. * Command Line Switches *
  241.  
  242.    -A<n>   where <n> is 0 for ASCII mode and 1 for ANSI mode
  243.    -N<n>   where <n> is the users first name
  244.    -T<n>   where <n> is the amount of time left on system
  245.    -R<n>   where <n> is 0 for LOCAL (default) mode and 1 for REMOTE mode
  246.    -C<n>   where <n> is the name of the config file to use, if none is
  247.                         specified, ANSIDOOR.CFG is used as a default.
  248.    -D      debug mode.
  249.  
  250.    If you are calling this program from a Remote Access, you can do
  251.    something like (see RA docs for complete descriptions on command
  252.    line expansion macros):
  253.  
  254.      romdoor -A*G -T*T -N*N
  255.  
  256.  
  257.  
  258. * Things NOT covered by the Door *
  259.  
  260.   CD Watchdogging...  Most want their system to recover from a
  261.    user hanging up, and this simply reboots the BBS if the carrier detect
  262.    signal from the modem desists.  I did not write it in to the door
  263.    due to the fact that today's FOSSIL's usally have it built in.  I
  264.    am trying BNU at the moment, and it has worked flawlessly.
  265.  
  266.   I/O Redirection...  Video output and keyboard input is done through the 
  267.    standard channels.  This works nicely for running it locally, but
  268.    when you want to allow a remote user to run it, all input/output
  269.    needs to be routed though the com port...  there are two ways
  270.    to do this.  The first way is to use the CTTY COM1 directive
  271.    before the execution of the door, and the CTTY CON after the
  272.    door executes.  I use a device driver called GATEWAY that allows
  273.    for simultaneous input/output locally AND through the COM port. 
  274.    Therefore, my batch file that starts the door looks like this:
  275.  
  276.        @echo off
  277.        break off
  278.        bnu /W=0+                          ; Turn Watchdogging ON
  279.        ctty gate1                         ; Redirect input/output
  280.        d:
  281.        cd \ra\rbbsbox                     ; Switch to the doors directory
  282.        romdoor -C %1 %2 %3 %4 %5 %6          ; Start the DOOR
  283.        ctty con                           ; Redirect input/output back
  284.        bnu /W=0-                          ; Turn Watchdogging OFF
  285.        cd \ra                             ; Switch back to the BBS dir
  286.  
  287.  
  288. * Future Enhancements *
  289.  
  290.   There are a TON of things I would like to add to this thing, but like
  291.   all projects, if I can't get the funding through my users,  I can't
  292.   justify putting much into the project, so please register!  Enhancements
  293.   I would like to see in this thing include:
  294.  
  295.     o   Chat facility (remote mode)
  296.     o   Viewers called based on file extensions
  297.     o   Direct downloading from within door
  298.     o   Transfer times for files
  299.  
  300.   If you think of something, let me know, and please Register!  Its
  301.   the only way I can spend more time on the door.
  302.  
  303.  
  304. * Registering *
  305.  
  306. Single site registration...
  307.  
  308.   You can use this door to drive a 1000 CD's, as long as it is on one
  309.   machine.  Please register one copy per machine @ 15$ a copy. 
  310.   Please let me know where you got the program, and what disk size
  311.   you would like (5 1/4" or 3 1/2").
  312.  
  313.   Registering provides me with a good reason to work on the project, and
  314.   provides you with the following:
  315.  
  316.    o   The latest version of ROMDOOR
  317.    o   Modules for ROMDOOR
  318.    o   Online support on the HSF BBS (see ad below)
  319.    o   No pause at the beginning of each run, text changed to
  320.         registered with your name/company name
  321.  
  322.    Send registration to:
  323.  
  324.      James Snowden
  325.      Helix Software Foundation
  326.      13639 Electric Street, Box G-11
  327.      Beaverton, OR 97005
  328.  
  329.  
  330. CD ROM Producers...
  331.  
  332.   Please contact me!  I am ALWAYS willing to make a deal with people
  333.   creating the latest in CD technologies.
  334.  
  335. ┌┬──┬───────────────────────────┬──┬┐
  336. │├──┘   The Data Dungeon BBS!   └──┤│  
  337.  ││        Down until 8-1-92      ││        24 Hours,
  338.  ││    Over 2 Gigabytes of Files! ││        7 Days a Week,
  339.  ││      6 Disk CD-ROM Player     ││        365 Days a Year!
  340.  ││      14400 HST/V32 8-N-1      ││
  341. │├──┐      FidoNet              ┌──┤│
  342. └┴──┴───────────────────────────┴──┴┘
  343.  
  344.  
  345. * Disclaimer *
  346.  
  347.     There is no warranty, written or implied.  Helix Software
  348.  Foundataion is not responsible for any damage in the use or misuse
  349.  of this software and is distributed in an AS-IS state.  This does
  350.  NOT mean that I am uninterested in the enhancements you would like
  351.  to see,  please send them to me via FidoNet or via US Mail...
  352.  
  353.  
  354. Special thanks...  
  355.  
  356.     All the users on my system for their patience, Bob Hall and all
  357.     of other beta testers!  
  358.