dbSpace v1.5 - Read Me

Copyright
© 2000 Spaceout. All Rights Reserved.
Script: dbSpace v1.5
Email: chad@spaceout.com
Web: http://www.spaceout.com/dbspace

This program is being distributed as shareware. It may be used and modified free of charge for personal, academic or non-profit use, so long as this copyright notice and the header above remain intact. Any commercial use must be registered. Please send me an email and let me know where you're using this script.

The CGI and other scripts available from Spaceout are provided "as is" and without warranty of any kind, either express or implied. Neither Chad Smith nor Spaceout shall be liable for any direct, consequential, indirect, incidental, or special damages whatsoever, including without limitations, damages for loss of business profits, business interruption, loss of business information, and the like, arising out of the use of or the inability to use any script provided here.

Selling the code for this program without prior written consent is expressly forbidden. Obtain permission before redistributing this program over the Internet or in any other medium. In all cases copyright and header must remain intact.

Registration
dbSpace is being distributed as shareware. It is free for non-profit, academic or personal use. If you are a for-profit business then there is a one time $50.00 US registration fee. Please make checks payable to Chad Smith, and mail them to:

Chad Smith
P.O. Box 213
Placerville, CA 95667

Installation
1. Unzip the downloaded file using WinZip, PKZIP or any other .zip file utility. There should be four files included in the archive: dbspace.cgi, readme.html (this file), header.html and footer.html.
2. Open the dbspace.cgi file using any ASCII based text editor (Notepad will do) and set up the script configurations. Make sure you set the proper path to Perl in the first line. See the Configurations section below for details.
3. Upload (ftp) the file in ASCII mode to your cgi-bin directory and set the permissions of the file to make it executable (chmod 755).
4. You must make sure that the directory in which your data file and user file reside is writable (chmod 666 or 777). This is explained more in the Configurations section below.
5. You may now access the script through a web browser by using a direct link to the script's URL
http://www.yourdomain.com/cgi-bin/dbspace.cgi

Configurations
1. Set the path to the Perl interpreter. This is the first line in the dbspace.cgi file. The default (and most common) setting is: #!/usr/local/bin/perl
2. Specify your database fields in the @fields array. This should be done before any records are added to the database. No spaces can be used in the field names. Use an underscore(_) or dash(-) to show a space between words. For example: First_Name
3. Define the $index_of_url variable. If you would like the URL field to show up as a hyperlink in the search results, you must set this number to correspond with the URL fields placement in the @fields array described above. Remember to start counting at zero.
4. Define the $index_of_email variable. Same as above...using the email field of course.
5. Specify any required fields in the @required array. These fields must be filled out by the user before the record is added to the database. You may also leave this array empty.
6. Specify any words to be filtered out in the @filter array. The script will remove these words from being submitted to the database when a new record is being added. You may also leave this array empty.
7. Define $database. This is the name and path to the file that will hold your data. This file and the directory it resides in must be writable by the script. From the command line or an FTP client, use chmod 666 or 777 to set the file and/or directory to writable.
8. Define $script_name. This is the name of the script :)
9. Define $db_name. This is the name of the database that will appear on the top of every page if you use the script's built in HTML.
10. Define $table_width. This variable defines how much of the screen the database will take up in your browser window. You may use a percentage (80%) or use a set number of pixels (600).
11. Define $record_width. This variable defines how wide the record will be desplayed within the $table_width variable defined above. You may use a percentage (80%) or use a set number of pixels (600).
12. Define $max_rows_returned. This is how many records will be displayed per page of search results. If more records are found, there will be a "Next XX Records" button at the bottom of the search results.
13. Define $filter_html_tags. This variable will either enable or disable the ability for users to add simple HTML tags to the record entries. Set this to "yes" if you want HTML tags to be removed.
14. Define $user_file. This is the file name and path to where the user's information is stored if authentication is turned on. The passwords are encrypted before written to this file.
15. Define $check_user_duplicates. This should almost always be set to "yes". It makes sure that user names are unique.
16. Specify any additional information you would like to know about the users in the @extra_user_fields array. This will automatically add these fields to the user registration form.
17. Define $use_external_html. If you would like to create your own HTML header and footer files set this variable to "yes". Otherwise the script will use built in code. NOTE: There are two dynamic elements that you will want to add to your HTML code. One is the "title" and the other is the "message". Wherever you want the page title (such as Add A New Record) to appear, place %%title%% in your code. Wherever you want script generated messages (such as Record Added) to appear, place %%message%% in your code. You can see examples of this in the sample header and footer files that came with the downloaded archive.
18. Define $external_html_header. This is the file name and path to your HTML header file.
19. Define $external_html_footer. This is the file name and path to your HTML footer file.
20. Define $authenticate. This variable sets whether or not you want to prompt users for a user name and password. It will then "mark" each record in the database as to who added or modified the record.
21. Define $register. This will allow new users the ability to add their own user name and password to access the database.
22. Define $record_ownership. If this is set to "yes", only the user who adds a particular record can modify or delete that record. This will prevent people from tampering with other people's information.
23. Define $admin_user_name. This will be this initial user name set for the database administrator. It may be changed at any time. In your User Manager, be sure that the Administrator always has Search, Add, Modify and Delete permission.
24. Define default user permissions. When a new user registers to access the database, these are the permissions they are initially given. They can be changed at any time on a per user basis in the User Manager.

Revision History
Initial release - 01/05/2000
02/24/00 - BUG FIX: When searching on a criteria that gives more rows than the screen holds, the first results screen shows the first 10 matches. When the "View Next XX Records" button is pressed, the results screen brings up the first 10 records in the database and acts as if you did a search for all records. Thank you Bob Corson for locating the bug :)
02/24/00 - URL & Email Hyperlink: I added the ability to make a URL or email field display as a hyperlink within the search results.
03/22/00 - Hyperlink Fix: Modified the script to automatically add the http:// in front of the URL if the user didn't add it.
03/27/00 - Sorting Bug Fix: Fixed a minor bug found when sorting by a particular field. Thank you Roberto Rosenfeld for pointing this one out. Visit his site at http://www.travelsur.net/.
04/01/00 - dbSpace v1.5 Released: Fixed a minor bug and added Administrative capabilities which includes a User Manager.