# ==================================================================
# MySQLMan - web based MySQL manager.
#
#   Website  : http://gossamer-threads.com/
#   Support  : http://gossamer-threads.com/scripts/support/
#   CVS Info : 087,071,086,086,085      
#   Revision : $Id: README,v 1.4 2002/01/04 01:39:53 alex Exp $
# 
# Copyright (c) 2000 Gossamer Threads Inc.  All Rights Reserved.
# Redistribution in part or in whole strictly prohibited.
# ==================================================================
#
# COPYRIGHT NOTICE:
#
# Copyright 2000 Gossamer Threads Inc.  All Rights Reserved.
#
# 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 should be registered.  Please also send me an email,
# and let me know where you are using this script. By using this program 
# you agree to indemnify Gossamer Threads Inc. from any liability.
#
# 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.
#
# Please check the README file for full details on registration.
# =====================================================================

Revision History:
    Jan 2, 2002: Version 1.09 Released
                - Previous versions where bug fixes only released inside Links
                  SQL and Gossamer Mail
                - Fixes template path problems many people have had.
    Dec 28, 2000: Version 1.05 Released
		- queries can now be saved in the SQL Monitor
		- results of searches/browse can now be dumped to a file
		  or to a screen.
		- revamped to use GT libs, and removed CGI.pm use

    Aug 31, 2000: version 1.04 Released
		- made if possible to save results from browse/search(select) 
		  to a delimited file.
		- save query option implemented in SQL monitor
                - modified insert so that the script supports older 
                  versions of mySQL as well.
                - made it optional to hide fields with type TIMESTAMP
                - made it optional to confirm delete action
                  when deleting a single record.
                - on the INSERT form, if the column type is a TEXT/BLOB, 
                  <TEXTAREA> form is used instead of a regular input type.

    Aug 23, 2000: version 1.03 Released
                - modified fields select feature to import/export.
                - added local import.
                - added export to screen.
                - made SQL monitor capable of reading local files.
                - comments allowed in SQL Monitor.
                - help documents available.
                - tab-index added to insert record form.
                - field order selection when adding fields.
                - if a database names is needed for connections, then 
                  the user will be prompted to enter a database name 
                  for connection.
    
    July 07, 2000: version 1.02 Released
                - added direct link to database specified in config file.
                - added SQL Dump
                - added fields select feature to import/export.
                - fixed bugs in table properties/insert new records.

    May 19, 2000: version 1.01 Released
                - Fixed login bug that returns incorrect "back" link.
                - Made MySQLMan dirctory automatically stored in @INC.
                - Made $script_url in mysql.cfg set to MySQLMan directory
                  automatically.

    May 16, 2000: Version 1.0 Released

TABLE OF CONTENTS

    1. Welcome
        1.1 About the Script
        1.2 Registration
    2. Installation
    3. Customizing the look.
    4. Problems

1. Welcome
----------------------------------------------------
MySQLMan is a web based database manager. It allows you to 
perform common maintenance and administration tasks in Mysql 
(Mysql is a great mostly-free SQL database server). MySQLMan 
was based off of PHPmyadmin, but written in Perl. It allows 
you to do common tasks like:

     - browse/create/drop databases 
     - browse/search/create/drop/alter tables 
     - import/export/dump data 
     - add/remove/alter table columns 
     - adsd/remove/alter table keys

1.1 Registration

MySQLMan is free to download, modify and use, however you 
are not allowed to redistribute MySQLMan in any form without 
prior written consent. Also, you are not allowed to remove the 
MySQLMan link.  
        
We ask that if you use MySQLMan, please let us know at:

        http://www.gossamer-threads.com/scripts/register/.

2. Installation
----------------------------------------------------
You should find the following files in the archive (mysql)
and they should have the following permissions


Files:
----------
   mysql.cgi                (755)       -rwxr-xr-x
   html.pl                  (644)       -rw-r--r--
   mysql.cfg                (644)       -rw-r--r--
   bases.pm                 (644)       -rw-r--r--
   constants.pm             (644)       -rw-r--r--
   GT/		            (755)       -rwxr-xr-x
   GT/*                     (644)       -rw-r--r--
   README.txt               (644)       -rw-r--r--


Directory:
----------
templates             (755)       -rwxr-xr-x
                            
   alter_col.html           (644)       -rw-r--r--
   confirm.html             (644)       -rw-r--r--
   create_field.txt         (644)       -rw-r--r--
   create_table.html        (644)       -rw-r--r--
   database.html            (644)       -rw-r--r--
   demo_prompt.html         (644)       -rw-r--r--
   edit.html                (644)       -rw-r--r--
   fields_selection.txt     (644)       -rw-r--r--
   functions.txt            (644)       -rw-r--r--
   header.txt               (644)       -rw-r--r--
   insert.html              (644)       -rw-r--r--
   login.html               (644)       -rw-r--r--
   login_back.html          (644)       -rw-r--r--
   logout.html              (644)       -rw-r--r--
   message.txt              (644)       -rw-r--r--
   op_add_fields.html       (644)       -rw-r--r--
   op_create_db.html        (644)       -rw-r--r--
   op_create_table.html     (644)       -rw-r--r--
   op_export.html           (644)       -rw-r--r--
   op_import.html           (644)       -rw-r--r--
   op_mysqldump.html        (644)       -rw-r--r--
   op_rename_table.html     (644)       -rw-r--r--
   op_sql_monitor.html      (644)       -rw-r--r--
   page_jump.txt            (644)       -rw-r--r--
   property.html            (644)       -rw-r--r--
   sqlerr.html              (644)       -rw-r--r--
   table.html               (644)       -rw-r--r--
   table_browse.html        (644)       -rw-r--r--
   table_select.html        (644)       -rw-r--r--

help                  (755)       -rwxr-xr-x

(MySQLMan HTML help pages.  You may need to save the 2 .jpg 
files outside of the cgi-bin and change help_column_def.html 
and help_insert.html accordingly.)

   help_add_col.html        (644)       -rw-r--r--
   help_browse.html         (644)       -rw-r--r--
   help_column_def.html     (644)       -rw-r--r--
   help_confirm.html        (644)       -rw-r--r--   
   help_create_db.html      (644)       -rw-r--r--
   help_create_table.html   (644)       -rw-r--r--
   help_db_list.html        (644)       -rw-r--r--
   help_demo.html           (644)       -rw-r--r--
   help_edit.html           (644)       -rw-r--r--
   help_edit_col_def.html   (644)       -rw-r--r--
   help_export.html         (644)       -rw-r--r--
   help_home.html           (644)       -rw-r--r--
   help_import.html         (644)       -rw-r--r--
   help_insert.html         (644)       -rw-r--r--
   help_login.html          (644)       -rw-r--r--
   help_login_back.html     (644)       -rw-r--r--
   help_login_dbname.html   (644)       -rw-r--r--
   help_logout.html         (644)       -rw-r--r--
   help_no_page.html        (644)       -rw-r--r--
   help_properties.html     (644)       -rw-r--r--
   help_rename.html         (644)       -rw-r--r--
   help_select.html         (644)       -rw-r--r--
   help_sql_dump.html       (644)       -rw-r--r--
   help_sql_monitor.html    (644)       -rw-r--r--
   help_sqlerr.html         (644)       -rw-r--r--
   help_table_list.html     (644)       -rw-r--r--
   help_toolbar.html        (644)       -rw-r--r--

   col_def.jpg              (644)       -rw-r--r-- 
   insert.jpg               (644)       -rw-r--r--



The only file that should be accessible from the net is mysql.cgi. 
All requests to the script will go through mysql.cgi.

Make sure you edit mysql.cgi and check that the path to perl points to
Perl 5.003 or better.

Edit mysql.cfg and set "script_url" in %config to the URL 
that mysql.cgi resides in.  Please note that you may leave it as
"mysql.cgi" to make the path relative.

Now you can open your browser and go the the URL where mysql.cgi resides 
in to run the script.

NOTE:
i. For all other options available in MySQLMan, please refer to the 
config file mysql.cfg.
 
ii. All files in the "templates" directory are used for displaying HTML pages.
Please refer to section 3 "Customizing the look" of this readme file 
for detail.

iii. All files in the "help" directory are HTML pages for MySQLMan.

3. Customizing the look
------------------------
  alter_col.html         - Change field/column specification page.
  confirm.html           - Confirm action page.
  create_table.html      - Lets the user to construct the specificaitons.
                           of fields/columns of the new table being created.
  database.html          - List the databases in MySQL.
  demo_prompt.html       - The demo message prompted in demo mode.
  edit.html              - Edit record page.
  insert.html            - Insert new record.
  login.html             - The log-in page.
  login_back.html        - The feedback page when a new login info is entered.
  logout.html            - Displays logout message.
  op_add_fields.html     - Prompts the user the number of new fields to be added.
  op_create_db.html      - Prompts the user for a name for the new database to be created.
  op_create_table.html   - Prompts the user for a name for the new table to be created
                           and the number of columns in the new table.
  op_export.html         - Displays the input fields for export.
  op_import.html         - Displays the input fields for import.
  op_mysqldump.html      - Displays the input fields for SQL Dump.
  op_rename_table.html   - Prompts the user for a new name for the current table.
  op_sql_monitor.html    - Displays the SQL Monitor text box.
  property.html          - Display the property table of the current table.
  sqlerr.html            - Displays error message.
  table.html             - Displays the list of tables in the database chosen.
  table_browse.html      - Search page that allows the user to compose a SELECT query.
  table_select.html      - This will display the result of any query that requires 
                           records to be displayed.
                         
  create_field.txt       - Sets up the input fields used when adding/updating columns
                           in a table.
  fields_selection.txt   - field selection (select lists) for import/export.
  functions.txt          - The list of functions that are available when inserting/editing
                           a record.
  header.txt             - The header of each page (menu bar)
  message.txt            - Feedback message of each action performed.
  page_jump.txt          - Input text field that takes the user to the page specified 
                           in the field when viewing the the records in a table.

MySQLMan is template based.  html.pl is used together with GT_Base.pl 
and GT_Template to substitude variables in the templates with real 
values.  Variables in the templates are in the form <%variable_name%>.  
For more detailed usage of GT_Templates please refer to the bottom of 
GT_Templates.pm.        

Each page in MySQLMan is saved as HTML pages.  Therefore, if you are 
comfortable with HTML tags, it should be a breeze to change the look to 
the way you like it to be.  Values are passed into the page where the 
variables are located.  As a result, all you need to do to change the 
look is to move the variables around or remove them if you don't 
want them to be displayed.  

However, all of the tables generated by the script is created in mysql.cgi.  
If you would like to change the layout of the tables, then you will have go 
through the functions where the tables are created.


4. Problems
----------------------------------------------------
If you have any problems during the setup, please visit the support
forum of our website at:

    http://www.gossamer-threads.com/perl/forum/

Good Luck!

Alex
