home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Beijing Paradise BBS Backup
/
PARADISE.ISO
/
software
/
BBSDOORW
/
FRI_300.ZIP
/
FRIDAY.DOC
< prev
next >
Wrap
Text File
|
1993-04-23
|
24KB
|
497 lines
╒════════════════════════════════════════════════════════╕
│ FRIDAY 3.00 - the quest for automation continues ... │
└────────────────────────────────────────────────────────┘
Friday.Exe/Friday.Doc written by geoffrey booher; 1:2270/233.1@fidonet
this release of software is dedicated to my good luck charm, njk. :-)
┌─────────────┐
│ disclaimer: │
└─────────────┘
FRIDAY 3.00 is *ONLY* guaranteed to consume diskspace. It has been very
extensively tested and found to be pretty reliable. In no way is the
author of this program responsible for any damages, consequential, or
otherwise from the neglect of FRIDAY 3.00's use or misuse. FRIDAY 3.00 is
provided as is, without warranty of any kind, either expressed or implied.
┌──────────┐
│ license: │
└──────────┘
FRIDAY is NOT Public Domain Software or FreeWare. It is Shareware and
requires registration after a 30-day evaluation period. restrictions:
1. Any part of the FRIDAY 3.00 files are NOT to be modified in *any* way.
2. The FRIDAY Distribution Archive is NOT to be recompressed/reprocessed.
3. FRIDAY 3.00 may NOT be utilized in any unlawful or illegal manner.
4. No Fees may be charged for FRIDAY 3.00 - other than diskette cost.
FRI_300.ZIP may be put up for download on pay/subscription systems,
provided a fee is not charged for downloading FRI_300.ZIP itself.
If after 30 days, you continue to use the FRIDAY program, it MUST be then
registered. If you do not wish to register it, simply delete the FRIDAY
program and all documentation from your computer. See the file FRIDAY.REG
for details of how to register your copy of FRIDAY.
┌──────────┐
│ support: │
└──────────┘
Send Netmail to geoffrey booher, 1:2270/233.0@fidonet. If you are expecting
an immediate response, usually if you return POLL me within 24 hours (nay
weekends) and I will respond with a Netmail msg on HOLD for you. Otherwise
I will send you a host-routed netmail reply. This also assumes you are in a
current *FIDONET* Nodelist.
geoffrey booher - SysOp - The Gateway Net Bulletin Board System
North American RemoteAccess Support
RemoteAccess Beta/Development Site
1:2270/233.0@fidonet
(815)233-5008 2400/9600/14400 HST/V32b/V42b
Freeport, IL - USA
You can contact me through the above Bulletin Board System. Feel free to
send me your comments about FRIDAY 3.00. I have received *MANY* to date.
If you aren't a BBS SysOp, you probably won't have a use for this program.
:-)
┌────────────────────────┐
│ overview and features: │
└────────────────────────┘
I *always* wanted a program to change my FILES.BBS on Fridays when I get
the new Nodediff and make the new Nodelist. I used to go in and have to
change NODEDIFF.A56 NODELIST.A56 to NODEDIFF.A63 and NODELIST.A63 for
example in my FILES.BBS with a text editor on Fridays. (not what you call
automation). I noticed that some BBS Software will work with NODEDIFF.A??
(wildcards) in the FILES.BBS, but ONLY when listing the files, NOT on
searches by filename or keyword, or New files since last call.
FRIDAY 3.00 automates the process by searching the subdirectory specified
for the NODEDIFF.A?? NODELIST.A?? and updates FILES.BBS with the new names.
/Option Switches (/? displays FILES.BBS help, /h or /H displays FDB help)
/A NODE????.A?? - ARC (default - no /option parameter entered)
/D NODE????.D?? - DWC
/J NODE????.J?? - ARJ
/L NODE????.L?? - LZH
/N NODE????.nnn - unarchived - julian date extension
/P NODE????.P?? - PAK
/S NODE????.S?? - SQZ
/Z NODE????.Z?? - ZIP/ZOO
/On use n days (0-6) offset from Friday
/F FNEWS???.* (FidoNews option)
/Faname ANAME???.* (Any List name!)
FRIDAY will also search for ANYLIST, any valid filename that uses the above
filename extension conventions, which most networks do. If your net does
not, I don't know about it! By making the filename(s) available on the
commandline, I have eliminated the need for any .CTL files and a need to
know every netdiff/list. I think the methodology used is pretty effective.
FRIDAY 3.00 replaces the last two digits of the filename(s) descriptions
with the two rightmost digits of the Julian date of the past Friday as
obtained from DOS and calculated. I guess I should mention that if the time
and date on your computer are improperly set, expect unpredictable results!
This program started out simple. Typing FRIDAY just looked for NODEDIFF.A??
and NODELIST.A?? in the current directory only, and NEEDED to be executed
on Fridays. It has now evolved to many commandline switches, and now
automagically calculates and uses the current/past Nodediff day. It also
accepts a pathname to the FILES.BBS - and many many more options.
Portion of my FILES.BBS:
-----------
NODEDIFF.A06 Latest Fidonet Weekly Nodelist Update File
NODELIST.A06 Latest Complete Fidonet Nodelist File
-----------
My FILES.BBS after I received and processed the NODEDIFF.A?? file and
FRIDAY 3.00 was run on Friday 04/23/93 up to 12am 04/30/93:
-----------
NODEDIFF.A13 Latest Fidonet Weekly Nodelist Update File
NODELIST.A13 Latest Complete Fidonet Nodelist File
-----------
Note the generic descriptions - I'll never edit those lines again! <smile>
If you aren't familiar with FILES.BBS, you might not need this program.
┌────────────────────────────────┐
│ overview and features (con't): │
└────────────────────────────────┘
FILES.BBS is a straight ASCII text file that is usually located in the
subdirectory where you keep download files. It keeps a "list" of filenames
and descriptions. The filename is the 1st 12 positions (counting the '.'
character). Then, starting in position 15 is the description, usually
40-45 characters 'describing' the file. The description doesn't have to
start in 15 (it can start in 14) - but lots of other file management
utilities like it that way. See the sample FILES.BBS enclosed for the many
examples of what FRIDAY 3.00 now supports.
┌─────────────────────────┐
│ setting up FRIDAY 3.00: │ (FILES.BBS - Nodediff/Nodelist Flavor)
└─────────────────────────┘
Put Friday.Exe anywhere in your DOS PATH, along with any of your other BBS
Program utilities. See your DOS manual about the PATH Statement if needed.
Just change the batchfile that updates your nodelist and add FRIDAY at the
end:
my NODELIST.BAT:
@Echo OFF
If Not Exist C:\Fd\File\Nodediff.A?? GOTO END
Move C:\Fd\File\Nodediff.A?? C:\Fd\Nodelist
Ren C:\Ra\Bbsfiles\Node????.A?? Node????.Old
Cd C:\Fd\Nodelist
Copy C:\Fd\Nodelist\Nodediff.A?? C:\Ra\Bbsfiles
Rem - the following Xlaxdiff command makes the new NODELIST.A?? file
Xlaxdiff /A=C:\Ra\Bbsfiles\Nodelist /X=ARCE,ARC A /C
If Errorlevel 1 Goto NDERROR
Cd C:\Ra
Ranode
Cd C:\Fd
Fdnc /f
Del C:\Ra\Bbsfiles\Node????.Old
Rem - FRIDAY 3.00 will update your FILES.BBS with the latest Nodelist files.
Rem - I'm using A??, it is the default when no parameters are entered.
rem - FRIDAY C:\Ra\Bbsfiles ; old FILES.BBS command
FRIDAY /7
Goto END
:NDERROR
Rem - if there was a problem applying the Nodediff - do NOTHING
Echo ? An error occurred while processing the Nodediff! >>C:\Fd\Fd.Log
:END
FRIDAY 3.00 *expects* to find, open and search FILES.BBS. If it doesn't
it will beep at you and tell you it can not be found. If the filename(s)
are not found in the specified subdirectory and if the FILES.BBS doesn't
contain NODEDIFF.A or NODELIST.A (or D,J,L,N,P,S,Z with correct parameter
command) it won't do anything. If FILES.BBS and NODEDIFF.A and NODELIST.A
are found, it will put the last 2 rightmost digits of the current Nodediff
day into the proper spot and update FILES.BBS. ARC is still the Fidonet
NODELIST Standard, and is the default (no parameters entered). If no
pathname is entered, FRIDAY looks for the filename(s) and FILES.BBS in the
current drive/directory. If your BBS Software uses another name besides
FILES.BBS and follows it's file format as described above, you can use the
FRIDAY environment variable to tell FRIDAY to search another filename.
SET FRIDAY=FILES.DIR causes FILES.DIR to be acted upon. You may ONLY
specify a valid DOS Filename (no wildcards or path specifiers). If you do
NOT use (need) this, the DEFAULT is FILES.BBS and no SET FRIDAY= is needed.
┌─────────────────────────┐
│ setting up FRIDAY 3.00: │ (FILES.BBS - FidoNews, Newsletter Flavor)
└─────────────────────────┘
Make sure Friday.Exe is anywhere in your PATH, along with any of your other
BBS/Program utilities. See your DOS manual about the PATH Statement if
needed.
change the batchfile that updates your fidonews and add FRIDAY /F to it.
my FIDONEWS.BAT:
@Echo OFF
If Exist C:\Ra\Docos\Fnews???.* Del C:\Ra\Docos\Fnews???.*
Move C:\Fd\File\Fnews???.* C:\Ra\Docos
rem - FRIDAY 3.00 updates your FILES.BBS with the FNEWS file you received.
rem - /F alone defaults to Fidonews, /Ffnews NOT needed.
rem - FRIDAY /F C:\Ra\Docos ; just FILES.BBS command
FRIDAY /6 /F
That's all there is to it. When your Mailer receives the File, have in your
inbound Mail statement in your main Runbbs.Bat file:
:MAIL
rem - Toss Incoming EchoMail and NetMail here
If Exist C:\Fd\File\Nodediff.A?? Call Nodelist.Bat
If Exist C:\Fd\File\Fnews???.* Call Fidonews.Bat
Goto START
FRIDAY /F expects to find an FNEWS???.* file in the current directory you
are running from or pointing to with the pathname. If not, it will quit and
tell you so. If it finds the FNEWS???.* file in the current directory or
specified path, and cannot find a FILES.BBS also, it will quit and tell you
so. If it finds FNEWS???.* in the current directory or specified path and
finds a FILES.BBS, it then looks for FNEWS in the FILES.BBS. If FNEWS isn't
found in FILES.BBS - it will again do nothing. If it finds FNEWS in the
FILES.BBS, it replaces it with the filename found in the current directory
or specified pathname (the one just moved there ideally).
FRIDAY has the ability to accept a 2 to 7 character string immediately
following the /F parameter. Note, there are NO SPACES between the /F and
the string. This allows you to update most weekly/monthly listings with no
intervention on your part.
FRIDAY /Fusbbs C:\Ra\Docos (i.e: updates USBBS86.ZIP to USBBS87.ZIP)
FRIDAY /Fbbs C:\Ra\Docos (i.e: updates BBS0891.ZIP to BBS0991.ZIP)
WARNING!! Use of LESS than 4 matching characters (as in above /Fbbs
example of Thelist BBS????.*) can get you into trouble
FAST! If there's another file in that directory called
BBS*.* FRIDAY MAY go after that, and produce undesirable
results!
┌─────────────────────────┐
│ setting up FRIDAY 3.00: │ (RemoteAccess File Database - all flavors)
└─────────────────────────┘
Make sure Friday.Exe is anywhere in your PATH, along with any of your other
BBS/Program utilities. See your DOS manual about the PATH Statement if
needed.
Make sure the RA environment variable is set. This will point to where the
RemoteAccess Configuration file, CONFIG.RA is located. THIS IS REQUIRED.
FRIDAY will not work with or use the RemoteAccess FDB if the RA environment
variable is NOT set. This is usually: SET RA=C:\RA in your Autoexec.Bat.
FRIDAY requires RemoteAccess 2.00 or higher. If upon reading CONFIG.RA it
detects a versionID of less than 2.00 - it will abort with an error.
FRIDAY reads CONFIG.RA and expects to be able to open FILES.RA, located in
System Path as defined in RACONFIG. It also expects to find a valid path
to the File Database in CONFIG.RA.
Since FRIDAY gets its information from FILES.RA - supplying FRIDAY with a
pathname on the commandline is not needed or supported. Commandline syntax
is as follows:
FRIDAY /nnn [/option] [/offset] [filname1] [filname2]
/nnn = File Area Number as defined in FILES.RA. If the Nodediff.A?? and
Nodelist.A?? are in File Area #2, then the command to update them
is simply: FRIDAY /2
All other options (except pathname) are valid as with the FILES.BBS option
as described in the documentation above. FRIDAY will ALSO look for and
update FILES.BBS if one is present and needs updated in the file area path.
Other example commands to update the RemoteAccess File Database:
FRIDAY /4 /f (update FNEWS*.* in File Area #4 - and FILES.BBS if present)
FRIDAY /3 /fANY*.* (update ANY*.* in File Area #3 - and FILES.BBS)
FRIDAY /6 /z SIGNODES (update SIGNODES.Z?? in File Area #6 and FILES.BBS)
FRIDAY requires DOS 3.1 or higher and SHARE.EXE to be loaded to support the
RemoteAccess File Database. The File Database is opened in SH_DENYNONE
mode and FRIDAY implements the RemoteAccess File Database locking scheme to
region lock the Database file when writing. If another process is updating
the File Database (such as RAFILE), then FRIDAY will not perform an update.
SHARE.EXE need not be loaded if you run Novell or under OS/2 DOS mode.
FRIDAY will write a logfile called FDBINUSE.LOG in your RA File Database
path if FRIDAY could not perform an update if the FDB was in use.
FRIDAY updates the RA FDB with the File Name, File Date and File Size as
obtained from DOS. FRIDAY does NOT require RAFILE to be run before or
after it - and does not require any other external utilities to be run.
FRIDAY also sets the 'Upload Date' field for the file(s) in the FDB to the
current date/time that it runs, since this is when the file then becomes
'available' to the users and is what RemoteAccess considers a 'new' file.
┌───────────┐
│ appendix: │
└───────────┘
FRIDAY Command Syntax: *NOTE* Commands MUST be entered in order given!
Since FRIDAY is normally run from a batchfile, this shouldn't be a problem.
FRIDAY [/nnn] [/options] [/On] [filname1] [filname2] [d:\path] (case ignored)
[/nnn] only permitted in a VALID RemoteAccess environment.
[filname1] [filname2] not valid with /f option switch.
[/On] offset is not used with the /F option.
[filname1] [filname2] only 1 required, use for other than NODEDIFF NODELIST
FRIDAY Sample Commands (used in batchfiles):
FRIDAY - looks for both NODEDIFF.A?? NODELIST.A?? in FILES.BBS in current
directory (default with no parameters entered on the commandline)
FRIDAY /f C:\Ra\Docos - looks for Fnews*.* in pathname and FILES.BBS
Note: /f and pathname ONLY are valid. Runs FRIDAY in strictly FNEWS mode.
Default (FRIDAY /f) is Fnews*.* and FILES.BBS in current directory.
Use the d:\path to point to your FNEWS*.* subdirectory.
FRIDAY C:\Ra\Bbsfiles - looks for both NODEDIFF.A?? and NODELIST.A?? in
FILES.BBS and within C:\Ra\Bbsfiles subdirectory.
(this is what I use)
FRIDAY /l Anydiff Anylist D:\Archives - looks for both ANYDIFF.L?? and
ANYLIST.L?? in the D:\Archives
subdirectory and it's FILES.BBS.
NOTES: Anydiff and Anylist can be any valid DOS filename. Only 1 filename
is required, so that those not posting both files can use FRIDAY.
Again, it defaults to NODEDIFF.A?? NODELIST.A?? - but any filename
combination with the .A?? .D?? .J?? .L?? .P?? .S?? .Z?? extension
within FILES.BBS is valid.
FRIDAY /z Signodes C:\Netlists -looks for SIGNODES.Z?? in the C:\Netlists
subdirectory and in it's FILES.BBS.
FRIDAY /o2 Rbbslist C:\Netlists - looks for RBBSLIST.A?? in the C:\Netlists
subdirectory and in it's FILES.BBS. Uses
Offset of 2 days from Friday (Sunday).
FRIDAY /n Dbnet C:\Netlists - looks for DBNET.nnn (the unarchived julian date
extension) in C:\Netlists and in it's FILES.BBS.
FRIDAY will detect if the FILES.BBS is up-to-date and will not update the
FILES.BBS if it doesn't need to. FRIDAY DOES check for DIFF/LIST files
presence in the directory. It scans the directory for the names given (or
defaults if none entered). Upon success, it then scans for a match in
FILES.BBS, and updates on the latest nodediff day, if not equal (less than)
the previous friday date.
Note: If default is used or 2 filenames are entered on the commandline,
FRIDAY expects to find BOTH files.
[d:\path] is any valid DOS subdirectory pathname.
┌─────────────────────────────┐
│ FRIDAY 3.00 technical info: │
└─────────────────────────────┘
Friday.Exe was compiled with Borland International's Borland(C++) 3.1
using the Small Memory Module ( < 64kb heap ) and the C++ (Friday.Cpp)
option. FRIDAY will run in less than 128kb RAM (64kb code - 64kb data).
FRIDAY 3.00 requires DOS 3.10 or greater, and SHARE.EXE to be loaded for
the FDB options, unless your environment is multi-user native like Novell
Netware LAN or OS/2 DOS mode sessions.
FRIDAY 3.00 exits with the following errorlevels for trapping in *.BAT
files. Although not really needed, they are there for batchfile gurus.
errorlevel 7 - Invalid /option switch parameter or /?, /H help
errorlevel 6 - FILES.BBS or FDB already up-to-date, no action needed
errorlevel 5 - filename(s) argument not found in FILES.BBS
errorlevel 4 - filename(s) not found in subdirectory or pathname
errorlevel 3 - FILES.BBS not found in subdirectory or pathname
errorlevel 2 - File I/O error or invalid pathname
errorlevel 1 - Error getting dostime or other FATAL error
errorlevel 0 - successful completion FILES.BBS or FDB updated
FRIDAY 3.00 usually runs on Fridays (hence it's name). But, realising not
every SysOp gets the Nodediff Update on Fridays, it calculates the day
of the week and figures out the last Nodediff day! If you run on Saturday,
it subtracts 1 from the Julian day to arrive at the desired number. How
this works is if you run the program on Friday or any day up until next
Friday, it will always replace the previous Fridays Nodediff day number.
Using the Offset day sets the number of days FROM the offset day. So, if
the offset day is Sunday ( /O2 ) FRIDAY updates it with the prior Sunday's
number.
FRIDAY 3.00 looks for FNEWS???.* in FILES.BBS and for the filename mask in
the current directory with the /F switch (defaults to FNEWS) parameter. If
both are not found, it will not do anything. If it finds FNEWS*.* in both
places, it takes the filename found in the current directory or pathname
and replaces the name in the FILES.BBS with it. FRIDAY works in the same
manner with the DIFF/LIST option, checking if those files exist in the
subdirectory, and in FILES.BBS or the RemoteAccess File Database (FDB).
Any user definable string from 2 to 7 positions can be used after the /F
to check for and update a particular filemask. Less than 4 - BE CAREFUL!!
FRIDAY 3.00 was tested on a 80386/16 system under DOS 4.01 thru DOS 6.00.
It has been tested on a 80486/66 and works well under DESQview and OS/2.
FRIDAY 3.00 reads and then writes only the change, writing in place. Since
it's so fast, in the unlikely event the power fails (at the precise second
that it is updating) it will truncate FILES.BBS to 0 bytes. FRIDAY has been
tested on a 320kb FILES.BBS and doesn't really care HOW large FILES.BBS is.
FRIDAY 3.00 will replace ALL matching strings in FILES.BBS. So if you have
them in there more than once (i.e: keep old NodeDiffs/Nodelists/FidoNews
hanging around) ... then this program is most likely not for you. This
will also get you into trouble using FRIDAY /Fxx as the 2 character minimum
can occur in a Filename and in FILES.BBS quite often (so I've found out!).
Also, some SysOps don't keep the Nodelist/Nodediff/Fidonews files online.
Again, this program is likely not for you.
┌─────────┐
│ thanks: │
└─────────┘
Thanks to Eric Winter who helped me initially write FRIDAY 0.01. Without
his help, I wouldn't have started learning the C language 4 years ago. :-)
Thanks to Kevin Zimmerman, SysOp of The Boomtown BBS in McConnell, IL
1:2270/868@fidonet for relentlessly allowing me to bash the program, change
the date on his system hundreds of times, and beat his hard disk to death
with one compile after another. It was he who originally suggested the new
offset for his RBBSLIST since he joined and has now quit that network.
Thanks also to Bruce Bodger, SysOp of The Truckstop BBS in Tulsa, OK
1:170/400@fidonet for finding a few bugs, and for suggesting some excellent
enhancements to FRIDAY 0.01 and 0.10. He also suggested that FRIDAY use
the current date/time it runs as the 'Upload Date' in the RemoteAccess File
Database. The latest version of FRIDAY can be found on his system as well.
Thanks to Bob Glasser, SysOp of Utopia Technologies Ltd in Levittown, NY
1:107/203@fidonet for the excellent suggestions which were added into
FRIDAY 2.00, the /N unarchived option, and the support for other weekly
ragnames. Also, he provided some insight for FIXING that year rollover bug
that was evading me for months!
Thanks to the RemoteAccess Developers for help with the File Database code.
Thanks to andrew milner for the RA File Database structures and advise.
Thanks to Josh Edler for helping me convert the RA TP structures to C and
hanging out and beating up a test file database with me. :-)
┌───────┐
│ misc: │
└───────┘
I realize some of you use NODEDIFF.ARC or NODELIST.ARC in the FILES.BBS.
IMHO, I feel the number description is a little bit better to have in
there. This way, if I'm a Fidonet SysOp that grunged my nodelist <oops>,
I'm sure about getting the latest version instead of an ARC or ZIP and
trusting the system I'm obtaining it from to have current Nodediff/Nodelist
files. It is also in a Standard name, ready to process by Nodelist update
utilities. And you don't have to keep extra generic nodelist files hanging
around to quote-unquote "automate" things and waste valuable diskspace!
My hope is that you will *enjoy* my program and it helps you out. One thing
is for sure, there are many of us FRIDAY Fans who love the program!
The following products/examples are the Copyrighted materials of their
respective named holders:
Borland(C++) 3.1 Borland International
DESQview QuarterDeck Office Systems
Novell Netware Novell Inc.
OS/2 International Business Machines Cororation
FRIDAY 3.00 geoffrey booher - boo s/w development hq
ARC System Enhancement Associates
DWC Dean W. Cooper
LZH Haruyasu Yoshizaki
ARJ Robert K. Jung
PAK NoGate Consulting
SQZ Jonas I. Hammarberg
ZIP Phil Katz - PKWARE
ZOO Rahul Dhesi
FrontDoor Joaquim H. Homrighausen - Advanced Engineering sarl
RemoteAccess Andrew Milner - Continental Software
Xlaxdiff Scott Samet
Fidonet/Fidonews Tom Jennings
DOS International Business Machines and Microsoft
PC/AT International Business Machines