HTML form feature list ? DECFORMS/ANSI FIMS features in detail

Craig Hubley of CH&A (craig@hubley.com)
Fri, 5 May 95 06:46:05 EDT

My apologies for the text formatting, the report's ultimate consumer=20
*required* that
it be formatted this way. Ick. Anyone care to add an 'HTML' column to=20
these tables ?

One thing I like about basing an HTML forms overhaul on FIMS is that it=
works on
VT-class terminals, one of its major strengths. This would help keep the=20
text browsers
(like Lynx) from falling behind and keeping HTML useful for shell-access=20
accounts, and
character terminals (e.g. old DOS PCs), which are still very heavily used in=
=20
many places.

IFDL, the Interactive Forms Definition Language, is not procedurally=20
complete but then
neither is HTML. Its features could probably be cribbed one for one into=20
the HTML spec.

responsibility location under VAX FMS VAX TDMS DECforms
--------------- ------- -------- --------
database/file manipulation application application application
form/field interaction/validation application requests form
screen appearance form form form

Features and Functions
----------------------
The following table provides a comparative overview of DECforms
capabilities as compared to FMS, TDMS, and (indirectly) to other forms
management products of that generation.

capability VAX FMS VAX TDMS DECforms
---------- ------- -------- --------
data entry-----------------------
field navigation in application in TDMS in DECforms
field level control in application no in form
record level control no in TDMS in form
cross-field validation no no in form
relational validation no no in form
range/list validation no no in form
modified field indicator yes yes yes
timeout mechanism yes no yes

user interface definition--------------
key redefinition full limited full
runtime video changes yes yes yes
modify field attributes form creation form creation + runtime
user action routines yes no yes

form appearance-----------------------------
windowing limited none full
color forms no no yes
use of entire VT screen no no yes
multi-page forms no no yes
multi-screen requests no no yes
scrolling regions yes full lines part lines
lines per scrolled entry one one multiple
shared form images no no yes
icons no no yes

globalization--------------------------------
multi-language forms no no yes
international dates no no yes
multi-currency signs no no yes=09
international numerics no no yes
multi character sets no no yes
right-left text motion no no yes
translatable messages no no yes
flexible positioning no no yes

integration-----------------------------------
separate runtime system yes yes yes
program interface complex simple simple
program interface synchronous asynchronous combination
memory resident yes no yes
multi-record transfer no yes yes
ACMS front end in application integrated layered
CDD/Plus integration no basic + RDB
help processing basic basic VAX messages
data types strings only VAX types VAX types
conforms to a standard no no yes (FIMS)

programming tools----------------------------------
LSE support no templates +diagnostics
form language simple no semi-procedural (IFDL)
form appearance editor yes yes yes
form tester yes no yes
other development tools no no yes (FDE)
converters to TDMS to FMS from both
new releases ? bug fixes only bug fixes only yes

IFDL form definition
--------------------
Objects and attributes:

object type of control attribute
------ --------------- ---------
field appearance bold =09
" " underlined
" " character set
" " font size
" " background/foreground color
" " reverse
" " blinking
" " line width

field compose form active highlight
" " highlight when...
" " protect, protect when...
" " conceal, conceal when...
" " output when...
" format output sign appearance
" " sign location: fix/float lead/trail
" " currency appearance
" " currency location: fix/float
lead/trail
" " decimal point: period/comma
" " suppress/replace leading/trailing blank/zero
" " left/right/decimal justified
" " output picture

" format input insert literals in string
" " insert/overstrike mode
" " character type
" " uppercase/mixed case
" " input picture
" " input required
" " minimum length
" " full field
" " no data input
" " autoskip
" " timeout

" validate range clause (e.g. "range 1 thru n")
" " search list of valid values
" " require (e.g. "require a<b and b>c")
" " vs. general expression
" " vs. other fields
" help associated help messages and panels

Action, procedure, and response:

type of object type of control action or clause
-------------- --------------- ---------------- =09
action navigation cursor left/right
" " delete character
" " down item/occurrence
" " erase field
" " exit group next/previous
" " insert/overstrike
" " left item/occurrence
" " next help/item/panel
" " previous item/panel
" " refresh display
" " right item/occurrence
" " terminate help
" " transmit
" " up item/occurence

procedure functional activate
" " call
" " deactivate
" " display
" " enter help
" " exit help
" " if/then/else
" " include
" " invalid
" " let
" " message
" " position
" " print
" " refresh
" " remove
" " reset
" " return
" " signal

order of response level of response response
----------------- ----------------- ---------
1st in panel panel . . panel entry response
1st in group . group . group entry response
1st in field . . field entry response
2nd " . . " operator input
3rd " . . " data conversion
4th " . . " function response
5th " . . " field validation
6th " . . " validation response
7th " . . " exit response
1st in icon . . icon entry response
2nd in " . . " operator input
3rd in " . . " function response
4th in " . . " validation response
5th in " . . " exit response
2nd in group . group . group validation response
3rd in " . group . group exist response
2nd in panel panel . . panel exit response
=09
User Interfaces:

User interfaces built in DECforms run on VT series (character) terminals
or 100%-compatible emulators. DEC will fully support DECwindows and
X/Motif (bitmap) terminals, as well as future VTs, in future releases.
The DECforms style guide helps developers build consistent user
interfaces.

General Interfaces: see "capabilities" table above

Language Support: see "requirements and options" table below=7F

Data Access/Bridges:

IFDL is not a procedurally complete programming language. Therefore the
capabilities of other programming languages are often required to fully
define a user interface. The following summarizes the interfaces
available to pass control and data to and from IFDL:

interface/mechanism between... sync? function data=09
------------------- ---------- ---- -------- -----
form record appl'n-IFDL no any API fn form record
form record control text IFDL-appl'n no -- text
procedural escape/callout IFDL-any_fn yes (user def.) VAX types
callout via ACMS, DECintact IFDL-any_fn yes (user def.) VAX types
COPY CDD/Plus definition IFDL-dict. -- COPY only VAX types
Craig Hubley | Business that runs on knowledge +
Craig Hubley & Associates | needs software that runs on the net +
mailto:craig@hubley.com 416-778-6136 FAX 416-778-1965=20
Seventy Eaton Avenue Toronto ON M4J 2Z5 Canada