This invention concerns a system for use in providing an executable procedure for generating a user interface display image (showing a form, for example) with a format suitable for a desired display size.
In order to adapt a business or other software application to a particular computer system environment it is commonly necessary to generate a customized user interface for use in acquiring data from a user or to display data to a user. Such a customized user interface display typically involves adapting or tailoring an existing electronic form to march particular requirements and a different image size, for example. Some known systems customize an existing electronic form dynamically at a run-time (execution time) of a procedure employing the desired user interface form. As an example, a system based on Microsoft XSL (Extensible Stylesheet Language) typically outputs an HTML (Hypertext Markup Language) code representative form for display on a user workstation at run-time. Extensible Stylesheet Language (XSL) is a language for expressing stylesheets. It contains XSL Transformations (XSLT); a language for transforming XML documents. This type of XSL-based system takes one XML file (in addition to the XSL transforming file itself) as input and outputs a single XML file. XML (Extensible Markup Language) is used to encode structured data passed between computer systems and is determined by a standard maintained by the World Wide Web Consortium.
However, there is a problem involved in systems that customize and generate electronic user interface forms at run-time. Specifically, the length of time it takes to produce a form is dependent on the complexity of the transformation performed (and existing form customization) that occurs at run-time. Further, because of processing time constraints, run-time form generation systems are typically limited in their form customization and generation capabilities. Such systems are typically limited in the range of form representative code output formats that may be employed and are usually restricted to form output in HTML or XML code representative format, for example. Other problems of existing electronic form customization and generation systems include lack of flexibility in accommodating country specific requirements (e.g., different languages such as French, Japanese . . . etc.) and new hardware architectures. Existing systems also typically do not readily accommodate change in desired system response upon user selection of form prompts, icons or other user interactive displayed elements. A system according to invention principles addresses these deficiencies and derivative deficiencies.
A system customizes and generates data representing an electronic form for storage on a target workstation ready for use prior to execution time of a procedure used to generate the form. An adaptive user interface generator generates code representing an executable procedure for use in providing a user interface display including a plurality of displayed user interface display elements. A source of presentation control information determines a user interface presentation format of a display image capable of being adaptively scaled to fit different display image sizes. The presentation control information specifies relative location of the interface display elements. A transformation processor transforms the presentation control information into executable procedure representative code for use in providing a user interface display image with a format suitable for a desired display size.
The system presentation control information determines the general layout of an electronic form and the data displayed within the form. The system architecture advantageously uses a separate code generator engine for generating code from the presentation control information and other data in a desired code format (e.g., HTML, XML (Extensible Markup Language), SGML (Standardized Generalized Markup Language) etc.). The code generator engine generates code for providing an electronic form based on the presentation control information and additional separately maintained elements including data elements, object data constraints and text (e.g., for form labels or tool tip aids). Because the text labels and tool tip aids are advantageously separate from the presentation control information, they may be readily translated into other languages. Further, the presentation control information is deliberately structured so that it may be easily adapted as system requirements change and evolve. Thereby presentation control information may be easily upgraded and converted by a procedure that processes XML code or by a simple procedure that processes text strings.
HTML Generator 23 uses presentation control information 16 to direct generation of DHTML code 25 representing a desired form. Control information 16 in turn uses information from data format structure 10 that contains data presented in the desired form. Control information 16 also employs objects 12 which may comprise procedures to be executed in response to user selection of display elements or prompt elements displayed in the desired form represented by code 25. Such procedures may determine data constraints 22 to be presented to a user in the desired form or may determine data elements of data format structure 10 also for presentation in the desired form. In other embodiments generator 23 may alternatively generate code representing a form in a selectable code language such as in Visual BASIC, XML, SGML (Standardized Generalized Markup Language), for example, or another code language.
Presentation control information 16 comprises declarative statements determining the presentation display elements that the desired form contains. The presentation control information 16 specifies relative position and size of the display elements in the desired form so that the derived form represented by code 25 is independent of target display image size and target host system architecture. Thereby, a form represented by code 25 is readily adapted for different display image sizes and for use by different system architectures. Control information 16 determines relative positioning of display elements within a desired form and orders and groups the display elements for presentation in the form. Control information 16 defines presentation display elements using items within columnar tables that determine specific properties of individual display elements with a defined set of values. These values determine the look of a form and include, for example, percentage values identifying relative size of display elements. Exemplary XML presentation control information 16 for generating an electronic form as shown in
Display Element common properties 200-239 of
Common properties of
In step 320 UI builder 20 scales parameters associated with the relative location and size of the interface display elements determined by presentation control information 16 in order to derive the selected desired user interface presentation format with the desired display image size. In step 323 generator 23 processes presentation control information 16 that specifies relative location and size of the interface display elements (and excluding use of data identifying fixed image display element positions in the display image) to provide the executable procedure of the selected code type. Further, in step 327 generator 23 compiles presentation control information 16 (or in another embodiment interprets presentation control information 16) to provide the executable procedure for use in providing the desired user interface display image. The process of
Returning to
A control group (in presentation control information 16) determining display elements in an electronic form may also be maintained separately (e.g., in structure 10) and referenced from within control information 16. Thereby display elements containing data that differs in format or content (such as address, phone number, date, name) in different countries, for example, may be updated in one place for a specific country without altering control information 16. Following such an update of control group country specific data in unit 10, a form is regenerated by device 23 to provide a form with the desired country specific data. Further, a control group maintained outside of presentation control information 16 (e.g., in unit 10) is reusable if the datasources defined within the control group are associated with one object. In the following example the “Address” control group may be associated with any Address object. Every display element refers to a property associated with an Address.
In another example a first control group references an “Address” control group twice (shown as Composite tags). Once for a home Address and once for a work Address.
Display elements determined by presentation control information 16 may be associated with executable procedures in unit 12 that implement desired response actions in response to user activation of associated display elements in form 25. In creating form 25, generator 23 incorporates executable procedure code for a corresponding particular display element in an event handling procedure associated with the particular display element. This enables display element initiated functions to be tailored to desired requirements or enables a default function (associated with activation of a display element) to be replaced with an alternative function. An exemplary event handling procedure for incorporating a procedure to be called upon ZipCode acquisition via a display element follows.
Additional customization of form 25 is achieved by indicating data elements determining particular selected display elements in presentation control information 16 are to be ignored prior to re-generation of form 25 by unit 23. The selected display elements associated with the ignored data are thereby removed from form 25. In a similar manner, selected data fields associated with particular display elements may be removed from form 25 to tailor a form for a particular user. The form columnar layout determined by presentation control information 16 is not altered. Further customization of form 25 is achieved by modifying control group table contents or property values in presentation control information 16. This may be used to provide a different look to form 25 involving a different display element order or grouping, for example.
In addition, presentation control information 16 is searchable by querying procedures (using XQL or another code language) to search for particular functions or to determine usage of specific procedure items or declarations. For example, an XQL string “Calendar//Script” is used to search presentation control information 16 to identify occurrences of custom script code employed for a Calendar associated display element. Such search strings are used to determine the procedures and properties used in presentation control information 16 to facilitate upgrade and enhancement. The adaptive system of
The systems and processes presented in
This is a non-provisional application of provisional application Ser. No. 60/300,738 by J. D. Haley filed Jun. 25, 2001.
| Number | Name | Date | Kind |
|---|---|---|---|
| 5454072 | Aoyama | Sep 1995 | A |
| 5721848 | Joseph | Feb 1998 | A |
| 5900868 | Duhault et al. | May 1999 | A |
| 5973691 | Servan-Schreiber | Oct 1999 | A |
| 5990898 | Urano | Nov 1999 | A |
| 6002446 | Eglit | Dec 1999 | A |
| 6069606 | Sciammarella et al. | May 2000 | A |
| 6130723 | Medin | Oct 2000 | A |
| 6204887 | Hiroi | Mar 2001 | B1 |
| 6310601 | Moore et al. | Oct 2001 | B1 |
| 6341183 | Goldberg | Jan 2002 | B1 |
| 6353448 | Scarborough et al. | Mar 2002 | B1 |
| 6390371 | Armga et al. | May 2002 | B1 |
| 6456305 | Qureshi et al. | Sep 2002 | B1 |
| 6476828 | Burkett et al. | Nov 2002 | B1 |
| 6750887 | Kellerman et al. | Jun 2004 | B1 |
| 6791571 | Lamb | Sep 2004 | B1 |
| 20010011364 | Stoub | Aug 2001 | A1 |
| 20020000998 | Scott et al. | Jan 2002 | A1 |
| 20020191027 | Morrow et al. | Dec 2002 | A1 |
| 20050251742 | Mogilevsky et al. | Nov 2005 | A1 |
| Number | Date | Country | |
|---|---|---|---|
| 20030025693 A1 | Feb 2003 | US |
| Number | Date | Country | |
|---|---|---|---|
| 60300738 | Jun 2001 | US |