[ CVS ]
Preface:
The macrophile web-page is a mix of dynamic and generated web-pages
that utilize an underlying set of code that was and is written by Bennie for the purpose of
making this a cohereant and seamless community-oriented site.
After much debate, it was chosen that it was in the best interest of
furthering the community to lift up the hood, so to speak, and allow folks
to view the ugly underpinnings and engine that runs this place if they are
so inclined.
General Information:
Macrophile.com is predominately authored in Perl making use largely of
it's Database interface (DBI), templating system (HTML::Template), HTML
authoring module (CGI), and it's Object Oriented routines.
Some sections of the site run with different programs that have been
altered or configured to work seamlessly with the rest. The best example
is that the disocussion
board is a program called Phorum, that is written in PHP and is freely
available. The other fragment is that the CVS repository web interface is
a piece of freeware as well.
More soon...
Directory structure
The code for the generation of this website resides (rather
appropriately) in the code/
directory.
Within that directory there are the following directories:
- cron/ - Where the scripts that run as cron jobs to do nightly
checking and updating reside.
- dbload/ - Where the source file for the non-dynamic pages are
and where they can be loaded into the database from, using the loader.pl
script.
- ftp/ - where the scripts that create the visual FTP-index
reside.
- main/ - where the scripts that preprocess and and assembled
all the final web pages for the site reside.
- tmpl-fix/ - where the scripts that hack the tempaltes design
into the other sections of the site (such as the discussion board)
reside.
Additionally there are the following files:
- Macro.pm - The big badass library that all of the scripts use
to interface the database and reduce code duplication.
- change.pl - A simple script I use to input new records into
the change log.
- cvsweb.cgi - The script that produces the visualized CVS
repository used throught this explanation.
- macrodb.sh - A simple shell script that dumps the database to
a file for backup.
- macrodb.sql - The flat-file dump of the database produced by
the script mentioned above.
- useradd.pl - A script to input new users and information into
the database for new folks who are on macrophile.com
more soon...
|