Version 4 Changes

 

Documentation home

 

Introduction. 2

Major Changes 2

Page Content and Controls 2

Styling With CSS. 3

Tables 3

Texts 4

Workflow Tables 4

Designer Changes 4

Form Editor 4

Style Sheet Editor 5

Presentation Template Editor 5

Workflow Process Editor 5

Dockable Designer Tree and References Panels 5

Other Editors 5

Miscellaneous New Features 5

FPL Access to Control Properties 5

New Controls 6

Browser Screen Stability. 6

Programming With Table Row Numbers 6

Date/Time field properties 6

UfsLanguage.jar compiler 6

HTML/XHTML Option. 6

Message Options 7

Message Display. 7

Browser Selection When Running Forms 7

Display Only Controls 7

Call Form/Call URL 7

Single Namespace per Component 7

Print Form Designer 7

Running Forms 7

FPL Field On Page Commands 7

New Field Display Options 8

FPL Group Commands 8

Loop At Table. 8

Mandatory Field Validation. 8

Styling Individual Table Columns 9

Control Fields 9

Browser IP Address 9

Skip Display Of Empty Pages 9

New Functions 9

UFSLanguage.jar builder 9

Default Template and Style Sheet 9

Changed Or Removed Functionality. 9

Removed Functionality. 9

Accessibility Buttons 9

Portlet Style. 10

Row Striping Of Non-Tabular Fields 10

Designer Copy For Table Feature. 10

Print Buttons 10

Workflow Priority Field. 10

FPL Command Set Table. 10

UFSFormInterface deprecated methods 10

Changed Functionality. 10

Loop At Table/Break 10

Validation Events On Label Fields 10

Focus Style. 11

Vertically aligned lists in table columns 11

Messages for hidden fields or buttons 11

Version 3 Features:  How They Work In Version 4. 11

Field Grid/Same Line Fields 11

Multi-column Layout 11

Groups 11

Form Header 11

Page Header, Page Info, Page Trailer Texts 12

Page Navigation Buttons 12

JSPs 12

Messages 12

Presentation Template Sheets 12

Buttons 13

Tables 13

Page Border 13

 

Introduction

This document is intended to be read by developers who have a good understanding of Ebase Version 3. It describes new and changed functionality in Version 4, and discusses how features of Version 3 are implemented in this new version. The document is arranged in the following sections

 

describes major architectural or conceptual changes

describes major changes in the designer

describes other changes in both designer and runtime

describes Version 3 functionality that has been changed or removed.

READ THIS SECTION WHEN UPGRADING FROM VERSION 3.

discusses various features in Version 3 and explains how these work in Version 4

 

Note that the upgrade process automatically converts a Version 3 system to Version 4. All upgraded forms should continue to operate without the need for modification except where they rely on functionality that has been changed or removed. There may also be small changes in the display of some form pages.

Major Changes

This section describes major architectural or conceptual changes in Ebase Version 4.

Page Content and Controls

In Version 3, a page consisted of a number of displayed fields and tables. These fields and tables could be arranged into groups or into a two column display, and a number of options were provided to configure presentation, but the basic building blocks were limited to just fields and tables; buttons were treated as a special kind of field.

 

In Version 4, a page consists of a number of controls – a control can be anything that can appear on a page. Version 4.0 introduces lots of new controls (click here for details), and more controls will be introduced in later releases. For example, the fields and tables of Version 3 become Field Controls and Table Controls respectively; some new controls added are: Text Control, Button Control, Image Control, Tab Set Control, Menu Controls, Grid Control and many more. In a future release, the ability for customers to write their own controls will also be introduced.

 

Some of these controls are containers – meaning that they can contain other controls as children; this results in each page consisting of a tree structure of controls. Each container control has a layout which determines how the child controls are laid out; five layouts are supplied with Version 4.0 (click here for details). For example, a Field Grid Layout provides the tabular layout of fields used in Version 3.

 

For more information, follow these links:

Styling With CSS

In Version 3, styling was implemented using Presentation Templates where a limited number of options were available.

 

In Version 4, the full power of CSS is available to form designers. Style sheets can be created using a new Style Sheet Editor or links can be created to external style sheets, and these are then linked to forms. Presentation Templates still exist, but now provide new functions:

 

 

While style sheets can be used in any manner, it is anticipated that for the most part, styling will be achieved using CSS classes, and that these classes will then be associated with individual controls. Nearly all controls have styling properties, with some controls supporting many of these. With a few exceptions, these properties allow style to be applied in two ways: using CSS classes as just described, or as inline style.

 

For more information, follow these links:

Tables

In Version 3, a table could only be defined by adding it to a page.

 

In Version 4, a clear distinction is made between:

 

It is no longer necessary to place tables on a page, except when they are to be displayed to the user. A new Tables View panel provides the ability to create and maintain tables.

 

For more information, click here.

Texts

In Version 3, texts could only exist as part of another object e.g. a field had a label text and a help text, a group had a header text, info text and trailer text. These texts could not be used outside of the context of the object that owned them.

 

In Version 4, texts exist in their own right; new texts can be created and can then be used anywhere throughout a form or component. Many controls make use of these texts e.g. header texts, help texts, button texts, alternate texts etc – the simplest of these is a Text Control which allows a text to be placed anywhere on a page. All these texts, together with all the Version 3 texts – field texts, group texts, page texts etc – form a single texts pool within each form/component. Any text from the pool can be used anywhere within the form/component.

 

In addition, shared texts have also been introduced. These form a central pool of shared texts that are available to all forms/components. This can be used interchangeably with the form/component texts described in the previous paragraph.

 

For more information, follow these links:

Workflow Tables

New support for tables within a workflow process has been added.

 

Designer Changes

This section describes major changes in the Ebase Designer.

Form Editor

A new Form/Component Editor has been introduced that completely replaces the corresponding Version 3 editor. This has the following major features:

 

 

The new editor has the following dockable panels:

 

For more information, click here.

 

Style Sheet Editor

A new Style Sheet Editor has been introduced that supports the creation of new style sheets plus linking to external style sheets.

See also How Style Is Applied.

 

Presentation Template Editor

A new Presentation Template Editor has been introduced. This supports the creation of default style sheets and default properties for all controls, layouts and some form properties.

See also How Style Is Applied.

 

Workflow Process Editor

This has been re-designed to provide support for tables. The editor has the following new panels:

 

The above panels are all dockable.

 

Dockable Designer Tree and References Panels

The Designer Tree Panel and Reference Panel – on the left of the initial designer display - are both dockable. These panels can be hidden or relocated. Hiding these panels temporarily increases the effective space available for the form designer.

Other Editors

The Integration Service Editor and System Service Editor have been changed. These are effectively the same as the Form Editor except that only the Fields View, Tables View and Properties View are shown.

Miscellaneous New Features

FPL Access to Control Properties

Almost all control properties can be read or set from an FPL script; this greatly increases the amount of dynamic behaviour available to the designer. See Accessing Control Properties from FPL.

New Controls

Many new controls have been added that provide new functionality. Follow the links below for details of each control.

 

Image Control

Add an image (can optionally be clickable)

Include Control

Includes an external HTML or JSP file

Message Control

Acts as a location for error and warning messages

Horizontal Line Control

Horizontal line

Html Control

Allows HTML to be added

Hyperlink Control

Hyperlink, either internal (runs FPL script) or external

Text Control

Text

Button Control

Clickable button

Tab Set Control

Tab Set

Horizontal Menu Control

Horizontal dropdown menu

Vertical Menu Control

Vertical menu

Grid Control

A grid layout control

Browser Screen Stability

A new feature has been introduced to stop the screen from jumping when a browser page is refreshed. In particular, if the user has scrolled the browser display (either vertically or horizontally), the system will attempt to maintain the same position so the screen does not appear to jump. Note that there are some circumstances that can still cause the screen to jump: if the system needs to scroll to make error and warning messages visible, or to honour an FPL set focus command. See scrolling.

Programming With Table Row Numbers

The internal row numbers of a table are now available to application programmers and can be used by an application to perform specific operations on a row e.g. make it visible, delete, highlight etc. Click here for further details.

Date/Time field properties

New options for date and time fields and table columns have been introduced. These are configured in the Field Properties dialog and include the ability to specify the degree of accuracy used when displaying time values, and the ability to configure the value pattern text e.g. hh:mm:ss, dd/mm/yyyy.

UfsLanguage.jar compiler

A tool to compile the FPL.jj syntax file to create the UfsLanguage.jar has been introduced. This is of interest to customers who have added their own functions or commands to the FPL language. The new tool is distributed in the LanguageBuilder directory of the product installation. Refer to the readme file in this directory for instructions.

HTML/XHTML Option

A form can be rendered to a browser using either HTML or XHTML. This option can be set globally for all forms using parameter Ufs.outputDocumentType in UFSSetup.properties or can be set for each individual form on the Presentation tab of Form Properties. These properties also support setting the transitional or strict standard within each protocol.

Message Options

It is now possible to choose where error and warning messages are displayed. A new Message Control has been introduced that represents a location on a page where messages are to be displayed. Each control has message option properties that specify that messages should be shown either locally – meaning local to the control they are linked to - or by a Message Control. The local option is equivalent to the Version 3 functionality where messages are shown above the field or table column that they relate to. See Control Message Options.

Message Display

The following changes have been made to the display of error and warning messages:

Browser Selection When Running Forms

When running a form from the designer, it is now possible to select which browser to open. Browsers are added using the Form Options tab of Designer Preferences Dialog. Option Display options panel when launching forms in the same tab also needs to be checked.

Display Only Controls

All container controls have a Display only property. Setting this option on a container control sets all of its children as display only. This option can be used to make sections of a page, or even an entire page, display only, in a single command.

Call Form/Call URL

In Version 3, there were limitations associated with these commands: they could not be used in all events, resuming execution when returning to the calling form did not always work correctly. These problems have been resolved in Version 4.

Single Namespace per Component

All names within each component or form must now be unique. This includes all fields, tables, pages, texts, controls.

Print Form Designer

The Print Form Designer within the Form Editor has been changed so that it shares many view panels with the Form Editor. The central editor is largely unchanged, except that it is no longer possible to include a text from a table or group.

Running Forms

When a form is run from the designer, it will only be saved if there are unsaved changes. In Version 3, the form was always saved.

FPL Field On Page Commands

In Version 3, there were a number of FPL commands that manipulated a field as displayed on a page. This included:

 

In Version 4, these commands will continue to operate without problem. However the syntax has changed slightly in that <fieldname> has now become <controlname> and the commands are applied to a control. To ensure compatibility with version 3, the system checks first whether a field exists named <controlname> and only checks for a control with this name if a field is not found.

 

In Version 3, many of these commands accept an optional field on page id parameter to distinguish between multiple occurrences of a field on a page. These commands will continue to operate correctly on Version 4 but only for legacy (upgraded) forms; in Version 4, these ids no longer exist: FPL commands that target a specific control should use the control name instead.

 

In Version 4, a certain result can sometimes be achieved in more than one way e.g. the following commands all hide a field (where the field name is F1 and the field control name is FIELDCONTROL1):

 

New Field Display Options

The following new options can be configured for the display of a field using a Field Control:

FPL Group Commands

The hide group and show group commands are supported only for legacy (upgraded) forms and should not be used for new forms as groups no longer exist with Version 4. Instead the new hide/show <controlname> commands should be used or alternatively set the control’s hidden property directly e.g.

set GROUPCONTROL1.hidden = ‘true’;

Loop At Table

The loop at table FPL command now ignores the maximum loop counter set in parameter maxLoopCount of UFSSetup.properties. A loop at table will always loop through all rows in a table unless terminated by a break.

Mandatory Field Validation

When JavaScript is enabled, the check for mandatory fields is performed on both the client and server; in Version 3, this check was only performed on the client. This change should not affect existing applications.

Styling Individual Table Columns

Style can now be applied to individual table columns. This makes it possible for columns to have different alignments. Width and style can also be set for the special Select and Delete table columns.

Control Fields

A Version 3 Control Field has been renamed as an Event Field in Version 4. The functionality provided is unchanged.

Browser IP Address

New system variable $BROWSER_IP_ADDRESS has been added. This contains the browser IP address.

Skip Display Of Empty Pages

In Version 3, the display of a page was skipped if it contained no visible fields, buttons or tables. In Version 4, a page can contain many other elements e.g. texts, images, menus etc and skipping pages in this way no longer makes sense. To provide compatibility with Version 3, option Skip display of pages with no visible fields or tables is provided on the General Tab of Form Properties; this option is set by the upgrade process for all upgraded forms. When this option is not selected, a page is always displayed, even when it is empty.

New Functions

Function gettext() function can be used to read a text.

Function settablerowvisible() can be used to scroll a table to make a certain row visible.

UFSLanguage.jar builder

An application is supplied to compile the UFSLanguage.jar file when additions have been made to the FPL language e.g. new functions. Click here for details.

Default Template and Style Sheet

The system is supplied with a built-in template and style sheet both named EBASE_DEFAULT, and these two are linked together. The EBASE_DEFAULT template is the default template associated with new forms and all components. This default setting can be overridden with the following properties in UFSSetup.properties:

 

Ufs.defaultFormPresentationTemplate – default template for new forms

Ufs.defaultComponentPresentationTemplate – default template for all components

 

Changed Or Removed Functionality

This section describes Version 3 functionality that has been changed or removed. Upgraded forms may need to be modified if they depend on functionality listed here.

Removed Functionality

Accessibility Buttons

The Zoom and Black and White accessibility buttons are no longer available. Corresponding methods in UFSFormInterface have been deprecated.

 

Portlet Style

This has been removed with no replacement.

 

Row Striping Of Non-Tabular Fields

The option to stripe the display of fields has been removed with no replacement. Note that the option to stripe the display of table rows is unaffected.

 

Designer Copy For Table Feature

This Version 3 feature allowed fields from a deployed component to be copied and included as table columns; when changes to the source component were subsequently deployed, these changes were propagated to the copied table columns. This feature is no longer supported with Version 4.

 

Print Buttons

In Version 3, print buttons provided a quick way to add a button to a form that invoked the PDFPrint FPL command. This option has been removed. In Version 4, The PDFPrint command must be added to script and the script linked with the button.

 

Workflow Priority Field

In Version 3, this field property designated a field as being a workflow priority list and automatically associated the field with the static list configured in workflow preferences. This feature is no longer supported with Version 4. Any fields required to display workflow priority lists must be manually associated with an appropriate list.

 

FPL Command Set Table

The use if id to qualify a table with the set table command is no longer supported.

 

UFSFormInterface deprecated methods

The following methods in UFSFormInterface have been deprecated: isDisplayInColour(), getZoomAmount(), isUseStylesheets().

Changed Functionality

Loop At Table/Break

A change has been made to the break command when issued inside a loop at table construct:

 

 

 

This is a change of behaviour that can affect forms that display table columns as individual fields on a page and also use loop at table/break constructs. In this circumstance, table column values from a different table row may be displayed.

 

Validation Events On Label Fields

In Version 3, validation events are executed for label fields; in Version 4, these events are not executed.

 

Focus Style

In Version 3, it was possible to specify standard and error focus styles for each individual page by using template sheets. In Version 4, these can only be specified at form level, with a default in the presentation template.

 

Vertically aligned lists in table columns

In Version 3, a list displayed as radio buttons or checkboxes in a table column was displayed so that it filled the available width of the table column; this often resulted in a significant gap between the button/checkbox and the associated text for each item. In Version 4, the button/checkbox for each item is always displayed immediately next to the associated text with no intervening gap. This change means that vertically aligned lists appear the same when displayed as a single field or in a table column.

 

Messages for hidden fields or buttons

In Version 3, it was possible to hide a field or button and issue a message attached to the field/control, and the message was displayed. In Version 4, the message will not be displayed. Forms that depend on this behaviour should be changed to use a Message Control. Click here for further details of message options.

Version 3 Features:  How They Work In Version 4

This section discusses various features in Version 3 and explains how these work in Version 4.

Field Grid/Same Line Fields

In Version 3, all fields were displayed in a tabular format with labels on the left, the editor portion in the middle and help on the right (with an additional option to display help underneath the editor). There was also an option to display a field on the same line as its predecessor. In Version 4, the same functionality is provided by a Field Grid Layout, which is one of the possible layouts that can be applied to a container control. The upgrade process creates Field Controls and places these in either a Panel Control or a Group Panel Control and applies a Field Grid Layout to these. The same line functionality is provided by the New line property which is available for many controls, but only has meaning when the control is placed inside a container with a Field Grid Layout.

Multi-column Layout

In Version 3, a two column layout was provided which allowed groups and fields to be placed in either the left or right column of a table. In Version 4, this functionality is provided by a Grid Control which is much more flexible. The upgrade process will automatically create a Grid Control when appropriate.

Groups

In Version 3, fields could be grouped together and each group had three texts that could be configured: header, info and trailer. In Version 4, groups no longer exist and have been replaced by a Group Panel_Control which supports the same three texts and options to configure styling of these texts. The group and ungroup functions in the designer no longer exist; instead the same result is achieved by moving controls into or out of a Group Panel Control.

Form Header

In Version 3, a form header text, if configured, was displayed at the top of each page. Small navigation images could also be configured in the presentation template and these were displayed to the right of the form header text. In Version 4, this functionality is unchanged, but is configured in the Presentation tab of Form Properties and more options are provided: the form header can be disabled for all pages in a form, the navigation images can be disabled, the image locations can be configured. In addition, default values for all these properties can be configured in the new Presentation Template Editor.

Page Header, Page Info, Page Trailer Texts

In Version 3, these page level texts provided an opportunity to insert texts at the top or bottom of the page. In Version 4, this same functionality is provided by a Page Panel Control which also provides the ability to style these texts. However, this control is now entirely optional: it could be deleted and any required texts could be added by using a Text Control. A Page Panel Control can be automatically added to all new pages created in the designer to provide equivalent functionality to Version 3 – this option is specified in Designer Preferences – Page Editor tab.

Page Navigation Buttons

In Version 3, forwards and backwards paging buttons and a finish button are displayed at the bottom of pages automatically unless the display of these buttons has been suppressed. In Version 4, this same functionality is provided by a Legacy Button Panel Control and one of these controls is added to each page by the upgrade process. If these page navigation buttons are not required, this control can simply be deleted. Note that this control can also appear any number of times on each page and can be located anywhere. Individual paging buttons can also be added. See Page Sequencing for more information.  A Legacy Button Panel Control can be automatically added to all new pages created in the designer to provide equivalent functionality to Version 3 – this option is specified in Designer Preferences – Page Editor tab.

JSPs

The option to position four JSP or HTML pages – top, left, right, bottom – around a form, is provided unchanged in Version 4. These JSPs can be configured on each page, on each form, or in the presentation template – see JSPs for more details. In addition, JSP or HTML pages can be placed anywhere on a page using the new Include Control. Please note that the WYSIWYG View in the designer does not attempt to display JSP or HTML pages.

Messages

In Version 3, error and warning messages are shown above the field that the message relates to. In Version 4, more flexible layouts are supported, and it is not possible to always place a message above the control to which it relates. Therefore a new capability has been introduced that allows the designer to set up “message areas” and direct messages to these areas; this is implemented using a Message Control. Version 3 messaging is implemented in Version 4 as local messaging and this option is set for upgraded forms by the upgrade process. See also Control Message Options.

Presentation Template Sheets

In Version 3, template sheets were used to invoke different styling parameters within a presentation template for a page, group or table. In Version 4, styling is done differently as described above. Template sheets no longer exist; the upgrade process converts the styling parameters in template sheets into Version 4 Style Sheets.

Buttons

In Version 3, a button was implemented as a special type of field. In Version 4, these button fields are supported only for upgraded forms and cannot be created. Instead, buttons are inserted by adding a Button Control or a Button Column Control (when the button is a table column). Version 3 buttons had an option of being displayed as an image; this is achieved in Version 4 by using an Image Control or an Image Column Control (when the image is a table column).

Tables

In Version 3, a table could only be created by placing it on a page; in Version 4, this functionality is split into two parts: create the table, and then add it to a page (using a Table Control). See Tables above for more details.

 

Horizontal pages are handled in Version 4 by using Table Page Controls, fixed columns are handled by placing columns as direct children of a Table Control, instead of children of a Table Page Control. See Table Display Features for more details.

Page Border

In Version 3, a black inset border was applied to the page content of each page – beneath the form header text, but including the rest of the page. This was implemented using a CSS class rule named mainblock which was generated automatically. Parameter Ufs.presentationBorderSurround in UFSSetup.properties could be used to suppress this border; in some cases this border was suppressed by overriding the mainblock rule in the HTML++ tab of Form Properties for each form.

 

In Version 4, the style applied to the page content is configured using the Page content style property of Page Control and can be changed as required. The upgrade process sets the default class for this property to be mainblock and this rule can also be configured as required. Use of parameter Ufs.presentationBorderSurround in UFSSetup.properties is deprecated. Upgraded forms should be unaffected by this change and any overriding CSS specified in HTML++ should continue to work.