Metropoli BBS
VIEWER: tklfile.doc MODE: TEXT (CP437)
Tickle File -  Version 1.40
Written by Dan Shore
SysOp - The Shoreline BBS
Released January 29, 1996


1.  TKL.PPE - Tickle File - The main program
    ----------------------------------------

"Tickle File" is a program which maintains a personal database for each
user that accesses/uses "Tickle File".  This personal database can
contain up to 24 filenames with an optional 15 character description to
"Tickle" their memory.  Tickle a user's memory for what you ask?  Good
question.

Let's say you were on the BBS today and wanted to download a file, but
you did not have enough time or bytes remaining to perform the download.
You could then add this filename with a short description (to help
remind you what the file was) to your database, and next time you are on
the BBS you view your database, "Tickle" your memory, and get the
file(s) you wanted.

- What will the user see when Tickle File is invoked?


A.  When invoking Tickle File from a PCB Menu
    -----------------------------------------

When a user invokes Tickle File from a PCB Menu, they will be presented
with the following screen:

    ┌────────────────────────────────────────────────────────┐
    │  T I C K L E   F I L E - Tickle your memory for that   │
    │  Written by:             file you wanted to download   │
    │   Dan Shore              during a previous sesssion.   │
    ├────────────────────────────────────────────────────────┤
    │  A)dd..... Add new file(s) to your Tickle List         │
    │  D)elete.. Delete file(s) from your Tickle List        │
    │  F)lag.... Flag file(s) in Tickle List for downloading │
    │  H)elp.... Display this file                           │
    │  L)ist.... List all files in your Tickle List          │
    │  W)ipeOut. Wipeout (delete) your entire Tickle List    │
    └────────────────────────────────────────────────────────┘

  Command: A)dd,D)elete,E)dit,F)lag,H)elp,L)ist,W)ipeOut [ENTER] = Quit ?


I believe the choices are fairly intuitive, but the menu (which is
called "HELP") can be modified by the sysop for better
display/explaination.  (The reason it is called help, is due to the menu
only being shown when you first enter TKL.PPE.  By choosing "H", the
user can have it redisplayed at anytime).


B.  When "Tickle File" is invoked due to a violation (PCBText invokes
    the PPE), the user will see the following (this example will use
    PCBText number 159 for exceeding download daily byte limits -
    FILENAME.ZIP = 522,856 bytes)
    --------------------------------------------------------------------

 *──────────────────────────────────────────────────────────────────*
 Sorry, Dan, not enough bytes remaining to process (FILENAME.ZIP)

 Total Download bytes available  : 307,200
 Bytes used flagging files       : 522856
 Bytes used downloading files    : 0
 Bytes left for downloading files: 307,200

 Bulletin #19 explains security levels and access restrictions
 *──────────────────────────────────────────────────────────────────*

    You can add this file to your 'Filename Tickle List'

    A "Tickle List" is a personal database that can hold up to
    24 filenames, with an optional short 15 character description,
    to help "TICKLE" your memory for files you wanted to download
    on a previous day. (Use the "TF" command at the Main Menu to
    access your database)

    Just hit ENTER is you wish to bypass this feature....

    Add this file to your Tickle List (Y,[N]) ?


-  The first section (within the two lines) is "PCBT159" (which is
   modifiable by the SysOp) and can show whatever information you want
   to the user (Bulletin(s) to read, messages, etc.)  It is suggested
   you keep the first line of text, as it is the same text from the
   PCBText entry.

-  The second section is called "INFO" (which again is modifiable by the
   SysOp) and it helps explain what "Tickle File" is all about.  This
   file is displayed only when PCBText invokes the PPE.  Make sure to
   modify the file "INFO" to match the command you used in CMD.LST.
   (See section #2 below on installation)

If the user responds to this prompt with a "Yes", they will be asked if
they wish to add a short 15 character description to help them remember
the file they added to their database next time they were on.


2.  Installation:
    -------------


A.  Make a directory and unzip the entire contents of the archive into
    this directory. (I would recommend a directory structure where all
    your PPE's have their own directory located under a PPE directory.
    This of course is optional and entirely up to you)

B.  Add an entry to your CMD.LST file.  Here is an example:

    Note:  You can make your COMMAND anything you wish, TF just
           makes sense for "Tickle File"

                        Charges Per     PPE/MNU File Specification -or-
       Command    Sec  Minute    Use    Keystroke Substitution
   ══════════════ ═══ ═════════════════ ═════════════════════════════════
   TF               5        0        0 C:\PCB\PPE\TKL\TKL.PPE MENU

This entry is for a user to use Tickle File from one of your menus.

NOTE:  Make sure to adjust the security level to match your system

NOTE:  The "MENU" parameter instructs the PPE that you have entered the
       program via a command and not a violation (PCBText invokes the
       PPE when a violation occurs).

C.  Make changes to your PCBText file

You can run the batch file included in the archive (CHNGPCBT.BAT) to
change your PCBText file for you (automated way).  Make sure you run the
batch file from the same directory where your PCBTEXT file is located,
*OR* change the batch file to match the path to your PCBTEXT file (see
example below)

  MKPCBTXT PCBTEXT /I:138 "!C:\PCB\PPE\TKL\TKL.PPE @OPTEXT@ 138"

  MKPCBTXT C:\PCB\GEN\PCBTEXT /I:138 "!C:\PCB\PPE\TKL\TKL.PPE @OPTEXT@ 138"


You can also change your PCBText by hand.  The following will give you a
guideline for the changes which need to be done.

    NOTE: You need to pass TWO parameters
          (REQUIRED for proper operation):

    1. @OPTEXT@ for the filename
    2. The PCBText number

    NOTE:  Make sure to change the path of the PPE to match your system.

    Change PCBTEXT entry 138 to:
    !C:\PCB\PPE\TKL\TKL.PPE @OPTEXT@ 138

    Change PCBTEXT entry 159 to:
    !C:\PCB\PPE\TKL\TKL.PPE @OPTEXT@ 159

    Change PCBTEXT entry 555 to:
    !C:\PCB\PPE\TKL\TKL.PPE @OPTEXT@ 555

    Change PCBTEXT entry 668 to:
    !C:\PCB\PPE\TKL\TKL.PPE @OPTEXT@ 668

    Change PCBTEXT entry 669 to:
    !C:\PCB\PPE\TKL\TKL.PPE @OPTEXT@ 669

    Change PCBTEXT entry 670 to:
    !C:\PCB\PPE\TKL\TKL.PPE @OPTEXT@ 670

    Change PCBTEXT entry 674 to:
    !C:\PCB\PPE\TKL\TKL.PPE @OPTEXT@ 674

    Change PCBTEXT entry 675 to:
    !C:\PCB\PPE\TKL\TKL.PPE @OPTEXT@ 675

    *****************************************************************
    NOTE:  Make sure to REVIEW each PCBT???? file modifing any text
           in these files to match your system setup.
    *****************************************************************


D.  TKL.PPE Configuration File (Optional)

   There is a configuration file to use with TKL.PPE and it is called
   TKLx.CFG (x = conference number for which the configuration file will
   apply to).  The two lines of the configuration file is

   1.  (TRUE or FALSE) Check for file existance before adding the file
                       to the database.  If the file is being added by
                       PCBText invoking the PPE, then a file check is
                       not needed, since PCB already checked the files
                       existance.  If the user is adding a file
                       manually, then this parameter will determine
                       if the files existance is checked.
                       TRUE  = Check for files existance
                       FALSE = Do not check for files existance

  2.  (TRUE or FALSE)  Display the "Registered to:" prompt for registered
                       versions.  When set to TRUE, it will make TKL
                       appear seamless to PCBoard.
                       TRUE  = Display prompt
                       FALSE = Do not display prompt

                       **** This second parameter does not apply anymore
                            since the PPE is not free ****

       TKL0.CFG Example:

       TRUE   - Verify the files existance if user is entering files
       FALSE  - Do not show the "Registered to:" prompt


   This configuration file MUST reside in the same directory as TKL.PPE

   NOTE:  The configuration file in the above example would be for your
          MAIN conference, since it uses conference 0 (zero).  With this
          naming convention, you can have a configuration file for each
          conference and be able to handle each conferences own
          "DLPATH.LST".


   Why a configuration file for TKL.PPE?  When a user enters TKL from a
   PCB menu, and they choose the "A" option for adding files, TKL will
   check for the existence of the file before posting it to the database.

   If TKL is invoked due to a violation (PCBText invokes TKL.PPE) then
   PCB has already handled the task of verifying the file's existence,
   so TKL does not need to verify it.


E.  Files created by "Tickle File":

  The TKL.PPE program will create two files:

  1.  TICKLE.DBF - Database for the PPE
  2.  TICKLE.NDX - Index for the database (user name is indexed)

(The database will take up approximately 600-800 bytes for each user)

One thing you will notice when a new user is added to the database, a
prompt is displayed on the local screen saying:


    *** User record not found, adding new record ***


NOTE:  I recommend that you run TKL.PPE for the first time as a user or
       SysOp so the database and index files are created.



3.  EDITOR.PPE - SysOp tool to edit ANY user's
                 information in the database
                 -----------------------------

Installation of EDITOR.PPE:
---------------------------

A.  DOS Command Line to invoke EDITOR.PPE

       PCBoardM /PPE:C:\pcb\ppe\tkl\editor.ppe

   *** NOTE:  Use PCBoard or PCBoardM depending on which version
              you use for your BBS.  Also, change the path after
              the /PPE: command line option to reflect the proper
              path on your system for EDITOR.PPE

B.  Entry for your CMD.LST file to use the EDITOR on-line:

                        Charges Per     PPE/MNU File Specification -or-
       Command    Sec  Minute    Use    Keystroke Substitution
   ══════════════ ═══ ═════════════════ ═════════════════════════════════
   TKLEDIT        110        0        0 C:\PCB\PPE\TKL\EDITOR.PPE

   NOTE:  The security level should be high enough so that SysOp's and
          Co-SysOp's are the only people able to use this command.
          Remember that the EDITOR allows editing of ANY USERS
          INFORMATION, so access to this program should be limited.


C.  Using EDITOR.PPE:


   As you saw in section A and B above, you can execute the EDITOR two
   different ways, logged onto the BBS or from the DOS command line.
   When you start the EDITOR, you will be presented with the following:


             Tickle File Editor - Version 1.0


    How do you want to search for a User?

    A.    Enter string to search for a Username
    B.    Enter exact Username to search for
    C.    List current Usernames in database

    Enter Choice [ENTER] = Quit: ? ( )


    As you see you can search for a username with the exact name, part
    of a username (a string), or list the current users in the database.

    1.  If you choose choice "A" (string match search) you will be
        presented with the following prompt:

    Enter string to search for [ENTER] = quit? (                         )


    - Enter in the string you wish to search for, and the first username
      that matches will be presented to you as follows:

      Username Match : JOE USERNAME

      Search for another user (Y,[N]) ?

    If this is not the user you are searching for, hit "Y" then ENTER
    and the program will search for the next match.  If you do not
    wish to search for another user just hit ENTER, and you will be
    presented with the following:

      Show JOE USERNAME's list of files (Y,[N]) ?


    If you answer "Y", you will see that user's current files and their
    descriptions.


    2.  If using choice "B" (exact name match) you will be presented
        with the following prompt:

      Enter username to edit [ENTER] = quit? (                         )


    - Enter in the username you wish to search for.  If a name is found,
      you will be presented with the following:

      *** User found!! ***

      User Found: JOE USERNAME
      Show JOE USERNAME's list of files (Y,[N]) ?


    If you answer "Y", you will see the user's current files,
    descriptions and a command line with options as follows:

     ┌─────────────────────────────────────────────────────────────────┐
     │          List of filenames currently stored in Database         │
     └─────────────────────────────────────────────────────────────────┘
     Username associated with these files:  JOE USERNAME

          Filename      Description          Filename      Description
        ────────────  ───────────────      ────────────  ───────────────
     1.                                 2.
     3.                                 4.
     5.                                 6.
     7.                                 8.
     9.                                10.
    11.                                12.
    13.                                14.
    15.                                16.
    17.                                18.
    19.                                20.
    21.                                22.
    23.                                24.

    Command: A)dd,D)elete,E)dit,H)elp,L)ist,U)ser,W)ipeOut [ENTER] = Quit ?


    You will notice that the command options are the same as the options
    presented to a user in TKL.PPE, execpt there is one additional
    option, "U", for getting back to the original menu "USRMENU" you
    encountered when EDITOR.PPE first starts.

    3.  If using choice "C" (listing usernames) you will be presented
        with a two column listing of usernames, numbered for easier
        count of total users.


D.  EDITOR.PPE Configuration File

    There is a configuration file to use with EDITOR.PPE and it is
    called TKLx.CFG (x = conference number for which the configuration
    file will apply to).  The two lines of the configuration file is

    1.  (TRUE or FALSE) Check for file existance before adding the file
                        to the database.  If the file is being added by
                        PCBText invoking the PPE, then a file check is
                        not needed, since PCB already checked the files
                        existance.  If the user is adding a file
                        manually, then this parameter will determine
                        if the files existance is checked.
                        TRUE  = Check for files existance
                        FALSE = Do not check for files existance

   2.  (TRUE or FALSE)  Display the "Registered to:" prompt for registered
                        versions.  When set to TRUE, it will make TKL
                        appear seamless to PCBoard.
                        TRUE  = Show prompt
                        FALSE = Do not show prompt

                       **** This second parameter does not apply anymore
                            since the PPE is not free ****

       TKL0.CFG

       TRUE   - Verify the files existance if user is entering files
       FALSE  - Do not show the "Registered to:" prompt



   NOTE:  This configuration file is the same one used for TKL.PPE


   Configuration file MUST reside in the same directory as EDITOR.PPE

   NOTE:  The configuration file in the above example would be for your
          MAIN conference, since it uses conference 0 (zero).


   Why a configuration file for EDITOR.PPE?  When using EDITOR and you
   choose the "A" option for adding files, EDITOR will check for the
   existence of the file before posting it to the database.  If the


4.  TKLPACK.PPE - SysOp tool for packing the TICKLE.DBF database
                  ----------------------------------------------

Installation of TKLPACK.PPE:
----------------------------

A.  DOS Command Line to invoke TKLPACK.PPE

       PCBoardM /PPE:C:\pcb\ppe\tkl\tklpack.ppe

   *** NOTE:  Use PCBoard or PCBoardM depending on which version
              you use for your BBS.  Also, change the path after
              the /PPE: command line option to reflect the proper
              path on your system for TKLPACK.PPE

      THIS IS THE RECOMMENDED WAY TO RUN TKLPACK.PPE - You can
      create a batch file with this command line and run the
      batch file "AFTER" you have packed your users file.

   *********************************************************************
   *  We do not recommend running TKLPACK.PPE on-line but it is an     *
   *  available option if you wish to use it.  TKLPACK will "LOCK"     *
   *  the database denying access to it while the packing process is   *
   *  executing.                                                       *
   *********************************************************************

B.  Entry for your CMD.LST file to use TKLPACK on-line:

                        Charges Per     PPE/MNU File Specification -or-
       Command    Sec  Minute    Use    Keystroke Substitution
   ══════════════ ═══ ═════════════════ ═════════════════════════════════
   TKLPACK        110        0        0 C:\PCB\PPE\TKL\TKLPACK.PPE

   The security level should be high enough so that SysOp's and
   Co-SysOp's are the only people able to use this command.


C.  TKLPACK.CFG file

   The configuration file for TKLPACK.PPE is called TKLPACK.CFG and it
   must reside in the same directory as TKLPACK.PPE.  The configuration
   file can have one or two lines in it (line one is MANDATORY while
   line 2 is optional)

   Line #1:  The path and directory where your PCBNDX.? files are located.
             These files are the indexes for the PCB USERS file.  (The
             files are PCBNDX.A thru PCBNDX.Z)

   An example of an entry would be:

   C:\PCB\MAIN

   Line #2:  If this entry is TRUE then TKLPACK will purge all users
             that have no files in their database.

   An example using both lines in config would be:

   C:\PCB\MAIN
   TRUE

   NOTE:  If you only have one line in your TKLPACK.CFG then only users
          that are no longer on the BBS will be purged and the users
          with no files in the database will remain.  In order for
          users with no files to be purged, you HAVE TO use the
          LINE #2 entry with the word TRUE.


D.  When do I run TKLPACK.PPE?

   You only need to run TKLPACK.PPE "AFTER" you have packed your users
   file.  But it can be run at anytime to help keep the database file
   size as small as possible (see the second note item below)

   NOTE:  You do not have to run TKLPACK.PPE after each pack of your PCB
          users file.  It is recommended that you do run it after
          packing to keep the size of your database as small as it needs
          to be.

   NOTE:  If you run TKLPACK using the second line of the configuration
          file set to TRUE, then you can keep your database file down
          to as small as possible (since the only users in the database
          are the ones who have files in it).


E.  TKLPACK.PPE Logging

   TKLPACK.PPE creates its own log file called TKLPACK.LOG and it
   resides in the same directory as the PPE.  In this log you will
   see:

   ========================================================================

   Tickle File Packing Program - Version 1.0
   Written by Dan Shore - SysOp - The Shoreline BBS

         Date of Pack : 01-03-95
   Start Time of Pack : 19:54:52

   Processing Username: JILL USERNAME            Current User - Not Deleted
   Processing Username: JOE USERNAME             Current User - Not Deleted
   Processing Username: JOHN USERNAME            Current User - Not Deleted
   Processing Username: JIM USERNAME             Current User - Not Deleted

   Total Number of Records in Database Before Pack : 99
   Total Number of Records in Database After Pack  : 99

   Total Users Deleted : 0
        Time Completed : 19:55:02

   (Most of the names were removed to save space in the above example
    BUT 99 names were processed in 10 seconds)


   NOTE:  TKLPACK.PPE will write to this file in APPEND mode, meaning
          that if the file already exists, the next packing information
          will be appended to the end of the existing file.


F.  Why does "Tickle File" need a packer and what does it do?

   When a user is entered into the database, it will take up approx.
   600-800 bytes of disk space.  If this user is no longer on your BBS,
   due to being deleted by packing your PCB USERS file, then you will
   want to remove that name from the "Tickle File" database as well.

   The packer does the following:

   1.  Makes a backup copy of your TICKLE.DBF and TICKLE.NDX and
       names them:  TICKLE.DBK and TICKLE.NDK
   2.  Opens up the TKLPACK.LOG file in append mode
   3.  Reads a username from the database and checks to see if the
       username exists in the PCB index file.
   4.  If the user exists, the packer goes on to the next username in
       the database.
   5.  If the user does not exist in the PCB index, the database record
       is flagged for deletion and the packer moves on to the next
       username in the database.
   6.  After processing all the records in the database, the database is
       then packed.  Records that were flagged during the above process
       are deleted along with deletion of the username in TICKLE.NDX


5.  TKLTEXT
    -------

All text displayed by TKL.PPE, EDITOR.PPE, and TKLPACK.PPE are contained
in an external file called TKLTEXT.

NOTE:  This file MUST reside in the same directory as the PPE's

You can modify this text and the color codes anyway you wish.  For
proper operation of the programs, do not move any lines in the file to
other locations otherwise display of prompts will be incorrect.


6.  REPORT.PPE - SysOp tool for dumping all information in
                 the database to an ASCII file
                 -----------------------------------------

Installation of REPORT.PPE:
---------------------------

A.  DOS Command Line to invoke REPORT.PPE

       PCBoardM /PPE:C:\pcb\ppe\tkl\report.ppe

   *** NOTE:  Use PCBoard or PCBoardM depending on which version
              you use for your BBS.  Also, change the path after
              the /PPE: command line option to reflect the proper
              path on your system for REPORT.PPE



B.  Entry for your CMD.LST file to use REPORT on-line:

                        Charges Per     PPE/MNU File Specification -or-
       Command    Sec  Minute    Use    Keystroke Substitution
   ══════════════ ═══ ═════════════════ ═════════════════════════════════
   REPORT         110        0        0 C:\PCB\PPE\TKL\REPORT.PPE

   The security level should be high enough so that SysOp's and
   Co-SysOp's are the only people able to use this command.


C.  Output file from REPORT.PPE

   When you run REPORT, it will create a file in the same directory where
   REPORT.PPE is located and it is called:  TKLREPRT.LOG

   *** If the file already exists, it will be written to in APPEND mode ***


   This report will show:

     1.  Each user in the database
     2.  If the user has files, the filenames and descriptions
     3.  If the user does not have files, this is noted
     4.  A "Summary Section" of users and files in the database
         at the end of the report


   Here is an example of how the report looks:


   ----------------------------------------------------
   REPORT.PPE - A 'Tickle File' Database Report Program

             Written by:  Dan Shore - SysOp
                          The Shoreline BBS

             Copyright 1995 (c) - Dan Shore

   ----------------------------------------------------------------------
   Joe Username has these files in their database:

    1.  SETTLERS.ZIP                   2.  MDMWZ303.ZIP


   ----------------------------------------------------------------------
   Jim Username has these files in their database:

    1.  WINLAVA.ZIP

   ----------------------------------------------------------------------
   John Username has no files in their database

   ----------------------------------------------------------------------

        ************************************************************

                   'Tickle File' Statistics Summary Report


                            Total Users in Database : 52
                            Total Files in Database : 103
                 Total Users with Files in Database : 51
              Total Users without Files in Database : 1
              Files Per User with Files in Database : 2.019608

        ************************************************************


7.  Kudos, backslapping, fanfare, etc.
    ----------------------------------

Thanks to:

   Tom Hansen of Church Chatters BBS (402) 593-8863 (shut down)
   John Palazzolo of JP's Place      (703) 237-5786
   Walter Ames of The GreyHawk BBS   (410) 720-5083



8.  Registration of "Tickle File"
    -----------------------------

    Tickle File is now FREE.  If you really like what we have done with
    this program consider sending a donation of say $5 - $10 to "spur"
    me on to write more great programs....

    But usually when something is FREE, people do not feel they have to
    send anything....And this is correct...you do not...but :) getting
    some donations really helps when I consider writing more utilities
    for PCBoard SysOps.


Node 1 :   301-946-2771  v.32/bis
Node 2 :   301-946-4202  v.Everything


Mail Donations to:     Dan Shore
                       THE SHORELINE BBS
                       4312 Ferrara Court
                       Silver Spring, MD  20906

Make checks payable to:  Dan Shore


I hope you and your users enjoy the program.


9.  Warranty & Disclaimer:
    ----------------------

THIS PRODUCT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE RESULTS AND PERFORMANCE OF THE
PROGRAM IS ASSUMED BY YOU.  FURTHERMORE, I THE AUTHOR DO NOT WARRANT,
GUARANTEE, OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF OR THE
RESULTS OF THE USE OF THE PROGRAM, OR THAT THE PROGRAM WILL RUN WITHOUT
ERROR, AND YOU RELY ON THE PROGRAM AND RESULTS SOLELY AT YOUR OWN RISK.
I THE AUTHOR CANNOT ACCEPT RESPONSIBILITY FOR SYSTEM DAMAGE, LOSS OF
PROFIT, OR ANY OTHER SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
RESULTING FROM THE USE OR INABILITY TO USE THIS PRODUCT.


10.  Conclusion:
     -----------

This archive has been zipped with an authenticity verification stamp.
When you unzip this archive you should see at the end:

       Authentic files Verified!   # MMJ131
       THE SHORELINE BBS

If you do not see this, then the file has either been tampered with or
has been rezipped by an upload processor.  The latest version is
available on my BBS, Salt Air or can be FREQed from my BBS with the
magic name of TICKLE if you are in doubt and want a copy of the "real
thing"

If you have any questions, comments, suggestions, etc. please feel free
to contact me via NetMail, the PCBoard or the PCBNet conferece in FIDO,
or the PPL conference on RIME.


Dan Shore                  (301) 946-2771 - Node 1 (public access)
The Shoreline BBS          (301) 946-4202 - Node 2 (subscribers)
4312 Ferrara Court          Fido Address  - 1:109/458
Silver Spring, MD 20906     RIME Address  - #1205 or SHORELINE


[ RETURN TO DIRECTORY ]