The paper describes an implemented system for automatic
form processing that structures user interactions according to an
extensible lattice of presentation
classes (an HTML3 extension to HTML
input types) and uses an explicit representation of forms and queries to
automatically recover from user input errors and to operate over multiple
transport media -- presently the World-Wide Web and
email.
Major features include:
- Extensible Presentation Classes: The framework offers both a wide
variety of standard presentation
classes, suitable for client-side parsing and validation, and a mechanism
for arbitrary extension of the class lattice by allowing server-side handling
of classes that require unusual or complex computations.
- Syntactic Validation: All query values are checked for syntactic
validity (including type consistency), always ensuring syntactically
valid inputs to backend computations.
- Semantic Validation: Between them, presentation classes and queries
provide semantic information that can ensure semantically valid
inputs (logical consistency) to backend computations.
- Automatic Retries: When syntactically or semantically invalid
input is detected by the server, the form processing architecture
automatically initiates a recovery dialogue with the user. The facility works
even as new presentation classes and query constraints are defined.
- Extended Dialogues: Hierarchical adaptive surveys are
implemented as specializations of Dynamic Forms and have been tested on over
1600 respondents. A native expert system selects the appropriate follow-up
survey for a respondent by applying IF-THEN rules to answers from
previous questions.
- Multiple Transport Media: The system currently operates over W3
over HTTP and ascii email via SMTP.
- No Code Duplication: Type-specific input parsers and presenters
are defined for each presentation class, and consequently, applications need
not rewrite them again, but can, if desired, define new presentation class to
extend the standard set.
- Graphical Form Authoring Tool: The authoring tool allows
developers to rapidly define and edit the forms or surveys for their
applications.
All form elements are represented as objects
supporting generic operations rather than characters in a flat HTML file.
Forms have a series of required and optional queries as well as some
descriptive text. In addition to a question or instructions, a query has an
associated presentation
class. This logical representation makes possible meta-level operations
such as automatic retries and delivery over multiple transport media.
The Dynamic Form Authoring Tool maximizes ease and speed of interfacing
applications to the Web because it allows developers to specify very rapidly
the various constitutive elements of forms and queries, such as presentation
class, name, instructions, and other parameters. For queries, it allows a wide
choice of presentation classes, including all standard HTML input types and
over 32 presentation classes (such email address, country, postal code). In
addition, a modular representation of forms, queries, and presentation class
makes it possible for them to be shared across applications.
The research described here and its object-oriented implementation can help
guide the design of client-side input scripts and presentation classes in
HTML3. Towards the end of 1994, these tools will be available as add-ons to
the Common
Lisp Hypermedia Server.