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