home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
libros2.zip
/
LIBRARY.DOC
< prev
next >
Wrap
Text File
|
1994-06-12
|
15KB
|
384 lines
LIBRARY.EXE v1.11 copyright (c) 1989-94 by M. Kimes
All rights reserved
==============================
Library is a utility that will act as an online librarian for text
files. Used to best advantage, you store your text files in different
Zoo archives (referred to as sections or categories), comment them, and
Library does the rest. Library is not XBBS specific; it'll work with
any BBS that can pass command line arguments and/or supports a
DORINFO?.DEF drop file. This version of Library is for OS/2;
LIBR_110.ZOO is the latest for MS-DOS.
Usage: LIBRARY.EXE args...
Args can be any of the following:
L<screen lines> (Defaults to 24 lines, 0 disables page pausing)
W<screen width> (Defaults to 80 columns)
T<time in minutes> (Defaults to 30 minutes)
@<D:path to text file directory>
B<baudrate (0-38400...?)> (Defaults to 0 or local)
G<graphics (0 or 1)> (Defaults to off or 0)
C<commport handle> (Handle of the commport (not port #), passed from BBS)
S<user's security level> (Used in conjunction with F argument, 5 default)
F<File containing security information, none default>
H<D:path to home directory> (Defaults to directory where LIBRARY starts)
# (Sysop Mode, read any file on the system)
R (Reader Mode, read any file in text file directory)
X<Filename> (Logfile name, defaults to XBBS.LOG)
N (Node number, 1 default)
I<#> (Start Library in section #)
$<#> (Maintenance will be available is nonzero. Maint level 1 allows
adding files only from home directory. Higher allows adding files
from anywhere and enables [&] maintenance command.)
Z<#> (# of spaces to expand tab characters to)
U<User_Name> (Name of current user, of course)
! (Debug mode on)
D (force to read DORINFO?.DEF)
You'll get a listing like this if you type LIBRARY ?, for quick
reference. Note that I recommend you run Library using command line
arguments rather than a drop file. Drop files are ancient methodology,
especially under OS/2. All but the most primitive BBSs support passing
customized command lines to Doors.
A sample call to Library:
LIBRARY.EXE @C:\XBBS\ZOOFILES T30 B9600 C##
(In C##, ## would be the commport handle as passed by your BBS, NOT the
COM:# as under MS-DOS.)
ZOO:
===
ZOO is the copyrighted work of Rahul Dhesi. Library has been tested
with version 2.1 of this fine program. Zoo does an excellent job of
compressing text files, is reasonably fast, has the best comment
capabilities around, and is freely available. Each of these
qualifications makes it perfect for Library's purposes. You should read
and abide by the license agreement contained in the Zoo package, which
you had to have had to unpack this archive. It doesn't cost anything, so
it couldn't hurt to abide by Rahul's license, okay?
How it works:
============
If you've passed the @ argument, Library switches to the library
Directory and uses it for everything. Library always switches to the
Home directory when finished. All manipulation of text files is done by
ZOO.EXE in a shell call. Zoo must be on your PATH or in the current
directory. Library erases the text file from the disk after extracting
and reading it. Library directly reads the archive's contents for the
lists. Maintenance also uses two files, LIBIN.<nodenumber> and
LIBOUT.<nodenumber>.
Library makes heavy use of the comments which Zoo allows to be embedded
into its archives. Although Library has built-in maintenance functions,
you may find it more convenient (at least on occassion) to use ZOO from
the command line. To comment a file contained in an archive, use
ZOO -comment Archive Filename.EXT
To comment all files in an archive use
ZOO -comment Archive
To place a header comment in an archive use
ZOO cA Archive
To build a new Zoo archive, use
ZOO -add Archive Files...
Read ZOO.MAN in the Zoo package for more information on using Zoo. One
thing to keep in mind with Zoo is that you need to Pack the archive
after deleting files unless you use the -delete "novice" command. There
are also excellent programs like Shez for manipulating archives locally.
And Library has online maintanence functions to help you out in a pinch
(and for remote sysops).
Note that in Reader (LIBRARY R) and Sysop (LIBRARY !) modes,
Zoo-archived sections aren't needed. Awfully boring, unorganized and
wasteful of space, though.
ANSI:
====
Any archive (section) which has a filename beginning with an underline _
character is considered to be an ANSI Graphics file section. Users will
not be able to read files from these archives unless they have ANSI
toggled on (this can be done from inside Library). When reading ANSI
section files, S or space will abort the read and P will pause for 5
seconds. There is no "page prompt" for ANSI files, which tends to mess
up their graphic effect, particularly for animation.
Aside from requiring that ANSI sections begin with an underline (i.e.
_ANSISTF.ZOO), there are no restrictions on the content of ANSI files.
Library uses internal ANSI escape sequence interpretation and has none
of the "useful" online functions detailed by Microsoft as being
contained in ANSI.SYS (i.e. no mode switching, keyboard redef). Source
is available, remember, so if you feel something's missing, add it and
send me a copy.
Security:
========
If you pass a filename with the F argument, Library will read it and
place security levels specified therein against the user's security
level. The security file is a flat ASCII text file containing the name
of a section and the corresponding minimum security level required to
have access to it.
---Cut here---
ADULT 18
KIDS -17
---Cut here---
Notice that the section name (filename) does not include the Zoo
extension. Notice also the space between the section name and the
security level. Finally, notice that you can use negative numbers
and users with a security level _higher_ than that given will not
have access. The limits for security levels are 0-32767.
Text File Format:
================
Standard ASCII format works quite well. Lines should be wrapped at less
than 80 columns for readability. CR/LF's should be at the ends of those
lines. In other words, a regular old flat ASCII text file using
OS/2/MS-DOS conventions. Try STRIPPER.EXE or similar program on
strangely formatted text files before archiving them. ANSI files can be
created by programs like TheDraw or ANSIAnimator.
Help:
====
Library expects you to be nice and keep a help file named LIBRARY.HLP.
This file will be read to users if they press the H key. LIBSUBOP.HLP
will be searched for when in maint mode. Either file may be anywhere on
your PATH or in the library directory. Samples are included in the
distribution archive.
You can also change Library's menus if you have a LIBRARY.MNU and/or a
LIBSUBOP.MNU somewhere on your PATH. However, the only way to change
the command keys themselves is to recompile or get really dirty with a
hex editor. Life's tough.
Other hints:
===========
You'll probably want to set up an upload-only directory so your users
can "submit" text files for the Library. You might also want to set up
Peeker pointed at the Library directory so that users can extract files
from the Library archives and download them to save online time.
When running Library using the Zoo-archived sections, do so from a
dedicated subdirectory. Library wipes text files after reading them
when in this mode (the archive giveth, and the archive taketh away). If
you already had one there by that name...
Use a lot of comments. They give the users an idea of what the sections
and files are about without them having to trudge through the dross to
find the goodies. Users can also search (browse) the text in your
comments to quickly find items of interest. Set up section subops and
let them maintain sections for you.
If using Library in Reader mode (LIBRARY R), create a file named LIST
for users to read to find out what filenames are available for reading.
A file named HELP might also be a good idea.
Maintenance:
===========
Library's built-in Zoo section maintenance is fairly extensive and
should allow complete remote maintenance of your library sections. Two
batch files are used: LIBUP.CMD and LIBEDIT.CMD. If you have these
(somewhere on your PATH or in the library directory), the [U]pload a
file and [E]dit a file subcommands can be used. Library passes
"LIBUP.CMD <filename> <baud> <commport>" to OS/2 for Upload, and
"LIBEDIT.CMD <filename> <baud> <commport>" to OS/2 for edit. It's not
absolutely required that you have these command files; if you don't need
those functions, don't worry about it. All other maintenance functions
require only ZOO.
Although Library should work fine with multiple nodes accessing
(reading) the same data files, I do _not_ recommend allowing concurrent
maintenance sessions.
LogFile:
=======
You can turn off logging of files read by specifying the X argument
without a filename.
Special Local Keys:
==================
ALT-C............Enter/exit chat mode
ALT-H............Hang up (drop DTR)
ALT-J............Jump to OS/2
ALT-X............Abort program
ALT+/ALT-........Arrows add or subtract time from user
Remember that Library is a Door,
and your BBS won't know what you
did with the user's time while
s/he was in Library...
ALT-F1-ALT-F5....Read LIBRTEXT.### to user (where ### == 001 for FKey 1)
ALT-F6-ALT-F10...Spawn LIBRE###.CMD (where ### == 006 for FKey 6)
CTRL-ALT-DEL.....For those really sticky situations.
Big Red Switch...When nothing less will do.
Library ERRORLEVEL possibilities:
================================
0.......No problems; don't worry, be happy, unless you have teenagers
1.......Initialization failed
4.......Ran out of memory
200.....User ran out of time
201.....User timed out (idle)
202.....Lost carrier
Other...I dunno
Miscellaneous stuff:
===================
License:
-------
Library is free for the asking and free for the using so long as you
don't charge anything...ANYTHING...for the service on which it's used,
or try to "save" souls with it (what a filthy habit). You can
distribute it in the unmodified archive to anyone you want so long as no
fee is involved in the exchange (not even disk cost or connect time).
LIBRARY MAY NOT BE PACKAGED ON CD-ROM OR DISKETTE COLLECTIONS. YOU WILL
BE SUED INTO OBLIVION IF YOU DO SO.
DO NOT REPACK LIBRARY. I don't want it distributed as anything but a ZOO
archive (the *original* archive). The reason is simple; Library depends
on ZOO, so I want to ensure the user has Zoo (by it being required to
unpack it). NO "My Great BBS" COMMENTS (another filthy habit). If you
feel you absolutely must tamper with this archive, I have a better idea:
don't distribute it, don't use it, don't mention it, go away, good
riddance.
Source is included in the archive. You are authorized to modify and
recompile for your own use, but you may *not* distribute modified
versions (source or executable) without prior written authorization from
me (hardcopy with my signature). Doing so violates my copyright and
sets you up for a lawsuit. If you feel you have improvements that
should be incorporated in the next release, send them to me. You'll get
credit but no $. Strict foreign language ports are excepted; just
because I'm an ignorant one-language American doesn't mean you should
suffer. DRSK_200.LZH or better will be required for the Door driver
code.
I will support Library in the following manner only:
---------------------------------------------------
If you want netmail support, you'll have to send me a message, wait a
day or few, and poll me for the answer. Since you're footing the bill,
it'll be to your advantage to provide enough information for me to be
able to help you. Include everything you can think of, no matter how
trivial, that might lead to a clue as to why you're having problems, or
if you've found a bug, give me all the detail you can on what happens
before and after it strikes and *how to repeat it*. I'll do everything
I can to help you out, within the limits of the information you give me,
up to and including putting a fixed version on hold for you. An
alternative to this manner would be the good old U.S.nail. Include an
S.A.S.E. I can be reached at the following address:
M. Kimes
542 Merrick
Shreveport, LA 71104
In other words, I'm giving the program's use away free, but I'm not
footing the bill for your questions.
Changes for version 1.01:
========================
o Added ability to use external (local) reader, like LIST.
Changes for version 1.02:
========================
o Added PKUNZIP support; however, ZOO is still strongly recommended,
particularly where multiple comment lines are desired.
Changes for version 1.03:
========================
o Added support for file sharing (all files opened in denynone mode);
however, I can't vouch for ZOO and PKZIP/PKUNZIP since I don't
multitask myself.
Changes for version 1.04:
========================
o Library no longer needs or maintains .LST files for Zoo library
sections. It reads the contents of Zoo files directly (still shells
to Zoo to unarchive, though).
Changes for version 1.05:
========================
o Library no longer supports Zip (who needs it for this purpose?)
o Added maintenance.
o Added ability to select document or section by name; wildcarding.
o Added source to archive.
Changes for version 1.06:
========================
o Fixed dumb bug that kept "I" command line argument from working.
Changes for version 1.07:
========================
o Added direct command line entry to ZOO in maintenance
o Added Browse for keyword command
o Added optional external menus
Changes for version 1.08:
========================
o Added multitasker timeslicing; changed M command line arg to V,
gave new meaning to M
Changes for version 1.09:
========================
o Library now supports local screen sizes other than 25x80.
o Internal ANSI escape sequence interpretation.
o Added Z and U command line args.
Changes for version 1.10:
========================
o Now built with DOORSKEL v2.00 code.
o OS/2 version available because of above (same code compiles for OS/2
or MS-DOS).
o Removed a few of the stranger command line switches to simplify
things for me. Most BBSs have progressed to the point that the
more esoteric switches weren't required, anyway.
Changes for version 1.11:
========================
o Should handle filenames up to 32 characters long without any problems.
Will handle longer filenames, but displays will get ugly.
o Changed color scheme.
M. Kimes
1:380/16.0
318-222-3455 Data
542 Merrick
Shreveport, LA 71104
Contributions are accepted but not required.