mySiteMaker
mySiteMaker is a collection of CGI tools written in Perl that rapidly create web interfaces to MySQL or PostgreSQL database tables. It started out as a "Lite" version of phpMyAdmin, which may sound silly and pointless because phpMyAdmin is such a great tool for administrators, BUT sometimes phpMyAdmin is overkill; especially when you want a web front end to a database and the intended users are the general public and not administrators. Since its beginning, however, many, many useful features have been added that make mySiteMaker an entirely different beast.
- Web based configuration.
- Automatically generates Search, Results, Add and Edit HTML screens.
- The search screen is very simple, easy to use and does not require the user to have any knowledge of SQL.
- The user can select which columns they want to view or export.
- Searches can be based on the contents of files that the user can upload. For example, the user might have a list of employee numbers in a file and, instead of having to run a separate search for each number, they can just upload the file that contains the numbers.
- Searches can be refined by allowing searches within result sets. This effectively lets users append AND style clauses to their searches without complicating the user interface and without requiring the user to know SQL.
- Data can be viewed or exported in a variety of ways:
- as HTML pages
- as CSV text files
- as tab delimited text files
- as MS-Excel files
- as RSS
- The administrator may specify columns in the database that contain only URLs or email address and they will appear in the results screen as hyper-links.
- When combined with MySQL Import and MySQL Users, you can easily create a new on-line database from a simple spreadsheet in a matter of minutes. See the Tool Suite for an example.
- A great way to create a rough sketch of a web interface to a database which can then be easily customized to your specific needs.
For a list of added features and changes since mySiteMaker's initial release, check the CHANGELOG
http://www.itlab.musc.edu/mySiteMaker/
The latest version can be found at: ftp://ftp.itlab.musc.edu/pub/toolbox/mySiteMaker/.
Besides the obvious requirement of having a database,
MySQL or PostgreSQL
and a webserver
installed, mySiteMaker requires:
- DBI Module (DBI-1.13 or higher have been tested)
- HTML::Template
- CGI::Session
- DB_File
- Sys::Syslog
- DBD::mysql, if you are using mySQL
- DBD::Pg, if you are using PostgreSQL. PostgreSQL support is iffy right now.
The following are required if you want to be able to export CSV and Excel:
- Untar the tar.gz file:
shell> tar -xzvf mySiteMaker-X.X.tar.gz
- Change directories to the mySiteMaker-X.X directory:
shell> cd mySiteMaker-X.X
- Make the Makefile:
shell> perl Makefile.PL
- Make yourself root:
shell> su root
- Run the install script:
shell# make install
The install script will ask you several questions about where it should set
up and install files.
Once you install mySiteMaker, you can start using it by following the
link printed at the end of the install. This link usually looks like
this:
http://localhost/mySiteMaker/new_site.html
- See the FAQ for general concerns.
-
If, while using mySiteMaker, you are getting errors like:
ERROR 1045: Access denied for user: 'username@localhost' (Using password: YES)
then it is possible that the permissions on the MySQL server will
need to be configured to accept connections to the database you
want to make a front end for from the computer you installed
mySiteMaker on.
For mySiteMaker to work, you need to have a MySQL user that has
SELECT privileges for the table that you want to create a web
interface for. A simple, web-based, method for creating users with
limited permissions can be found at: MySQL Users.
- SECURITY NOTE: The usernames and passwords to do the
searches (not the adding or editing) are stored in text file in
WORLD READABLE text files in the cgi-bin directory. Thus,
you may want to make sure that the username and password that you
use for each database table has only SELECT privileges. Or make
them readable only to the Apache user, but that is a risk as well.
Web server security is not a focus of this document; please make
sure you know what you are doing.
If you run into a problem that you think might be a bug, feel free
let us know by filing
a bug report. mySiteMaker continues to improve through
help from users.