Effrecipes A recipe database for the web, using python/CGI/MySQL. This software was started by Ben Collins-Sussman in February 2003, for his wife Frances (a.k.a. "Eff"). Therefore, the DB schema and software feature set is incredibly specific to Eff's needs. If you don't like it, too bad. This is the perk Frances gets from marrying a programmer. :-) Ben retains the copyright to this code, but license is GPL'd. See the file COPYING. For a complete list of authors, read the Subversion log messages. C. Mike Pilato helped design the db schema, and I'm guessing will undoubtedly make the web interface look beauuuuutiful with CSS stuff. Server Requirements =================== * At least MySQL 3.23 * At least Python 2.X * A webspace that can run CGI scripts How to Install ============== * Install a CGI-capable webserver, like Apache. * Install Python 2.0 or later. * Install MySQL 3.23 or later. * Unpack this tree somewhere. * Create a new 'effrecipes' database (and 'effuser') as root: $ mysql -u root -p < sql/init-database.sql * Initialize the 'effrecipes' database tables as user 'effuser': $ mysql -u effuser -p < sql/init-tables.sql Enter password: effuser * If you want to destroy the database and start over, run $ mysql -u root -p Enter password: XXXXX mysql> drop database effrecipes; Query OK * Put the CGI scripts in some CGI-exported web directory. (For my apache-2.0 httpd.conf, I did something like this:) AddHandler cgi-script .cgi Alias /recipes/ "/absolute/path/to/effrecipes/" Options ExecCGI FollowSymLinks * To start using the database, open this url in your browser: http://hostname/recipes/ Anatomy of Project ================== * SQL layer: ('sql' directory) init-database.sql : creates 'effrecipes' database and user init-tables.sql : creates tables * Python 'Object' Layer: ('object' directory) recipes.py : object classes, loadable/saveable from database * CGI Interface: ('cgi' directory) frontpage.cgi : Web UI, dynamically generated HTML and forms. edit_unit.cgi save_unit.cgi