Global Conference ScaN (GCSN) Version 1.0 By Brian Stix c Copyright 1995-1996 - Brian Stix A global search/scan PPE for (L)ocate, (N)ew Scan, and (Z)ippy Scan Table of Contents I. Introduction II. Features III. Installation IV. Configuration Files V. Command Line Options VI. Miscellaneous VII. Bugs/Limitations/Features To Be VIII. Contacting The Author/Technical Support/Getting Updates/Registering IX. Legal Issues Note: This documentation was originally written in Microsoft Word v7.0. If there are problems with spacing and the like in the text version, you'll have to take it up with Microsoft and their conversion (or lack there of). Sorry, but I don't have the time or patience to reformat the text version, nor should I have to. Introduction PCBoard is great BBS software. Some people consider it to be as complete as they need it to be, and others (myself included) feel that it lacks some features (one of the main reasons Clark Development created PPL). One of the problems I had on my BBS was supporting file areas for multiple operating systems (i.e. DOS, Windows, Windows 95, OS/2, Windows NT, UNIX, etc..). I didn't want to throw everything into one conference, so my solution was to give each operating system its own conference. While that solved one problem, it created several new ones. Among them, there was no way to "automatically" do the following across conferences: n Locate a filename n New file scan n Zippy text scan I could only find one multiple conference type of scanner that even attempted to do the above: LNZ. It scanned multiple conferences just fine, but it lacked a lot of functionality that I was looking for. So I decided to do something about this. Before I go any further, here is the license agreement and warranty/disclaimer. License You are free to use GCSN for 30 (thirty) days in order to evaluate the product. If after 30 (thirty) days you feel that GCSN is of us to you, you must register it. Once you have registered GCSN, you may use it only on ONE BBS system, though the BBS may run on more than one computer. You may use it on as many nodes of ONE BBS system as you like. If you run more than one BBS (i.e. a home BBS and a work BBS, or two BBSes at home) you must register GCSN for each different BBS that it runs on. Warranty/Disclaimer There is no expressed or implied warranty associated with GCSN. I am not responsible if anything goes wrong whether directly or indirectly related to GCSN, whether it be hardware crashes, lost data, or anything you could ever think of. Features Global Conference ScaN (GCSN) has many features, some of which are: n Consistency with PCBoard conventions including: n PCBoard file naming conventions (i.e. graphics & RIP) n Multiple language support n Use of existing PCBoard options for scanning to decrease users learning curve n Use of PCBoard help file format n Use of PCBoard style prompts for a seamless interface n Extensive control over scanning/searching n Sysop configurable prompts n Sysop configurable commands n Logging to caller's log Installation To do a basic install of GCSN: 1. Create a directory where you wish GCSN to reside. It is recommended that you create a separate directory for GCSN. GCSN requires directories off of its home directory (i.e. "c:\pcb\gcsn"). 2. Unzip the GCSN zip file to the directory you created in step #1. IMPORTANT: use the "-d" parameter to unzip the sub-directories (e.g. "pkunzip -d gcsnv10 c:\pcb\gcsn") 3. The GCSN directory structure looks like this: [ GCSN root ] [ cfgfiles ] [ helpfile ] 4. Copy all of the files in the helpfile directory to the PCBoard help file directory (usually :\pcb\help) 5. Run PCBoard's PCBSetup and do the following: n Select "B File Locations" from the menu. n Select "B Configuration Files" from the menu. n Go down to "Name/Loc of Default CMD.LST file" and hit F2 to edit it. n Insert three commands, lg, ng, and zg. For the "PPE/MNU File Specification -or- Keystroke Substitution," put the full file/path of the GCSN.PPE. (e.g. "c:\pcb\gcsn\gcsn.ppe"). Refer to the PCBoard manual for further details on how to add new commands and all of the various settings. The entries should look something similar to this: Command Sec Minute Use PPE/MNU File Specification. LG 21 0 0 \pcb\gcsn\gcsn.ppe NG 21 0 0 \pcb\gcsn\gcsn.ppe ZG 21 0 0 \pcb\gcsn\gcsn.ppe This is all that is required to get GCSN up and running on most PCBoard BBSes. For more complex BBSes or a sysop that wants to change the default settings of GCSN, read on. GCSN has all of its configuration files in the cfgfiles directory off of the GCSN home directory. When GCSN is run, it automatically figures out which configuration file to use, based on the PCBoard file naming convention. This includes the `g' and `r' parameters for graphics and rip script mode, and also the language extension. Refer to the PCBoard manual for further details on how PCBoard's files are named. The rest of the configuration of GCSN resides in the configuration files. The next chapter, Configuration Files, explains the configuration file layout and its settings. Configuration Files Each GCSN configuration file has 11 lines that pertain to the configuration of GCSN. The rest are comments/notes ("short description") so that the sysop doesn't have to fumble with this manual and the configuration file. Line #1 Short description: "Configuration file header. Must not be changed!" Default value: "Global Conference ScaN" This line should never be changed! This is just used as a simple safeguard for GCSN to be sure that this is actually a GCSN configuration file. It is not a foolproof safeguard (nothing is completely foolproof), but it is better than nothing. If GCSN finds something other than the default value, it will display an error message to the user and write an error into the sysop log. Line #2 Short description: "Command in PCBoard to invoke the global (L)ocate function" Default value: "lg" This is the command used to invoke the global (L)ocate function. GCSN compares the command issued to get to the PPE from PCBoard with this value. If they match, then it knows to do a global (L)ocate. Line #3 Short description: "Global (L)ocate prompt" Default values: Non-graphic: "(Global Locate) Search conference?" Graphic: "@X08(@X0BGlobal Locate@X08) @X03Search conference@X08?" Rip script: "" This is the prompt that is displayed when the (L)ocate function needs to ask the user if he/she wishes to search this conference or not. This follows PCBoard convention in that a PPE ("!" as the first character) or a file may be displayed ("" as the first character). Refer to the PCBoard manual for further details on the option for prompts. Line #4 Short description: "Color for the "( )?" part of the (L)ocate prompt Default values: Non-graphic: Graphic: "@X08" Rip script: "" This is the color that the "( )?" part of the prompt that comes after the (L)ocate prompt. You cannot just put a color code at the end of the (L)ocate prompt as you would in a PCBTEXT entry because GCSN uses two separate functions to display the complete (L)ocate prompt. Line #5 Short description: "Command in PCBoard to invoke the global (N)ew scan function" Default value: "ng" This is the command used to invoke the global (N)ew scan prompt. GCSN compares the command issued to get the PPE from PCBoard with this value. If they match, then it knows to do a global (N)ew scan. Line #6 Short description: "Global (N)ew scan prompt" Default values: Non-graphic: "(Global New Scan) Scan conference?" Graphic: "@X08(@X0BGlobal New Scan@X08) @X03Scan conference@X08?" Rip script: "" This is the prompt that is displayed when the (N)ew scan function needs to ask the user if he/she wishes to scan this conference or not. This follows PCBoard convention in that a PPE ("!" as the first character) or a file may be displayed ("" as the first character). Refer to the PCBoard manual for further details on the option for prompts. Line #7 Short description: "Color for the "( )?" part of the (N)ew scan prompt" Default values: Non-graphic: Graphic: "@X08" Rip script: This is the color that the "( )?" part of the prompt that comes after the (L)ocate prompt. You cannot just put a color code at the end of the (L)ocate prompt, as you would in a PCBTEXT entry because GCSN uses two separate functions to display the complete (L)ocate prompt. Line #8 Short description: "Command in PCBoard to invoke the global (Z)ippy scan function" Default value: "zg" This is the command used to invoke the global (Z)ippy scan prompt. GCSN compares the command issued to get the PPE from PCBoard with this value. If they match, then it knows to do a global (Z)ippy scan. Line #9 Short description: "Global (Z)ippy scan prompt" Default values: Non-graphic: "(Global Zippy Scan) Scan conference?" Graphic: "@X08(@X0BGlobal Zippy Scan@X08) @X03Scan conference@X08?" Rip script: "" This is the prompt that is displayed when the (Z)ippy scan function needs to ask the user if he/she wishes to scan this conference or not. This follows PCBoard convention in that a PPE ("!" as the first character) or a file may be displayed ("" as the first character). Refer to the PCBoard manual for further details on the option for prompts. Line #10 Short description: "Color for the "( )?" part of the global (Z)ippy scan prompt Default values: Non-graphic: Graphic: "@X08" Rip script: This is the color that the "( )?" part of the prompt that comes after the (L)ocate prompt. You cannot just put a color code at the end of the (L)ocate prompt, as you would in a PCBTEXT entry because GCSN uses two separate functions to display the complete (L)ocate prompt. Line #11 Short description: "Clear screen command" Default values: Non-graphic: Graphic: "@X07@CLS@" Rip script: This is the command that GCSN with use to clear the screen. Command Line Options All command line options are case-insensitive (i.e. 'A' and 'a' are the same). The default values of these are determined by the sysop in the configuration file (see Configuration File Options). `ver' - Version/Registration This will display the current running version of GCSN, along with the registration information. Scope: All global scans/searches `ns' - Non-Stop Determines whether or not there will be a prompt allowing the user to flag files at the end of a scan/search in a conference and also sends an 'ns' parameter to PCBoard itself when issuing the scan/search. Default: Not toggled. Scope: All global scans/searches. Filter: Passed onto PCBoard. Directly used by GCSN. 'p' - Pause 'np' - No Pause Determines whether or not there will be a prompt asking the user whether or not to scan/search this conference. Default: `p' - Pause Scope: All global scans/searches. Filter: Not passed onto PCBoard. 'fp' - Filename Pause `nfp' - No Filename Pause Determines whether or not the user will receive a prompt in each conference asking for a new filename to use for locating a filename. Default: `nfp' - No Filename Pause Scope: Global (L)ocate only. Filter: Not passed onto PCBoard. 'dp' - Date Pause 'ndp' - No Date Pause Determines whether or not the user will receive a prompt in each conference asking for a new date to scan by. Default: `ndp' - No Date Pause Scope: Global (N)ew Scan only. Filter: Not passed onto PCBoard. 'tp' - Text Pause 'ntp' - No Text Pause Determines whether or not the user will receive a prompt in each conference asking for new text to use for scanning. Default: `ntp' - No Text Pause Scope: Global (Z)ippy Scan only. Filter: Not passed onto PCBoard. 'stp' - Scan Type Pause 'nstp' - No Scan Type Pause Determines whether or not the user will receive a prompt in each conference asking the directories to scan/search (i.e. #,(a)ll,(u)pload). Default: `nstp' - No Scan Type Pause Scope: All global scans/searches. Filter: Not passed onto PCBoard. 'a' - All Forces scan/search to do an (a)ll directory scan/search. Overrides 'stp'/'nstp' command line options. This follows PCBoard convention. Default: Prompt given. Scope: All global scans/searches. Filtering status: Passed onto PCBoard. Not directly used by GCSN. `u' - Upload Forces scan/search to do an (u)pload directory scan/search. Overrides 'stp'/'nstp' command line options. This follows PCBoard convention. Default: Prompt given. Scope: All global scans/searches. Filtering status: Passed onto PCBoard,. Not directly used by GCSN. <#####> - Conference Number Tells scan/search to only scan/search conferences specified. Default: All conferences. Scope: All global scans/searches. Filtering status: Not passed onto PCBoard. - Date Tells scan to use the specified date for a new scan. This follows PCBoard date format convention for a new scan. Default: Prompt given. Scope: Global (N)ew scan only. Filtering status: Passed onto PCBoard. Not directly used by GCSN, except for validation purposes. Miscellaneous GCSN will log to the caller's log. It logs the following: n The command used to execute GCSN and the function associated with that command. n Unknown command(s) n Fatal errors Currently that is all the entries that GCSN will log. In the future I will add additional logging to the caller log, along with logging options in a configuration file. Bugs/Limitations/Features To Be Known Bugs: n None currently known Known Limitations n There is no way to specify what directories to scan on the command line. GCSN uses the numbers on the command line as the conferences to scan. Stock PCBoard searches/scans use this as the directories to scan. n If GCSN is set to prompt for flagging files and there are no files to tag (e.g. a (N)ew scan of a conference where there are no new files, or a (L)ocate that didn't turn up any files in its search of a conference), there will still be a prompt for flagging files displayed. So far, I haven't been able to find a way to tell if there was something found for a given search/scan. Features To Be: n Pre-made RIP script configuration files n Pre-made configuration files in languages other than English n Documentation in languages other than English n Log parameter errors to caller's log n Logging options in configuration files n User configuration n I forgot the rest. If anyone has any ideas, found bugs (ugh!), or found limitations with GCSN, please contact me!!! Yes, this means you too. I want all the input I can get, in order to improve GCSN. If anyone is willing to help convert documentation and/or configuration files to another language, please contact me! Contacting The Author/Technical Support/Getting Updates/Registering Contacting The Author/Technical Support I can be contacted and give technical support the following ways: n Schwarzwaelder Schloss BBS (recommended): (415) 591-9207 n Internet mail (recommended): stickman@netcom.com n Salt Air BBS (not recommended, I don't call that often) n Snail mail (please avoid, unless there is no other way): Brian Stix P.O. Box 538 San Carlos, California 94070-0538 USA Getting Updates Updates can be gotten the following ways: n Schwarzwaelder Schloss BBS (recommended) n Salt Air BBS n Internet mail (obviously you have tell me to send it via net mail first!) n Snail mail (obviously you have tell me if you want me to send out a disk with GCSN on it (duh!), don't assume it happens magically. There will also be a small fee for disk and shipping costs) Registering The only way, unfortunately, to register GCSN is via snail mail. The registration fee for non- commercial use is $10 (ten). The registration fee for commercial use is $20 (twenty). You will receive your own personally registered copy of GCSN. Remember, GCSN is NOT FREE. Fill out the register.txt file and send payment to: Brian Stix P.O. Box 538 San Carlos, California 94070-0538 USA Make check or money order payable to Brian Stix. Do NOT send cash. Do NOT send anything other than funds in U.S. dollars. After I have received your registration, you can receive your registered copy of GCSN the following ways: n Schwarzwaelder Schloss BBS n Internet mail n Snail mail on disk Legal Issues I stated this twice to make sure everyone read it. J License You are free to use GCSN for 30 (thirty) days in order to evaluate the product. If after 30 (thirty) days you feel that GCSN is of us to you, you must register it. Once you have registered GCSN, you may use it only on ONE BBS system, though the BBS may run on more than one computer. You may use it on as many nodes of ONE BBS system as you like. If you run more than one BBS (i.e. a home BBS and a work BBS, or two BBSes at home) you must register GCSN for each different BBS that it runs on. Warranty/Disclaimer There is no expressed or implied warranty associated with GCSN. I am not responsible if anything goes wrong whether directly or indirectly related to GCSN, whether it be hardware crashes, lost data, or anything you could ever think of.