iForm is a program that you use to serve and process HTML forms. Its basic functionality collects form data submitted by a web browser and then emails that data using formatting templates to select recipients, as well as saving it to a text log file which can be imported into a database. But there's more!
iForm provides the ability to limitlessly extend its basic functionality using AppleScript. You can use the AppleScript support to interact with other scriptable applications when a form is submitted, and you can also use it to provide logic and customization when composing form submission response pages and email messages. The sample iForm projects which are part of the software distribution demonstrate these extensions.
Does not require a web server because it can serve its own forms using the integrated web server.
Processes form submissions with fully customized response pages, error replies, email messages and log entries.
Emailer supports SMTP authentication, multiple file attachments of any type and "plain text alternatives" using multi-part mime messages.
Template mechanism featuring support for embedded AppleScripts enabling dynamic and multipart form submissions.
Logs all activity to a plain text file and monitor window.
Logs each form submission to its own customizable log file, say for import to a database.
Support for the "plain text alternative" of an HTML email body has been added. As with other email elements the plain text alternative is a template, and is specified using a template tag in the form. (See "Project 0" of the tutorial projects for an example.)
Outgoing mail can now be routed through Apple Mail, rather than directly through your SMTP mail server. This is useful when you want to keep a record of your outgoing mail in Apple Mail. To use this feature simply specify "Mail" in the "Mail server" text box of the "Mail Server" pane in the Preferences window.
The content type (mime type) of the body of a message may be specified using the META HTTP-EQUIV="content-type" tag. In particular this provides a way to specify the character set in use, for example:
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=iso-8859-1">
If this tag is not present in the HTML of the message then the program will use either "text/plain" or "text/html" content type, as appropriate. (See "Project 0" of the tutorial projects for an example.)
An option to disable quoted-printable encoding has been added to the "Debugging" pane of the Preferences window. This feature is intended to be used when it is necessary to view the raw source of message contents. (Note that quoted-printable encoding is not always applied.)
Mailings and iForm
You can use iForm to implement a form which collects email addresses for a mailing list, and then distribute newsletters, product announcements, etc. to that list with Mailings. Refer to the Tour Sample for an illustration of how this is done with the help of Apple's (scriptable) Address Book.
A set of sample projects that introduce you to the major features of iForm, using a hands-on tutorial approach, is available. To access the tutorials select "JumpStart Tutorials..." from the Help menu.
The JumpStart is highly recommended because it illustrates the various facades of iForm usage. (It also includes information not covered in the reference!)
For a quick hands-on introduction please take the online Tour of iForm. The Tour is accessible from the Help menu, or directly from the following link:
Most notably the Tour illustrates a "real world" application of iForm (in use by real web sites) with a minimal amount of basic AppleScript mixed in.
The Tour also includes an indispensable discussion of the Preferences window, guiding you through the configuration settings of iForm.
It's fun too!