App-2-Win Systems, Inc.

 

LookFeel for Web - LFWeb

Home 

Creation of WebApp views and selection lists from the same LFW scripts use to create Windows VDF code.  This is a major processing add-on to LFW.  It creates both the ASP and WBO code for a total WebApp solution.

·        Approximates the Look and Feel of Windows entry on the Web.

·        Automatically converts the VDF view's DDO structure for use as a WBO.

·        Full-featured selection lists (WSL) that also have constraint processing support.

Link to screen shots  

Features of LFWeb generation:

·        Alignment - Uses a "table grid" to keep fields aligned through page width changes by the user.

·        CSS - Makes use of CSS to allow easy external modification of the pages.

·        Common Code - There is a single global WBO that contains common properties and routines for Web views (WVW) and Web selection lists (WSL) there is only one WBO for each WSL that is shared by all Web views.  The WVW datadictionary object is connected to the WSL dynamically when the page is requested.  The autofind and prompt page requests go through the LFWredir.asp that sets all the common properties and then transfers at the server to process the correct ASP file.

·        AutoFind - The key field of the main file and parents are set to autofind. The LFWeb method of autofind is to open a new "modal" window that checks the field value on the server without unloading the main page.  If the field is for a parent file and a match is not found, a WSL will be presented.

·        WSL - Web Selection List is a "modal" prompt created by LFWeb that does not unload the main page.  The WSL is seeded using the value of the main page field.  Various sources are used to generate the page, including the indexes of the file definition and the Windows .sl file.  The WSL includes buttons for page up and down, start and end of file.  If a field heads an index, clicking on the heading text will reorder the WSL, jumping into the list at the currently selected line.  The Ok and Cancel buttons act the same as for Windows selection lists.  At return from a prompt, all the fields of the parent (and grandparents) are updated automatically.  If the prompt is for the main file of the WVW, the entire main page will be refreshed.  If the return is the same record as the existing, cancel for example, there is no action.  If constraints are enabled for the WSL, an additional "constrain" checkbox is added.

·        WSL Constraints - Temporary user entered constraints available for each field of the WSL, even read-only and/or parent file fields.  LFWeb processing when enabled automatically generates ASP/WBO support for constraints.  For numeric fields, GE, GT, EQ, LE, and LT are the available operators.  String fields have the numeric operators plus CU (all uppercase contains) and CO (contains).  The constraints are dynamic and only in effect during the actual WSL ASP processing, so process pooling is safe and other clients are not affected.  Like VDF constraints, ordering will have a speed effect when database files are large. If the WSL is slow returning, try re-ordering the WSL to use a better index by clicking on the header (>> fields only) text and use the GE, GT, EQ, LE, or LT operators.  For advanced use, there are two ways of controlling the WSL first/last record notification from the main ASP for large files: always turn off or turn on for specific indexes.  This was added for hard-coded DDO structure constraints, but may be useful for tweaking the WSL for any file.

·        Prompt Buttons - Prompt buttons that emulate the prompt buttons of VDF are automatically created for each field having a prompt.  JavaScript is used to keep these buttons "read-only", but when clicked, the focus automatically goes to the associated field.  Double clicking on a field with a prompt button will also initiate a WSL.

·        Read-Only Fields - Prompt buttons that emulate the prompt buttons of VDF are automatically created for each field having a prompt.  JavaScript is used to keep these buttons "read-only", but when clicked, the focus automatically goes to the associated field.  Double clicking on a field with a prompt button will also initiate a WSL.

·        Client Side Pre-Validations - LFWeb uses JavaScript on the client side to check integer, number, and date fields for valid characters.  String fields are made uppercase if set to this style by either the DD class or the Windows view DEO.  If a field is a parent key field, a message will be presented if the field is changed or the prompt button for the field is clicked when there is an active main file record.  If the field is a key field for the main file of the WVW and there is an active record, a message will be presented if the field is changed, but the prompt button is left active to change the entire record.

·        Masks - All fields having generic numeric or currency masks are presented using formatted values.

·        Control Levels - LFWeb allows many of the parameters of the autofind and the WSLs to be set in the main .asp file.  Autofind, Autofind_GE, FindReq, CapsLock, error message, WSL heading, WSL size, asp to run, index to use, and display style can all be set for each key field of the main ASP file.  Constraints sometimes have special optimization requirements and some processing can be controlled from the main ASP.  The LFWredir.asp file can also check and change settings for a global solution.

·        Error Presentation - The field label of each field with a validation error when the main asp is submitted can be clicked to obtain the error for the field.  The field is also highlighted (default is red) by the CCS settings for an error label. Clicking on the error message at the top of the screen will display a summary of all errors.

·        Text, ComboForm, and CheckBox Fields - Text fields are automatically generated using the VDF number of lines.  If the field is set in the DD or DEO as a ComboForm or CheckBox, the appropriate field style will be generated.

·        Tab Pages - Tab pages are presented using in-line segments with the label left justified as a heading.

·        Containers - If the container has a label, it is presented using an in-line segment.  A generation option is to indent all the fields of a segment once for each container level.

·        dbGrid and dbList Processing - Not yet supported.

 

How it works:

LFWeb is a post-LFW processing program to create ASP pages and VDF WBO code.  Information is gathered from the LFW temporary processing files, the LFW data dictionary, the VDF SL files, the VDF DD files and the VDF VW files.  The outputs are XSP (renamed ASP) and XBO (renamed WBO) files.  The output is to renamed files so information in the newly generated files can be cut/paste into existing ASP and WBO files that have hand edits.  If there are no hand edits in the existing programs, the X?? files can just be copied with the appropriate extensions.

The LFW utility to update the VDF ABdata and DDdata component registration files can be used to register any new SL, DD, and WBO files.  The WebApp Studio is used to maintain the WebApp.src file.  After an initial compile in the WebApp Studio, which creates a new global.asp, the WebApp can be compiled and maintained outside of WebApp.

LFWeb generates complete view ASP (WVW) files and "full featured" selection list (WSL) files that work together to make a full application.  The WSL files are shared with all the WVWs of a WebApp like the SL files in VDF.  The common code WSLs can be controlled via variables in the WVW for each prompt to customize the presentation.  All access to the WSL is through a common ASP (LFWredir.asp) that can be modified to change the WSL presentation at a global level.  Options available for modification are autofind, Autofind_GE, CapsLock, autoprompting, prompt heading, prompt return error message, and constraint optimizations.

Forms of the main file of the WVW that head an index and forms of parent lookups have generated prompt buttons.  If the underlying index is one field (unique), then an autofind and/or check is performed at the server.  LFWeb creates a child window using JavaScript to do the autofind/check operation.  If a parent file and a failed autofind, the WSL for the file is autoprompted.  Autoprompting can be controlled in the WVW on a per-form basis.  It can also be controlled globally for the WVW by setting a parameter in the WVW or globally for the entire application by setting a parameter in the LFWredir.asp file.

Posting errors are presented in two different ways: clicking on the error message at the top of the screen will present a window with all the errors of the latest posting, and clicking on the heading text of a field will present the individual error for the field.  The highlight color of the error form labels is controlled via CSS.

The ASP generated uses CSS to control display options.  There are additional LFW classes added to the standard WebApp CSS styles.  The standard CSS used for LFW development was TheBlues.css distributed with WebApp.

The options presented for database operations can be controlled via the ASP, similar to the WebApp examples.  There are some validation options that check the status of the main file of the WVW.  The status of the main file of the WVW is presented at the top of the client's display page.  For example, if LFW is set-up to protect parent fields from change if an active record, LFWeb will check also check/protect the parent from change in the ASP using JavaScript. This is an early test to notify the user instead of waiting until the DD in the WBO catches the error during validation.  If a field is set to CapsLock in either the VDF DD file or the VDF VW file, it will be processed in the WVW ASP as CapsLock.

 
Home