Software Product Description ________________________________________________________________ PRODUCT NAME: DECforms, Version 1.3 SPD 29.90.03 DESCRIPTION DECforms offers application developers a set of software de- velopment tools and a run-time environment for implementing powerful, yet user-friendly, human interfaces. DECforms supports the full range of VT100, VT200, VT300 and VT420 series terminals and compatible terminal emulators on PCs and workstations. DEC- forms also supports the development and display of Hebrew forms (right-to-left text path) on Hebrew VT100, VT200, and VT300 series terminals. DECforms offers a robust combination of the capabilities of previous Digital Equipment Corporation forms systems, such as VAX FMS and VAX TDMS. In addition, DECforms offers a number of significant features not previously available in a Digital forms product. DECforms integrates with VAX ACMS and DECintact to provide powerful forms processing capabilities in transaction processing environments. A private, asynchronous call interface to VAX ACMS and DECintact allows a single DECforms run-time process to control multiple terminals simultaneously in a multi-threaded fashion, resulting in efficient use of memory. Using the VAX ACMS Remote Access Option or DECintact Remote Access Option, DECforms can be distributed to remote CPUs, thus offloading forms processing from the host CPU and distributing it as close to the end user as possible. DIGITAL April 1991 AE-ME11D-TE DECforms, Version 1.3 SPD 29.90.03 DECforms is Digital's VMS implementation of the proposed ANSI/ISO standard for a Form Interface Management System (FIMS). The Form Interface Management System is an industry software system and is not the property of any company or group of compa- nies, or of any organization or group of organizations. DECforms offers a subset of the full functionality described by the CO- DASYL FIMS Journal of Development, with extensions tailored for the VMS environment. Digital's implementation of FIMS tracks the ANSI/ISO proposal as it advances through the standards proposal process. Any changes made to elements of the FIMS proposal by the CODASYL FIMS Com- mittee that are implemented in DECforms software may result in appropriate and parallel changes in future releases of the DEC- forms product, even if these changes result in incompatibilities with previous versions of the product. The fundamental principles underlying the FIMS model are embod- ied in DECforms: o True Separation of Form and Function o Efficient Distribution of Forms Processing o Ease of Use o Flexibility of User Interface Control o Programming Language Independence One of the most powerful principles reflected in the DECforms architecture is complete separation of form and function. With DECforms, user interface processing is completely removed from the application program and totally isolated within the form itself. The application program is only concerned with the processing of data, not with the gathering and display of data at the user interface. This makes application programs much simpler to develop and easier to maintain. 2 DECforms, Version 1.3 SPD 29.90.03 The true separation of form and function is possible because DECforms introduces a whole new concept in interactive forms. In previous forms systems, a form was simply a collection of fields and background text describing the form's appearance. With DECforms, a form includes not just elements related to appearance, but data and procedural elements which control the processing of the user's interaction with the form. Forms are comprised of one or more panels which can be of any width and height (within the bounds of the physical display de- vice). If the data required to satisfy an application program's request cannot be physically or aesthetically fit onto a single screen, multiple panels can be defined within a single form to contain all the necessary fields and background text. Thus, a form can be as large as needed. When panels are displayed on the screen, they are displayed in viewports (windows) which can be located any place on the screen. DECforms provides a complete windowing system to manage these viewports. Multiple viewports can exist simultaneously on the screen in any configuration (occluding one another). DECforms automatically displays and removes viewports with their associated panels to gather and display all the data required by the application program. A form is described by the Independent Form Description Lan- guage (IFDL). The IFDL, while primarily declarational, includes procedural constructs as well. Field level control, screen navigation, panel management, and cross field and relational validations are among the many form processing activities which can be performed by the IFDL without the need to return to the application program. DECforms allows a single application to support multiple types of users with interfaces tailored to their needs. This tailoring is accomplished by utilizing another DECforms structure called a layout. Sets of panels tailored for a particular environment can be grouped together in a layout. A form can consist of multiple layouts, each tailored for a different environment. At run-time, 3 DECforms, Version 1.3 SPD 29.90.03 DECforms chooses the one layout from within the form appropriate for the terminal user. Thus, a single application can be written to run both in a firm's New York office and in its Paris office. In New York, DECforms selects the English layout at run-time and in Paris, DECforms selects the French layout. The application program interacts with DECforms through a very simple, six-call record-level interface. Either single or multi- ple records can be transferred in a single request. All field-level processing is performed by the DECforms run-time system, not by the application program. The DECforms run-time system provides a wide variety of form, panel, and field-level control and processing capabilities, including: o Scrolled regions with the following characteristics: - Containing one or two-dimensional arrays - Partial or full-line scrolling - Multiple lines per scrolled entry o Conditionally protecting, highlighting, and concealing fields. o Changing video attributes dynamically based on real-time events. o Highlighting fields when the cursor is present. o Icons as active panel elements. o Color support on VT241s and VT340s via mapping to video attributes. o Format Validations: - Character Type - Entry Required - Minimum Length - Full Field 4 DECforms, Version 1.3 SPD 29.90.03 - No Data Input o Content Validations: - Range Check - List Check o Context Validations: - Against a general expression - Cross-field validations o Calling a user-defined routine (procedural escape routine) to perform more complex validations, including file lookups. Escape routines execute in a synchronous fashion, so their use in VAX ACMS and DECintact asynchronous environments does impose certain limitations. o Built-in flexible field navigation capabilities allowing the operator to move among fields in any manner desired. o Timeouts on field entries. o Toggling between insert/overstrike mode. DECforms also provides an extremely flexible mechanism for defining functions and redefining keyboards to suit the op- erator environment. This includes support for multi-key function definitions. DECforms supports most VAX data types, which means that data type conversion does NOT have to be performed by the application program in most cases. Internationalization Features DECforms includes numerous internationalization features al- lowing applications to support user interfaces in multi-lingual environments. These features include: o Multiple natural language layouts per form. o International date formats. 5 DECforms, Version 1.3 SPD 29.90.03 o Numeric data formatting, including replacing Decimal Point with Comma. o Multiple character currency signs. o Multiple character sets. o Integrated support for Hebrew language form development and processing, including right-to-left text path. o All messages are in VMS Message Files to allow for transla- tion. o Flexible positioning of fields and literals to allow for translation. Components Form Development Environment (FDE) The FDE allows a form designer to create a form interactively and provides menus that help the designer step through various tasks of form creation and modification. The FDE ties in with the Panel Editor to create the appearance of the form. The FDE also provides access to the VAX Language-Sensitive Editor (for those users who also have purchased that product) or other edi- tors based on VAXTPU to allow a designer to write statements in the Independent Form Description Language (IFDL) that describes a DECforms form. Panel Editor The Panel Editor allows the user to create graphic form elements in an interactive, "what you see is what you get" (WYSIWYG) fashion. The Panel Editor supports the interactive creation of the visual elements of a form's panels; background text and graphics, and the locations, sizes, and attributes of fields. Independent Form Description Language (IFDL) 6 DECforms, Version 1.3 SPD 29.90.03 The IFDL is a semi-procedural language that completely describes a DECforms form. It allows the form designer to create a form (non-interactively), specifying its appearance and functions. While the appearance of a form can be entirely created by the Panel Editor, procedural aspects of the forms, such as special- ized responses to function keys and specialized data validation, must be specified directly with IFDL statements. An IFDL source file is a text file that can be created or modified with any VMS text editor. VAX Language-Sensitive Editor templates are available for the IFDL language to aid in the creation and maintenance of IFDL source code. DECforms also supports the Compile and Review capabilities of the VAX Language-Sensitive Editor. The IFDL also includes a COPY statement that provides for the copying of record and field definitions from the VAX Common Data Dictionary/Plus (VAX CDD/Plus). DECforms supports VAX CDD/Plus pieces tracking by depositing information in the dictionary indicating that a particular form has used a certain record. DECforms can also use VAX CDD/Plus records defined with the BASED ON attribute and those referenced through RDB$RELATIONS. IFDL Translator The IFDL translator compiles an IFDL source file into a binary form file. This form file is then ready for use with its ap- plication. Its appearance can be tested on a terminal screen or printed. The binary form file may be analyzed by other DECforms utilities, or edited in the FDE or Panel Editor. Back Translator The Back Translator converts a binary form file into an IFDL source file. Essentially, it performs the reverse function of the IFDL Translator. As a result, it provides a method of edit- ing the IFDL source for a form created or modified by the FDE or Panel Editor. The IFDL source statements the Back Transla- tor produces also provide a complete textual description of the form. 7 DECforms, Version 1.3 SPD 29.90.03 Extract Utility The Extract Utility performs three functions: o Produces a printable representation of a form's panels from a form file. o Creates object modules containing a form. These object mod- ules can then be linked in an executable image with a program as a memory-resident form for use by the same program in a single session or in multiple sessions. The modules can also be linked in shareable images for use by multiple sessions from multiple processes. o Produces an object module that contains pointers, or vectors, to procedural escape routines named in the form file. Escape routines are calls from the form to user-supplied subroutines created to do additional processing outside the form. VAX FMS Converter The VAX FMS Converter is a migration tool that converts a VAX FMS form or the forms in a VAX FMS form library into a DEC- forms IFDL source file. This process converts the appearance of the VAX FMS forms into a similar appearance described by the DECforms IFDL. The converter does NOT convert the application program or the User Action Routines associated with the VAX FMS forms. The VAX FMS Converter works with forms created with VAX FMS V2.0 or later. VAX TDMS Converter The VAX TDMS Converter is a migration tool that converts the forms and, optionally, the requests in a VAX TDMS Request Li- brary Definition into DECforms IFDL source files. This process converts the appearance of the VAX TDMS forms and some of the request logic into similar entities described by the DECforms IFDL. The converter does NOT convert the application program associated with the VAX TDMS forms and requests. The VAX TDMS 8 DECforms, Version 1.3 SPD 29.90.03 Converter works with forms and requests created with VAX TDMS V1.7 or later. 9 DECforms, Version 1.3 SPD 29.90.03 Test Utility The Test Utility allows certain aspects of the form to be tested separately from its application program. It allows a form de- signer to check the appearance of a form's panels without having to write a program first. Form Manager The Form Manager is the interface between an application program and a display device. It is a run-time system that controls form display and operator input on terminals. The Form Manager provides six requests for communication between the form and the application. These requests (routines in the Form Manager) allow the application to enable the form for use, send data to the form and receive data from it (separately or in one call), disable the form at the end of a session, or asynchronously cancel a request. The Form Manager also provides services for printing the form. Sample Applications and Demonstration Forms The sample applications show how a form and an application program can interact. One of the samples includes a simple form with a few panels and a simple application program that makes requests of the form through the Form Manager. This introductory sample application is available only in FORTRAN. The more complex sample application includes a form with many panels and many responses to various events as well as an appli- cation program that makes several requests of the form. This ap- plication is available in Ada, BASIC, C, COBOL, DIBOL, FORTRAN, Pascal, and PL/I. In addition to the sample applications, the DECforms kit con- tains a package of demonstration forms, their sources, and a demonstration guide illustrating many key features of DECforms. Optional DECforms Run-time System for VMS Systems 10 DECforms, Version 1.3 SPD 29.90.03 An optional DECforms run-time system is available separately. The only DECforms component available in this option is the Form Manager. The run-time system allows the execution of applica- tions using DECforms for terminal display and management on a machine other than the one used to develop the application. Documentation The DECforms Documentation Set consists of: o Guide to Developing Forms o Guide to Programming o Reference Manual o Guide to Converting VAX FMS Applications o Guide to Converting VAX TDMS Applications o IFDL Syntax Summary Card o Keypad Card HARDWARE REQUIREMENTS VAX, MicroVAX, VAXstation, or VAXserver configuration as speci- fied in the System Support Addendum (SSA 29.90.03-x). SOFTWARE REQUIREMENTS VMS Operating System Refer to the System Support Addendum (SSA 29.90.03-x) for avail- ability and versions of required/optional software. 11 DECforms, Version 1.3 SPD 29.90.03 ORDERING INFORMATION Full Development System Software Licenses: QL-VCHA*-** Software Media: QA-VCHAA-** Software Documentation: QA-VCHAA-GZ Software Product Services: QT-VCHA*-** Run-time System Software Licenses: QL-VNSA*-** Software Media: QA-VNSAA-** Software Product Services: QT-VNSA*-** * Denotes variant fields. For additional information on avail- able licenses, services and media, refer to the appropriate price book. SOFTWARE LICENSING This software is furnished under the licensing provisions of Digital Equipment Corporation's Standard Terms and Conditions. For more information about Digital's licensing terms and poli- cies, contact your local Digital office. LICENSE MANAGEMENT FACILITY SUPPORT This layered product supports the VMS License Management Facil- ity. License units for both the Full Development System and the Run- time System are allocated on a CPU-capacity basis. For more information on the License Management Facility, refer to the VMS Operating System Software Product Description (SPD 25.01.xx) or the License Management Facility manual of the VMS Operating System documentation set. 12 DECforms, Version 1.3 SPD 29.90.03 For more information about Digital's licensing terms and poli- cies, contact your local Digital office. SOFTWARE PRODUCT SERVICES A variety of service options are available from Digital. For more information, contact your local Digital office. SOFTWARE WARRANTY Warranty for this software product is provided by Digital with the purchase of a license for the product as defined in the Software Warranty Addendum of this SPD. [R] IBM is a registered trademark of International Business Machines Corporation. [TM] The DIGITAL Logo, VAX, VMS, MicroVAX, VAXcluster, VAXs- tation, VAXserver, DECforms, DECintact, VT, VAX FMS, VAX ACMS, VMS DECserver, CI, and VAX CDD/Plus are trademarks of Digital Equipment Corporation. 13