HFPM Home Page

Welcome to the HTML Form Processing Modules (HFPM) home page. I'm Jim Hoagland. Here you can find out about HFPM (legacy documentation) and pointers to related items.


HFPM is no longer available and is unsupported. It has been neglected for a long time (since around 1998) and now I have removed it from this site. However, I have kept the documentation here. While I think it was innovative in it's time, I'm sure there are better ways to things now. (Sorry SISR users.)

What were the HTML Form Processing Modules?

The HFPM were a set of modules that I wrote to accept a submitted HTML form, possibly modify the contents of the submitted fields, and output the result using e-mail, appending to a file, and/or displaying it to the user or returning an arbitrary URL. They also operated on the environmental variables passed in from the client and server.

These modules superseded and are based on Getcomments, a previous effort of mine. A degree of backwards compatibility is preserved and a script is available to convert forms that use Getcomments to ones that use the modules.


These modules conform to the CGI Filter/Module Interface. For most folks this just means that forms should be submitted to the Pipeline program (included in the distribution for convenience) and modules to be used and their arguments put in the "_pipeline" field, but programmers should look at this page if they are interested in writing their own modules.


Pipeline version 2.0 was released on 1/27/97 and is now included in the HFPM distribution.

An article about HFPM, CGI FPI, and Pipeline appeared in the July issue of WebSmith magazine. Check is out!

An online utility to make HFPM form setups is now available.

HFPM version 1.0 became available on February 3, 1996.

The Modules

There are 17 modules in the HFPM package:

What Do I Need To Run It?

To use the modules, you need a UNIX system with perl version 5 installed (find out how to get it at Metronet) and http server that you're able to put cgi-scripts on (you might need to talk to your server administrator about this).

How Do I Use HFPM?

A site needs some components to use HFPM:
    This script drives the execution of the modules.
    This perl module by Lincoln Stein is used by Pipeline.
    the modules themselves
    These perform the actual useful functions.
    any number of HTML forms with special hidden control fields set to submit to "pipeline.pl".
    The control fields tells Pipeline which modules to run and with what arguments. Pipeline and the modules are included in the distribution package.

    How can I Get the distribution?

    Do this once:
    1. The distribution is no longer available. But if it were...
    2. Type "tar -xvf hfpm.tar" at your prompt in the directory you saved it in.
    3. Decide where you want to store the HFPM information and modules. I recommend putting it where you normally keep downloaded software packages, with the modules being in the "modules" subdirectory.
    4. Move the hfpm directory to that location.
    5. Change to that directory.
    6. Install Pipeline and CGI.pm.

    Do this for each Getcomments form you wish to automatically convert:

    1. Run the gc2hfpm.pl script provided with the distribution on the form(s). I.e. run "gc2hfpm.pl comment-form.html".

    Do this for each form you wish to create from scratch:

    1. Make a form as indicated here.

    Getting Help

    If you have any questions that aren't answered by the online documentation, feel free to e-mail webmaster@hoagland.org for more information or with questions.

    Legal Stuff

    Here is some important legal notices and information about modifying and redistributing HFPM.

    Thats about it.
[Pipeline Home Page] [Jim's Home Page] [Please comment]
Copyright © by James Hoagland
www.hoagland.org | webmaster@hoagland.org
27 January 1997