Installation and Usage
for LINKMATIC WEB DIRECTORY
This copy of LINKMAT.ZIP contains the latest revised
edition with all required files for a complete installation.
Revision Date: linkmat.zip - August 29, 1998
Copyright: 1996,1997,1998 by Joe DePasquale
This application is for Unix web servers running Perl 5.0 or higher.
Additional documentation is available at http://www.GetCruising/crypt
helpme.txt - How to install Perl scripts on a Unix server.
whatsnew.txt - Revision history for all 'CGI Scripts from the Crypt'.
Also visit the "Users' Self-Support Forum" to post questions and
answers, especially if you have some extra time, knowledge and
a desire to help some other poor lost souls!
THERE IS *NO* FREE *NOR* FEE-BASED TECHNICAL SUPPORT FOR THESE SCRIPTS!
Due to extremely limited time, E-Mail with technical support
questions WILL NOT BE ANSWERED! Please use the available resources
here and elsewhere on the WWW to solve problems.
E-Mail genuine bug reports to: firstname.lastname@example.org
WHAT IT DOES:
Maintains one or more databases of website links using a separate
directory for each database and its supporting files.
You can have up to 90 categories per database. Each database file
(link.dat) has one record per line, with 8 fields per record. Fields
are delimited by the pipe (|) symbol. The last field should contain
only the invisible end-of-line (\n) character.
Default field names are:
1. Website Title
5. E-Mail address
6. DateStamp (added by script)
7. End-of-Line (\n) character
All user input is done on one main page, which is dynamically generated.
Each time the script runs, it inserts your category information into
the template page (linktemp.html) and sends it to the browser.
User has a choice of searching for 'any' or 'all' search words entered.
Phrases enclosed in "quotes" can be searched. Sensitive or non-sensitive
case-matching can be done. User can choose 1 or more categories to
browse or can view new links added within the past month.
You select maximum links to show per page and maximum total matches.
Script mimics "Alta-Vista" behavior, using clickable pins for user to
move backward or forward through the other result pages.
Finally, user can request to add a new record to a pending file
(linkadd.dat). The script will convert ampersand (&), quote (") and
pipe (|) to the HTML equivalents (& " |) and will delete
carriage-returns, newlines, tabs, etc. It checks that a valid category,
URL and E-Mail format were entered. If accepted, manager receives an
E-Mail notice of how many new links are pending.
The manager module (linkman.pl), uses a table and form interface to
permit editing the text of the new links. Available commands are:
'Accept' - adds the link to the database, removes it from the
pending file and advises submitter by E-Mail.
'Delete' - removes it from the pending file without adding it to
'Ignore' - retains the new link in the pending file without
adding it to the database.
The active database is sorted whenever new links are added, and there
is a command option to sort it at any other time. To allow sorting in
simple case-insensitive ASCII order, the script will assign numbers
to your categories, starting from 10. The numbers are only used
internally to identify and sort the categories and records.
LINKMATIC uses the Perl 'flock' function to prevent simultaneous
changes (corruption) of data files.
1. SETUP YOUR FILES -
For each database, make a copy of 'link.cfg', 'link.dat',
'linktemp.html' and 'linkadd.dat'. You can keep them in separate
directories as you work on them so that you don't overwrite another
file with the same name by mistake.. or use temporary names until you
upload them. Remember to rename '.htm' as '.html'.
Edit each '.cfg' file using the included sample file for guidance.
Line 1 is the TITLE of the web directory. Line 2 is the <BODY> tag to
be used on results pages. Line 3 is the title shown on results pages.
Starting with line 4, fill in your category names one per line, for
up to 90 categories. Delete any stray blank lines. Save the file.
Following the example already in the 'link.dat' file and the field
names in 'WHAT IT DOES' above, enter all of your data records.
The category must be a 2-digit number starting at 10 and in the same
order as the category names in 'link.cfg'.
Optionally you can customize each 'linktemp.html'. When the script
reads the special comment lines that look something like
<!-- LINKMATIC YADDA YADDA --> it will insert the missing parts of
page. Be sure not to change or delete these lines. Otherwise you can
add any HTML text or graphics to the page. You can even leave it just
like it is!
2. CONFIGURE THE SCRIPT -
Open the main script file 'linkmat.cgi' in a text editor and
change the sample paths in the "CONFIGURE THE SCRIPT" section,
following the instructions found there.
3. UPLOAD FILES AND SET (CHMOD) PERMISSIONS -
The .gif's must be uploaded as BINARY files. All others are ASCII.
Place 'linkmat.cgi' (755) and 'linkman.pl' (755) into your cgi
Create a directory named 'linkmat' (755) and place 'pin-grn.gif' (644),
'pin-pur.gif' (644) and 'linkmat.pwd' (666) there.
Create a directory (755) for each database using the directory paths
and names you specified in 'linkmat.cgi' for the %Script variable.
Place each set of 'link.cfg' (644), 'link.dat' (666), 'link.flk (666),
'linkadd.dat' (666), 'linktemp.html' (644) files into the corresponding
HOW TO USE IT:
To run the main script from the web, enter the URL of the script
itself. This will cause the main page to load in the browser,
using your default database, ready for user to make a selection.
If you have configured LINKMATIC to use multiple databases, you
must append a 'query-string' to the URL. For example, in the
%HeadTitle variable, I used 'rails' as the keyword for 'Florida Rails
Web Directory'. Using 'script=rails' as the query-string starts the
script with the main page for the Florida Rails database.
To run the LINKMAN manager, use 'manager' as the query string. You
can optionally specify a database as in the 'script=rails' example,
but you will have the option to change databases anyway.
The response should be the password authorization form. The
initial password is 'password'. Of course you should change it soon
to something unique by entering a new password in the
'Change Password' box.
NOW .. Just DO IT!