====================
What is FAQ-O-Matic?
====================

The Faq-O-Matic is a CGI-based system that automates the process of
maintaining a FAQ (or Frequently Asked Questions list). It allows
visitors to your FAQ to take part in keeping it up-to-date. A
permission system also makes it useful as a help-desk application,
bug-tracking database, or documentation system.

This documentation itself is, naturally, maintained with Faq-O-Matic:

  http://www.dartmouth.edu/cgi-bin/cgiwrap/jonh/faq.pl

===============
Latest Version:
===============

Before you get in too deep, make sure you have the latest version
of the FAQ-O-Matic. Check the main website:

  http://www.dartmouth.edu/cgi-bin/cgiwrap/jonh/faq.pl

Especially the Administrators' Guide:

  http://www.dartmouth.edu/cgi-bin/cgiwrap/jonh/faq.pl?file=3

And check the FTP site for the most recent revision:

  ftp://ftp.cs.dartmouth.edu/pub/jonh/

===========
Quickstart:
===========

% perl Makefile.PL
% make
% make install
% mv fom /usr/local/etc/httpd/cgi-bin/fom
         (or wherever your CGIs live.)
% netscape http://localhost/cgi-bin/fom
  (or whatever browser you prefer)
           (or whatever the URL would be to execute the CGI)

* subscribe to faqomatic-users (see link to FOMFOM at bottom).

* add your Faq-O-Matic (a description is fine if it's not public) to
the List of Faqomatics (on the FOMFOM).

* send Jon a postcard, if you're feeling generous.

======================
Themes and Variations:
======================

* If you don't have the privilege to install the modules in an "official"
  place, tell Makefile.PL that before you start:

    % mkdir ~/user_perl
    % perl Makefile.PL PREFIX=~/user_perl
    % make
	...

* If your web server requires CGIs to have a certain suffix, simply
  rename the generated file "fom" to something like "fom.cgi":

	...
    % mv fom /usr/local/etc/httpd/cgi-bin/fom.cgi
    % netscape http://localhost/cgi-bin/fom.cgi

* If the user that CGIs run as can't write to the directory in which
  CGIs reside (a wise security move), create a writable meta/ directory
  (or a link to one) there in advance:

	...
    % mv fom /usr/local/etc/httpd/cgi-bin/fom
    % mkdir /usr/local/etc/httpd/cgi-bin/meta
    % chown nobody /usr/local/etc/httpd/cgi-bin/meta
    % netscape http://localhost/cgi-bin/fom
    
    or
    
	...
    % mv fom /usr/local/etc/httpd/cgi-bin/fom
    % mkdir /somewhere/else/meta
    % chown nobody /somewhere/else/meta
    % ln -s /somewhere/else/meta /usr/local/etc/httpd/cgi-bin/meta
    % netscape http://localhost/cgi-bin/fom

* If you'd rather not even put a link in that directory, modify the
  fom CGI stub to name the meta directly:

    % vi fom
    % cat fom
    #!/usr/local/bin/perl
    use Faq::Omatic::dispatch
    Faq::Omatic::dispatch::main('/somewhere/else/meta/');
	% mv fom ...

  Either of the above two techniques are also suitable for running
  multiple FAQ-O-Matics on one server. Keep in mind that if the FAQs
  are related, they should probably be kept together as one FAQ with
  a few main categories, so searches will search the entire lot.

============
Author Info:
============

	Jon Howell
	jonh@cs.dartmouth.edu
	http://www.cs.dartmouth.edu/~jonh