home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / ZDCS203.ZIP / ZDCSWALK.TXT < prev    next >
Text File  |  1994-03-28  |  44KB  |  982 lines

  1.           ZIPFILE DUPLICATE CHECKING SYSTEM (ZDCS)  Ver. 2.0
  2.                 Copyright (C) 1991-1994 by Stacy Smith
  3.  --------------------------------------------------------------------
  4.  
  5.                      The Bloom Beacon-Picayune BBS
  6.        (919) 557-3845  (USR Courier HST/V.32terbo Dual Standard)
  7.                  (919) 557-0645  (USR Courier V.32bis)
  8.                 (919) 557-0745  (Hayes Optima 288 V.FC)
  9.  
  10.  
  11.  
  12.   A Walk-Through Guide for Installing and Using ZDCS on a PCBoard BBS
  13.  
  14.  
  15.           Table of Contents
  16.           -----------------
  17.  
  18.           HELLO!                                                   
  19.           OVERVIEW OF ZDCS                                         
  20.           ZDCS OPTIONS                                             
  21.                Deleting Duplicate Files                            
  22.                Allowed Duplicates                                  
  23.                BBS Ads                                             
  24.                Privileged Users                                    
  25.                Pre-Testing                                         
  26.           INSTALLATION                                             
  27.           STEP 1 - Copy the ZDCS files                             
  28.           STEP 2 - Set up the config file                          
  29.                Line 1                                              
  30.                Line 2                                              
  31.                Line 3                                              
  32.                Line 4                                              
  33.                Line 5                                              
  34.                Line 6                                              
  35.                Line 7
  36.                Line 8
  37.                Line 9
  38.                Line 10
  39.                Line 11
  40.                Line 12
  41.                Line 13
  42.                Line 14
  43.                Line 15
  44.           STEP 3 - Create the initial database                     
  45.           STEP 4 - Create the bbs ads database                     
  46.           STEP 5 - Create the list of allowed duplicates           
  47.           STEP 6 - Set up the upload file check                    
  48.           PRE-TESTING                                              
  49.           THAT'S ALL, FOLKS!                                       
  50.  
  51.  
  52.  
  53. HELLO!
  54. ------
  55.  
  56. ZDCS is a shareware set of utilities intended to help a PCBoard sysop
  57. deal with the problem of duplicate files, whether those files are
  58. already on the bbs or are being uploaded by a caller.  It provides
  59. specific support for looking inside archives made with PKZIP,
  60. including PKZIP version 1.93 (ZIP files), archives made with ARJ (ARJ
  61. files), and self-extracting files made with either PKZIP or ARJ (SFX
  62. files).  ZDCS processes all of these archives so that the differences
  63. between them are transparent to the sysop and caller.  To make this
  64. walk-through easier to read, we'll refer to all of these file types as
  65. zipfiles.
  66.  
  67. ZDCS also provides support for accepting unzipped GIFs.  ZDCS thinks
  68. of such a GIF file as a poor zipfile with only one file in it.  You'll
  69. find more detailed information on GIF files and others in the
  70. reference manual, ZDCS-REF.TXT.
  71.  
  72. This walk-through will guide you in getting ZDCS up and running on
  73. your bbs.  The reference manual, ZDCS-REF.TXT, has more detail on all
  74. sorts of things (probably more than you will want or need), but it's
  75. arranged to be the sort of file where you look things up when you want
  76. more information, not something you read all the way through.  On the
  77. other hand, this walk-through is a friendly guide that will take you
  78. by the hand and show you how easy it is to install ZDCS.
  79.  
  80. Don't be put off by the length of this file.  ZDCS is quite simple to
  81. install.  We've added lots of extra words to explain the process and
  82. your choices for how you want to run ZDCS.
  83.  
  84.  
  85.  
  86. OVERVIEW OF ZDCS
  87. ----------------
  88.  
  89. There are two basic functional parts to ZDCS:  checking an existing
  90. collection of files for duplicates, and checking newcomer files
  91. against the existing collection.  It's set up this way to permit use
  92. on a dynamic collection like a bbs file system, but it can also be
  93. used to look for duplicates on other systems as well, such as a
  94. shareware CD-ROM or even multiple directories on your hard drive
  95. system.  However, the focus is on bbs systems and that's how the
  96. documentation is written.
  97.  
  98. To check an existing collection of files, you have to create a ZDCS
  99. database for that collection.  Then you can use the duplicate report
  100. generator to tell you which files are duplicates and where they are
  101. found.  A little housecleaning based on this report can weed out
  102. duplicates and recover hard drive storage space, something no one ever
  103. has enough of.
  104.  
  105. When new files are added to the collection, you need to be able to do
  106. two things with them:  add the files to the database;  and find out if
  107. there are any duplicates among them.  The most common addition of new
  108. files is via uploads to the bbs.  ZDCS will enable you to process an
  109. upload as soon as it is received, and tells both you and your caller
  110. about duplicate files in that upload.  It can be set to accept or
  111. decline an upload based on the percentage of dupes it finds.  It also
  112. adds any new files to the ZDCS database to keep that up to date.
  113.  
  114. There's a bit more, of course.  ZDCS can be told to decline an upload,
  115. to automatically remove duplicate files, to delete those pesky little
  116. bbs ads from uploads, and to recognize "allowed duplicates" - or any
  117. combination of the above.  You can tell ZDCS to accept anything that a
  118. privileged user uploads, and change your mind on who's "privileged"
  119. and who's not.  There's even a pre-test capability that lets callers
  120. find out ahead of time whether or not their intended upload duplicates
  121. files already on your board.
  122.  
  123. Installing ZDCS to work on your bbs is relatively simple.  The hardest
  124. part may be deciding which options you want to enable.  Let's look at
  125. those first.
  126.  
  127.  
  128.  
  129. ZDCS OPTIONS
  130. ------------
  131.  
  132. Running ZDCS without any of the extra options enabled gives you a
  133. basic duplicate checking system that will not delete any files
  134. automatically.  It will still tell you about all duplicate files, but
  135. it won't be able to distinguish between files you always want to
  136. delete (like bbs ads), files that duplicate exactly ones already on
  137. your board, and files that are duplicates but still important to keep
  138. (like VALIDATE.COM from Macafee's SCAN program).
  139.  
  140. You can try out the different options and change your mind about which
  141. ones you want to use without re-installing ZDCS.
  142.  
  143.  
  144. Deleting Duplicate Files
  145. ------------------------
  146.  
  147. When a new zipfile is uploaded to the board, ZDCS checks it against
  148. the existing database to see if there is any duplication of files.
  149. You can permit ZDCS to not only flag the duplicates but also to delete
  150. them from inside the zipfile, leaving the rest of the upload intact.
  151. This deletion feature does not operate on a GIF file.
  152.  
  153. This is a good time to point out one consequence of deleting all
  154. dupes.  Some shareware authors issue updates that consist of both new
  155. files (executables, perhaps) and unchanged files (registration
  156. information, maybe).  If you enable the deletion of all duplicate
  157. files in an uploaded zipfile, you can lose some of the files that
  158. belong in the author's package.  This brings us to the concept of
  159. allowed duplicates.
  160.  
  161.  
  162. Allowed Duplicates
  163. ------------------
  164.  
  165. You can choose to tell ZDCS that certain files are allowed duplicates.
  166. When you create a list of allowed duplicates, ZDCS knows not to treat
  167. these files as dupes no matter how often they appear.  You can add new
  168. files to the list or delete old ones with any text editor.
  169.  
  170. Why would you want to have allowed duplicates?  There are some files
  171. that reappear frequently as part of shareware or freeware packages,
  172. such as OMBUDSMN.ASP (found in ASP-ware), or VALIDATE.DOC and
  173. VALIDATE.COM (from Macafee's SCAN program).  Especially in a case like
  174. Macafee's where new versions of the program come out frequently, each
  175. with certain standard files included, it would be useful to
  176. "recognize" these duplicate files as being acceptable.
  177.  
  178. There are two places where enabling the allowed duplicates option
  179. makes a difference in how ZDCS runs.  If you have selected the option
  180. to delete duplicate files, it prevents these allowed files from being
  181. deleted.  It also does not figure these files into the calculation for
  182. what percentage of an uploaded zipfile is duplicates.
  183.  
  184. This feature does work for GIF files.  If a GIF is included among the
  185. allowed duplicates, then a repeat upload of the same GIF will not be
  186. flagged as a duplicate, and the upload will be accepted.
  187.  
  188.  
  189. BBS Ads
  190. -------
  191.  
  192. There are some specific files that you may want to delete every time
  193. you run across them.  The prime example of this would be those rude
  194. and annoying bbs ads from you-know-who that a few boards feel it
  195. necessary to add to every zipfile they carry.  You might also have
  196. other problem files that you want to keep off your board, like some of
  197. the pyramid scheme get-rich-quick files that circulate from time to
  198. time.
  199.  
  200. You can opt to tell ZDCS to recognize these nuisances by creating a
  201. bbs ads database.  (This is always referred to as the "bbs ads
  202. database" to distinguish it from the main ZDCS database, which is
  203. bigger and not the least bit optional.)  When you run the upload file
  204. checker, ZDCS will flag any files it finds that match the ones listed
  205. in the bbs ads database.  If you want to do more that just flag these
  206. pests, you can also tell ZDCS to delete all bbs ads automatically.  Of
  207. course, you can include new bbs ads as they are perpetrated.
  208.  
  209. This option is completely independent of the option to delete
  210. duplicate files, so you don't take a chance on removing authors'
  211. unchanged files from newer shareware versions.  The bbs ads option
  212. does not operate on a GIF file.
  213.  
  214.  
  215. Privileged Users
  216. ----------------
  217.  
  218. You can designate one or more user names as privileged users.  Any
  219. file that is uploaded by a privileged user is never declined by ZDCS,
  220. no matter how many duplicate files there may be in it.  Even if you
  221. have enabled deletion of duplicate files and / or bbs ads, ZDCS still
  222. will not delete them if the original zipfile was uploaded by a
  223. privileged user.  The privileged user status takes precedence.  The
  224. list of privileged usernames is a simple ASCII text file that can be
  225. changed without needing to reinstall ZDCS.
  226.  
  227.  
  228. Pre-Testing
  229. -----------
  230.  
  231. You can decide whenever you'd like to allow or disallow pre-testing.
  232. Since it's very easy to enable and won't affect the installation of
  233. ZDCS at all, we've covered it in a separate section at the end of this
  234. walk-through.  After you've gotten ZDCS installed on your bbs, you can
  235. take your time about making the decision to pre-test or not to pre-
  236. test.
  237.  
  238.  
  239.  
  240. INSTALLATION
  241. ------------
  242.  
  243. There are six basic steps to installing ZDCS to work with the bbs:
  244.  
  245. 1.   Copying the ZDCS files to a new ZDCS directory.   (required)
  246. 2.   Setting up the configuration file.           (required)
  247. 3.   Creating the initial database.               (required)
  248. 4.   Creating the bbs ads database.               (optional)
  249. 5.   Creating the list of allowed duplicates.          (optional)
  250. 6.   Setting up the check for uploaded duplicates.     (required)
  251.  
  252. None of the steps is at all difficult.  We'll cover them one by one.
  253.  
  254.  
  255.  
  256. STEP 1 - Copy the ZDCS files
  257. ----------------------------
  258.  
  259. Create a new directory on your system to contain your ZDCS files.  A
  260. good choice is C:\ZDCS - it's clear, concise, and short enough to fit
  261. in your PATH statement.  Please add the directory to your PATH
  262. statement right away.  We'll wait.
  263.  
  264. Now copy the ZDCS files into your new directory.  You can put all the
  265. files from this package into that directory if you want to keep them
  266. all together, but at a minimum you =must= put all the executable
  267. (*.EXE) files from this package there.  There will be more files
  268. coming later, as you create the configuration file and enable some of
  269. the options.
  270.  
  271. From now on, this new directory will be referred to as your ZDCS
  272. directory.
  273.  
  274.  
  275.  
  276. STEP 2 - Set up the config file
  277. -------------------------------
  278.  
  279. The first step in the installation is to create the ZDCS.CFG file for
  280. your configuration.  This is a flat ASCII text file containing
  281. thirteen short lines.  A sample configuration file is included in this
  282. package, so you might want to look at that.  It takes more time to
  283. describe the file than it does to write one from scratch.
  284.  
  285. Put the finished configuration file into the same directory that
  286. contains the executable ZDCS files, unless you're running DOS 2.x.  If
  287. that's the case, either upgrade to at least DOS 3.x or go to the ZDCS
  288. reference manual ZDCS-REF.TXT and read the answer there.
  289.  
  290.  
  291. Line 1
  292. ------
  293.  
  294. This line is the complete drive, path and filename of an ASCII text
  295. file.  The text file identified by this line is one which you create
  296. listing all the pathnames, one on each line, that contain the zipfiles
  297. and GIFs to be included in the database.
  298.  
  299. PCBoard refers to this as the download path list and defaults to
  300. DLPATH.LST as the file name in PCB setup.  You can use that file to
  301. point to the complete bbs file directory if you are =not= using the
  302. index file feature in PCBoard 14.5a.  You can also use the freeware
  303. utility DIRTREE (by Mike Cocke, available on The Central Core BBS)
  304. to create this file.
  305.  
  306. There is no upper limit on the number of pathnames that can be
  307. processed.  It does not matter whether or not you've included the
  308. trailing backslash for each pathname.
  309.  
  310. To process a new collection of files into the ZDCS database, like
  311. those on a CD-ROM, just change either this line or the contents of the
  312. file to which it points.
  313.  
  314.  
  315. Line 2
  316. ------
  317.  
  318. This line is the complete drive, path and filename giving the location
  319. of the ZDCS database (ZDCS.NDX and ZDCS.DAT).  It makes no difference
  320. if you include the trailing backslash here or not.
  321.  
  322. You can put the ZDCS database in the same directory as the rest of the
  323. ZDCS files and programs, or you can decide to put it on a different
  324. drive or even across the network.  This was made possible because the
  325. database is the largest pair of files, and some sysops needed the
  326. flexibility of locating them on a drive with more spare room.  All the
  327. rest of the ZDCS files (such as the bbs ads, the allowed duplicates,
  328. and whatnot) are grouped together in the same directory with the
  329. executables.
  330.  
  331.  
  332. Line 3
  333. ------
  334.  
  335. This line is the complete drive, path and filename giving the location of
  336. the privileged user list file.  If you don't want to have any privileged
  337. users on your system, simply leave this line blank.
  338.  
  339. What's a privileged user?  Someone who can upload no wrong.  <grin>
  340. Whenever a file is uploaded by a user named on the privileged user list,
  341. the file is explicitly passed by ZDCS, no matter how many duplicates
  342. there might be in it.
  343.  
  344. Why would anyone want a privileged user?  This feature was added for a
  345. couple of sysops who wanted to pass specific files (beta code) to each
  346. other as part of unattended mail runs, and wanted those files
  347. automatically posted for public access instead of possibly held for later
  348. sysop review.
  349.  
  350. The format of the file containing the privileged user list is
  351. straightforward:  one name per line, ending each line with a CR/LF.  The
  352. list is not case sensitive.  There is no maximum number of names you may
  353. put in the privileged user list, but remember that if you make this a
  354. long list, ZDCS will take longer to check new uploads because it will
  355. have to check every name in this list.
  356.  
  357.  
  358. Line 4
  359. ------
  360.  
  361. This line is either the letter Y or the letter N.  It controls whether
  362. you want ZDCS to add the disposition line to the end of the upload
  363. description.  The disposition line shows the total number of files in an
  364. upload and the number of those that were duplicate files.  It is used
  365. when ZDCS declines an upload.  Here is a sample disposition line:
  366.  
  367.                ZDCS:  12  Duplicates /  12  files
  368.  
  369. The actual numbers will change depending on the file.
  370.  
  371. ZDCS has to be running in standalone mode for this, not with any of the
  372. gateways such as with Extest.  When ZDCS is running with a gateway, then
  373. the actual contents of this line are ignored by the program.  You still
  374. need to have the line present so the total line count doesn't fall off,
  375. but the line can contain anything as a placeholder because the
  376. information will be handled directly via the gateway.
  377.  
  378. This new feature was added by request.  Please note that you must be
  379. running PCBoard 14.5a in order to make use of it, and that the third
  380. command line parameter must be specified (ZDCSFC %1 %2 %3) in your
  381. PCBTEST.BAT file.  Otherwise, leave this fourth line of the config set
  382. to the letter N.
  383.  
  384.  
  385. Line 5
  386. ------
  387.  
  388. This line is either the letter Y or the letter N.  It controls whether
  389. you want ZDCS to truncate nulls from the end of "other" type files
  390. before performing any operations on them.  The truncation is actually
  391. done on a copy of the file and the original is left intact.
  392.  
  393. Nulls (ASCII 0) can be added to the end of a file by some transfer
  394. protocols (such as Ymodem) in order to make the entire file come out
  395. on a block segment.  Other protocols (such as Zmodem) do not add the
  396. null characters.  That would make the identical file uploaded by the
  397. two different protocols slightly different files by the time they
  398. arrived on your system.  If the nulls were included in the file
  399. contents when any calculation or comparison was done, it would look
  400. like two different files instead of the same file transferred by two
  401. different protocols.  Setting this line to the letter Y enables ZDCS
  402. to ignore those extra nulls.
  403.  
  404. The advantage of using this feature is increased accuracy when the
  405. same file is uploaded by different transfer protocols.  The
  406. disadvantage is that it adds a bit of time to the upload checking and
  407. database build operations.  The time is needed for ZDCS to create a
  408. temporary copy of the file in order to remove the exrta nulls, and
  409. again to delete that temporary file, leaving the original upload
  410. intact.
  411.  
  412.  
  413. Line 6
  414. ------
  415.  
  416. This line is an integer - that's a whole number, no decimals - between
  417. 0 and 100.  It sets the maximum percentage of dupes that your bbs will
  418. accept in an upload.
  419.  
  420. ZDCS will calculate the actual percentage of duplicates in the upload
  421. and compare it to your maximum percentage.  If the actual percentage
  422. is lower, the upload is accepted.  If the actual percentage is equal
  423. to or higher than the maximum you specified, the upload is declined
  424. and kept in your private upload directory for your review.
  425.  
  426. Setting the percentage to 100 effectively bypasses this filter, since
  427. it permits a duplicated GIF or a zipfile with nothing but duplicates
  428. to pass.  At the other extreme, setting the percentage to 0
  429. effectively requires that the uploaded GIFs and zipfiles have no
  430. duplicates at all.
  431.  
  432. If you make a mistake and enter a decimal on line 6, ZDCS will not
  433. crash.  It will simply truncate your number (lop off everything after
  434. the decimal point) and use the resulting integer as the maximum
  435. percentage of dupes.
  436.  
  437. This works out quite well in actual practice.  Uploads that are a
  438. fraction of a percent under the maximum percentage of duplicates are
  439. the only files where this makes any difference, and the use of
  440. truncating instead of rounding means that they will always be passed.
  441. IF ZDCS rounded the decimal points instead, there would be some
  442. uploads that would round up, making their actual percentage of dupes
  443. the same as the maximum value.  Such files are declined by ZDCS.
  444.  
  445. For more discussion of maximum and actual percentage of dupes,
  446. including an example of the above situation, please see the section on
  447. the upload file checker ZDCSFC in the manual.
  448.  
  449.  
  450. Line 7
  451. ------
  452.  
  453. This line is the complete drive, path and filename you want ZDCS to
  454. use for the log file created by the upload file checker ZDCSFC.  This
  455. log is an ASCII text file that contains information from the upload
  456. file checker ZDCSFC for each upload it has processed.  Each message
  457. about a specific upload includes the following:
  458.  
  459.      name of the uploaded zipfile or GIF
  460.      list of all component files inside a zipfile
  461.      which files are flagged as bbs ads
  462.      which files are marked as duplicates
  463.      reference to the file already in the database which is duped by
  464. the UL
  465.      which files are marked as allowed duplicates
  466.      actual percentage of dupes in the upload
  467.      whether the upload was accepted or declined
  468.  
  469. The fifth line in the list above is new in ZDCS 2.0.  It means that
  470. when a duplicate file is found in an upload, ZDCS will provide the
  471. reference to the zipfile or GIF containing the copy of that file which
  472. was already on the bbs.  It happened that callers who had uploaded
  473. files with lots of dupes were not always able to find where those
  474. files already existed on the system, often because files had been
  475. renamed.  Those callers sometimes pestered the sysop for this
  476. information, which wasn't always easy for the sysops to locate,
  477. either.  Now this reference is written directly to the upload checker
  478. log file The information includes the name of the zipfile or GIF and
  479. its pathnumber in the system.
  480.  
  481. If PCBOARD.SYS is in the current directory when the upload file
  482. checker is run, then the name of the currently logged caller is also
  483. included in the log file.
  484.  
  485.  
  486. Line 8
  487. ------
  488.  
  489. This line is either the letter Y or the letter N.  It controls the
  490. switch to tell ZDCS whether to delete bbs ads (Y) in an uploaded
  491. zipfile or to just flag them (N).  If you've decided not to enable any
  492. checking for bbs ads at all, just set this to N.
  493.  
  494.  
  495. Line 9
  496. ------
  497.  
  498. This line is either the letter Y or the letter N.  It controls whether
  499. you want ZDCS to delete all duplicate files from an upload (Y) or just
  500. flag them and leave them intact (N).
  501.  
  502.  
  503. Line 10
  504. -------
  505. This line is reserved for a single line of text by the sysop.  The
  506. contents of this line are appended to the PCBFAIL.TXT file whenever an
  507. upload is declined.  The caller who has just uploaded the declined
  508. file sees this line of text as a message on the screen.
  509.  
  510. This line is where you can express from 1 to 72 characters' worth of
  511. creativity.  Some callers have become quite fixated on the idea that
  512. "declined" is the same as "thrown out" - which is of course not true.
  513. You can use this line to tell the caller what has happened or will
  514. happpen with the upload.  One possible line to use is:
  515.  
  516.      Too many duplicate files - upload must be reviewed by sysop.
  517.  
  518. If you don't want to display any message to the caller, just place
  519. something innocuous like a period or even a blank space on this line.
  520. Just don't leave the line completely blank!  You also shouldn't use
  521. any quotation marks in this line.  You can make use of PCBoard
  522. @variables and &filespec to your heart's content;  both are fully
  523. supported here.
  524.  
  525.  
  526. Line 11
  527. -------
  528. This line contains the filename ZDCSFC.OUT and nothing else.  For all
  529. practical purposes, this line is planning for the future.
  530.  
  531. Technically, this line points to the name of an ASCII text file that
  532. will be created every time an upload is processed.  It's a spare copy
  533. of the ZDCS summary information that most upload checkers overwrite.
  534. ZPEND and some utilities-in-progress use it.
  535.  
  536. Leave this line set to ZDCSFC.OUT until further notice or features.
  537.  
  538.  
  539. Line 12
  540. -------
  541.  
  542. This line is the complete drive and pathname of a RAM drive that is
  543. available to ZDCS for certain types of processing work.
  544.  
  545. ZDCS can make use of a RAM drive to speed up the processing of
  546. embedded zipfiles.  It can also use the RAM drive to process "other"
  547. files if you set config line 5 to Y in order to truncate nulls.
  548.  
  549. The existance of the RAM drive is verified by ZDCS, but the amount of
  550. space available on it is not checked.  If you run out of space on the
  551. RAM drive while ZDCS is processing an upload, the upload will be
  552. declined.
  553.  
  554. If you do not want to use a RAM drive, leave this line blank.
  555.  
  556.  
  557. Line 13
  558. -------
  559.  
  560. The complete drive, path, and file specification for PKUNZIP.EXE -
  561. INCLUDING the extension (EXE)!  If you omit this or enter it
  562. incorrectly, you'll see a warning message in your ZDCSFC.LOG file
  563. explaining that embedded archives will not be processed.
  564.  
  565.  
  566. Line 14
  567. -------
  568.  
  569. The complete drive, path, and file specification for ARJ.EXE -
  570. INCLUDING the extension (EXE)!  If you omit this or enter it
  571. incorrectly, you'll see a warning message in your ZDCSFC.LOG file
  572. explaining that embedded archives will not be processed.
  573.  
  574.  
  575. Line 15
  576. -------
  577. This line consists of the single letter Y or N.  It controls whether
  578. ZDCS displays the one line "Registered to..." message after the board
  579. receives an upload (Y) or turns off the display of this message (N).
  580. Either way, the caller still sees the file by file breakdown of the
  581. upload and the status (duplicate, bbs ads, etc.) of each file.
  582.  
  583. This line is only recognized by the registered version of ZDCS.  It
  584. has no effect on the three line message displayed by the unregistered
  585. version.  It is also the only line of the configuration file that you
  586. can forget to include without causing major problems.  If the line is
  587. missing, ZDCS defaults to (Y) and displays the message.
  588.  
  589. This would probably be a fine time to wax poetical about the
  590. advantages of registration.  Instead, we'll just direct you to the
  591. section in this manual on registration for more information about
  592. that, and to the section on support for some of the reasons why.
  593. (Actions speak louder than words.)
  594.  
  595.  
  596.  
  597. STEP 3 - Create the initial database
  598. ------------------------------------
  599.  
  600. The next step after creating the configuration file is to create the
  601. initial database of CRC value values.  To do this, you simply run the
  602. database build program ZDCSDB.EXE.   Assuming that you have created
  603. the configuration file properly, there is nothing more to be done
  604. until this program finishes processing the files.
  605.  
  606. While ZDCSDB.EXE is running, the display points out that you may press
  607. the escape key at any time to abort.  This is the only safe way to
  608. abort the database build!  Ignore this warning and the chances are
  609. good that you will be rewarded with lost clusters on your hard disk.
  610. (This has been an official warning.)
  611.  
  612. There will also be other useful and esoteric bits of information on
  613. the screen, but you can read more about those in the reference manual
  614. ZDCS-REF.TXT.  The one that will probably interest you the most is on
  615. the very last line, right after the start time.  After the database
  616. build is complete, the end time appears here.
  617.  
  618. Usually you will be using ZDCSDB.EXE on a collection of files that
  619. have already passed a file integrity checker.  If for some reason this
  620. is not the case, you can still use ZDCSDB on those files by making use
  621. of the T (for Test) switch.  This slows the processing down
  622. tremendously.  It's really a better solution to use a file integrity
  623. checker to handle this duty, but ZDCSDB T is a workable alternative if
  624. you need it.
  625.  
  626. What happens when you use the T?  ZDCS determines whether the zipfile
  627. was made with PKZIP or with ARJ, and then sends out to the appropriate
  628. one to come in and test each zipfile.  Any one that is damaged is
  629. marked and not processed by the database builder.  GIF files are
  630. passed over, so they receive no file integrity checking at all.  The
  631. GIFs are still processed by ZDCS to add them to the database.
  632.  
  633. There is a log file called ZDCS-DBB.LOG created by the database build
  634. operation.  This is where you would find messages about corrupt
  635. zipfiles ZDCS encounters while trying to build the database, for
  636. example.  If you have any problems while running ZDCSDB.EXE, look in
  637. this log file for help in understanding what happened.
  638.  
  639. It is entirely likely that when you first create the initial database
  640. you will already have some duplicate files in your collection of
  641. zipfiles and GIFs.  To find out about them, use the database report
  642. generator ZDCSDR.EXE to generate a flat ASCII text file called ZDCS-
  643. DUP.LST.  This will create a three part report that is ready for
  644. viewing or printing.
  645.  
  646. Part one is a list of zipfiles or GIFs that are 100% duplicates of
  647. other files in the database.  Part two is a list of zipfiles that have
  648. some level of duplication, but also contain at least one non-
  649. duplicated file.  Part three is the complete list of all duplicate
  650. files in the database, including the name and CRC value of the
  651. duplicated file and the identity with full drive and pathname of the
  652. zipfile or GIF containing the dupe.
  653.  
  654. Note that no duplicate files are deleted by ZDCSDR.EXE when you create
  655. the initial database.  The list of duplicates, ZDCS-DUP.LST, can be
  656. used by the sysop to remove any duplicate files in the system.
  657.  
  658. After the sysop has cleaned up the file system and removed any
  659. duplicate files, it is possible to purge duplicate entries from the
  660. CRC database in order to reduce its size.  This is covered in the
  661. reference manual ZDCS-REF.TXT.
  662.  
  663.  
  664.  
  665. STEP 4 - Create the bbs ads database
  666. ------------------------------------
  667.  
  668. This step is optional.  You need it only if you want to flag and/or
  669. delete bbs ads from uploaded zipfiles.  If you want to complete the
  670. basic installation and do this step at a later date, that's fine too.
  671.  
  672. ZDCS doesn't quite have the intelligence to recognize a bbs ad unless
  673. you tell it which files to look for.  To do this, you have to create
  674. the bbs ads database.  This consists of a single file, ZDCS-BBA.NDX,
  675. which will be located in the same directory as the rest of the ZDCS
  676. files.
  677.  
  678. The easiest way to do this is to first collect all those nasty ads
  679. together and collect them up into one zipfile.  You can do this using
  680. either PKZIP or ARJ.  Use whatever name you like for the file;  this
  681. example is going to call it BBS-ADS.  Then run the program ZDCSBA.EXE
  682. from the directory containing all the ZDCS files.  The syntax (now 6%
  683. in NJ) is:
  684.  
  685.      ZDCSBA BBS-ADS.ZIP       or        ZDCSBA BBS-ADS.ARJ
  686.  
  687. (If you have used a different name for your collection of bbs ads,
  688. just use that name in place of BBS-ADS.)  The program will create the
  689. database files and you will be ready to flag or delete all that free
  690. advertising.  Whether or not you delete the bbs ads is controlled by
  691. line 8 of the configuration file.  You did read the section on setting
  692. up the configuration file, right?
  693.  
  694. If you want to create a new bbs ads database in the future, just
  695. delete the old bbs ads database file (ZDCS-BBA.NDX) and follow these
  696. same steps to create the new one.  If you don't delete the old
  697. database, then the new ads will be added to the old ones in the
  698. database, which is an easy way to add new bbs ads.
  699.  
  700. To make it even easier to include single ads as they come on the
  701. market, you can also run this program on an individual bbs ad, whether
  702. it is archiveded (with PKZIP or ARJ) or unarchived.  So, if a new bbs
  703. ad named HAPPY.BBS shows up, you can issue the command:
  704.  
  705.           ZDCSBA HAPPY.BBS
  706.  
  707. This will add HAPPY.BBS directly to the bbs ads database.
  708.  
  709. There are other ways of adding bbs ads to the bbs ads database, some
  710. of which don't even require you to have the original nuisance files on
  711. hand any more.  For more information about this, see the section in
  712. the technical reference manual on UPDATING THE BBS ADS DATABASE.
  713.  
  714. The variety of ways you can add new bbs ads to the database makes it
  715. easy to share information with other sysops and to catch new
  716. annoyances as they are foisted upon us.
  717.  
  718.  
  719.  
  720. STEP 5 - Create the list of allowed duplicates
  721. ----------------------------------------------
  722.  
  723. This step is also optional.  You need to do this only if you want ZDCS
  724. to recognize certain files as allowed duplicates.  Allowed duplicates
  725. were discussed in the section on ZDCS options earlier in this walk-
  726. through.
  727.  
  728. Allowed dupes are a special case.  They are not flagged as dupes when
  729. they are encountered by ZDCS;  they are also not considered "original"
  730. or non-dupe files.  They are transparent in any calculations,
  731. completely and utterly ignored.  They aren't even counted when
  732. reporting the number of files in the zipfile.
  733.  
  734. An example may make this clearer.  Suppose a zipfile had a total of 15
  735. files.  Two of those were allowed dupes, three were regular dupes, and
  736. one was a bbs ad.  ZDCS would report the following information:
  737.  
  738.           13   files in the zipfile
  739.            1   bbs ad
  740.            3   dupes
  741.           25%  dupes
  742.  
  743. The number of files in the zipfile would be 13 and not 15 because the
  744. two allowed dupes are excluded from all the calculations.  The
  745. percentage of dupes would be 25% (100% * 3/12) because the bbs ad,
  746. once identified, would not be part of the calculation of duplicate and
  747. original files.
  748.  
  749. Whether or not the option to recognize allowed dupes is enabled is
  750. controlled by the presence or absence of an ASCII text file called
  751. ZDCS.ADN in the ZDCS directory on your system.  This file is one that
  752. you create with any text editor to list all the files, one per line,
  753. that are allowed duplicates.  You can designate an allowed duplicate
  754. by either its file name or its CRC value.  You can even mix the two
  755. styles in the same file if you want to specify some files by name
  756. (like VALIDATE.DOC) and others by CRC value.
  757.  
  758. To specify an allowed duplicate by name, just type the dollar sign $
  759. followed immediately by the name of the file with its extension - no
  760. blank spaces in between.  This preserves a file with a distinctive
  761. name (like OMBUDSMN.ASP) even if it undergoes some revisions.
  762.  
  763. To specify an allowed file by its CRC value, type the pound sign #
  764. followed immediately by the CRC value for the file - no blank spaces
  765. in between.  If you don't know the CRC value offhand, you can get this
  766. information from either PKZIP or ARJ.  With PKZIP, type
  767.  
  768.           PKZIP -V <ZIP filename>
  769.  
  770. to give you the CRC values for each individual file inside the ZIP
  771. file.  With ARJ, type
  772.  
  773.           ARJ L <ARJ filename>
  774.  
  775. to give you the same CRC information.
  776.  
  777. The ZDCS.ADN file may be up to 256 lines long, but must contain no
  778. blank lines and no blank spaces.
  779.  
  780.  
  781.  
  782. STEP 6 - Set up the upload file check
  783. -------------------------------------
  784.  
  785. Almost done!  Now that you have created the ZDCS duplicate file
  786. database, all you need to do is get the bbs to check all uploaded
  787. zipfiles and GIFs from now on.  This will be done by processing the
  788. uploaded zipfiles and GIFs with the upload file checker ZDCSFC.EXE as
  789. the files are received.
  790.  
  791. ZDCSFC.EXE is the real-time upload file checker.  If the uploaded file
  792. was a GIF, ZDCSFC.EXE first calculates the CRC value for it.  Then it
  793. compares the CRC value of the uploaded zipfile or GIF against the ZDCS
  794. database and the bbs ads database (if you've created the bbs ads
  795. database, that is).  The results of this comparison are displayed file
  796. by file for the caller and logged into the ZDCSFC log file.  (Remember
  797. back on line 7 of the configuration file, when you specified the path
  798. and filename for this log?)
  799.  
  800. ZDCSFC.EXE calculates the actual percentage of duplicate files in the
  801. upload.  Since a GIF is a single file, it will either be 0% (not a
  802. dupe) or 100% (a dupe).  For zipfiles, this actual percentage can vary
  803. anywhere between 0 and 100.  ZDCSFC.EXE compares this actual
  804. percentage against the maximum percentage you set in line 6 of the
  805. configuration file.  (Boy, that configuration file is a handly little
  806. thing.)
  807.  
  808. If the actual percentage is lower than the maximum, the upload is
  809. accepted.   If the actual percentage is equal to or higher than the
  810. maximum you specified, the upload is declined.  The file is never lost
  811. or dumped!  PCBoard keeps these declined files in your private upload
  812. directory, where you can review them.
  813.  
  814. If you want to bypass this filter, set the percentage to 100.  This
  815. permits a duplicated GIF, or a zipfile with nothing but duplicates, to
  816. pass the filter and never be declined.  At the other extreme, you can
  817. set the percentage to 0.  This effectively requires that the uploaded
  818. GIFs and zipfiles have no duplicates at all, or they will be declined.
  819.  
  820. ZDCSFC.EXE also updates the ZDCS database with the CRC values of all
  821. uploads to keep your database current.  You do not have to do anything
  822. special to include this information in the database for comparisons
  823. with future uploads.
  824.  
  825. ZDCSFC.EXE does not modify the bbs ads database at all.  It's still
  826. not smart enough to recognize a bbs ad until you've pointed it out
  827. first - but it does remember them next time it sees them.
  828.  
  829. To process the new uploads with ZDCSFC.EXE, it must be called by the
  830. PCBTEST.BAT file of PCBoard or by your file integrity checker.
  831.  
  832. You may choose whichever file integrity checker you like best (or have
  833. already installed) to work with ZDCS.  You might find the integration
  834. between the two to be seamless, as with EXZTEST version 2.23 and the
  835. coming Xtest 3.0.  Even if the two aren't integrated, you can still
  836. call ZDCSFC after your file integrity checker has finished processing
  837. the upload, and ZDCS will take its turn on the file.  There are a
  838. couple of special utilities that smooth the meeting between various
  839. file integrity checkers and ZDCSFC.EXE.  You'll find more information
  840. on them in the technical reference manual, and the utilities
  841. themselves on The Bloom Beacon-Picayune BBS.
  842.  
  843. To use ZDCS with the file integrity checker of your choice (even if
  844. it's just PKZIP -T), there are a couple of things you need to include
  845. in the PCBTEST.BAT file.
  846.  
  847. First, it's highly recommended that you include the following three
  848. lines to clean out old copies of these files left over from processing
  849. other uploads:
  850.  
  851.                @IF EXIST PCBFAIL.TXT DEL PCBFAIL.TXT
  852.                @IF EXIST PCBPASS.TXT DEL PCBPASS.TXT
  853.                @IF EXIST ZDCS-DEL.LST DEL ZDCS-DEL.LST
  854.  
  855. Second, call your integrity file checker to process the upload.  (Your
  856. syntax may vary.)
  857.  
  858. Third, call ZDCSFC.EXE to check the upload.  The appropriate command
  859. is:
  860.  
  861.                ZDCSFC %1 %2 %3
  862.  
  863. The three parameters %1, %2 and %3 are provided by PCBoard 14.5a.  If
  864. you are using ZDCS on a different bbs or on a non-bbs application like
  865. CD-ROM mastering, check out the third party interface file for more
  866. information on how to handle this.  The file is available on The
  867. Bloom Beacon-Picayune as ZDCS-TPI.ZIP.
  868.  
  869. If you are running a version of PCBoard older than the May 22, 1991
  870. version 14.5a, PCBoard will provide only two parameters.  Since the
  871. third one is needed for pre-testing (and for the disposition line),
  872. that means you must not enable those features. Other than that, ZDCS
  873. should be OK on those older versions.
  874.  
  875. At the end of processing by ZDCSFC.EXE, you either have a new file
  876. called ZDCS-DEL.LST or you don't.  This file contains the list of
  877. individual files within an uploaded zipfile that are targeted for
  878. deletion.  If you haven't enabled any deletion of either duplicate
  879. files or bbs ads, this file won't be created.  Even if you have
  880. enabled one or both of these deletions, the file still won't be
  881. created unless the upload that was just processed had something to be
  882. deleted.
  883.  
  884. Fourth, if there are files to be deleted, then perform the deletion:
  885.  
  886.           IF EXIST ZDCS-DEL.LST PKZIP -D %1 @ZDCS-DEL.LST
  887.           IF EXIST ZDCS-DEL.LST ARJ D %1 !ZDCS-DEL.LST
  888.  
  889. If the zipfile was made with PKZIP, then the first line will take care
  890. of it and the second line will return an error message.  If the
  891. zipfile was created with ARJ, then the first line will return an error
  892. message and the second line will take care of the file.  The error
  893. message can be ignored;  it will not lock up your machine or halt the
  894. processing.
  895.  
  896. Note that the actual deletion is done by PKZIP or ARJ.  This is also
  897. the only time an existing AV stamp on an upload can be affected by
  898. ZDCS.
  899.  
  900. This concludes our tour of PCBTEST.BAT.
  901.  
  902. In addition to creating the required PCBPASS.TXT and PCBFAIL.TXT
  903. files, ZDCSFC.EXE also sets the DOS error level when it exits.  These
  904. levels are explained in the reference manual ZDCS-REF.TXT.
  905.  
  906.  
  907.  
  908. PRE-TESTING
  909. -----------
  910.  
  911. Callers have been enthusiastic about duplicate checking on a bbs file
  912. system - until they discover that the huge file they've just finished
  913. sending your bbs at 2400 baud is a set of complete duplicates.  Many
  914. of them asked for a way to pre-test an upload before actually
  915. transmitting the entire file.  ZDCS gives them this capability without
  916. requiring any ongoing handholding, explanations or help from the
  917. sysop.
  918.  
  919. Pre-testing is most valuable when it's simple enough that callers
  920. actually use it.  ZDCS pre-testing requires nothing that might tax a
  921. relatively novice uploader's skills.  There are no special files to
  922. download, no complicated operations to get right, no arcane rituals to
  923. perform.  All that your callers need is PKZIP and enough skill to
  924. upload a file.  (An alternate pre-testing method for systems using ARJ
  925. is in development but awaits the completion of the current ARJ beta
  926. cycle.)
  927.  
  928. There are four simple things for you to do so that ZDCS pre-testing
  929. runs smoothly on your bbs.
  930.  
  931. 1. Make sure that your board code is no earlier than PCBoard version
  932.    14.5a from May 22, 1991.  This and all subsequent versions of
  933.    PCBoard support ZDCS pre-testing.
  934.  
  935. 2. Confirm that the PCBTEST.BAT file contains the following line:
  936.  
  937.                   ZDCSFC %1 %2 %3
  938.  
  939.    You already set up the PCBTEST.BAT file as part of the ZDCS
  940.    installation.  Just check it one more time, OK?  If you've
  941.    inadvertently left out the third parameter, the pre-test will work
  942.    just fine for the first caller and will barf all over subsequent
  943.    callers, who will come complaining to you that their ZDCSTEST.CHK
  944.    is being called a duplicate!
  945.  
  946. 3. Make sure that *.CHK files may be uploaded to your bbs.  This is
  947.    done via the UPSEC file, part of PCBoard.  If you don't permit
  948.    callers to upload files with the .CHK extension, you've
  949.    effectively prevented them from using the pre-test feature.
  950.  
  951. 4. When you're ready, post the sample bulletin included in this
  952.    release of ZDCS to explain to callers what the pre-test feature is
  953.    all about.  The bulletin holds your callers' hands through the
  954.    whole process, which should take some of the load off you.  If
  955.    your bbs permits the uploading of ARJ, SFX or GIF files, you might
  956.    want to add those initials where you see ZIP in the bulletin.  A
  957.    ZIP-only bbs can use the canned bulletin right from the package.
  958.  
  959. If you track your callers' uploads and downloads, you might like to
  960. know that the ZDCSTEST.CHK will not count as an upload.  The bulletin
  961. mentions this little fact just in case some of your callers are a bit
  962. =too= enthusiastic about collecting upload credits.
  963.  
  964.  
  965.  
  966. THAT'S ALL, FOLKS!
  967. ------------------
  968.  
  969. That's all there is to it, and there ain't no more.  ZDCS is fully
  970. installed on your system.  If you want to fiddle with the options, go
  971. right ahead.  Most of them can be turned on or off with no more than a
  972. line change in the configuration file.
  973.  
  974. If you have more questions or are just curious about parts of ZDCS,
  975. take a look at the reference manual ZDCS-REF.TXT.  It has more
  976. excruciating and technical details than this walk-through does.
  977.  
  978. You will also find information about registration (ZDCS is reasonably
  979. priced shareware - $25.00), support, access to free utilities and
  980. accessories and a host of other goodies in the reference manual - even
  981. how to reach us with comments and suggestions.
  982.