Changes in this Release

Documentation home

 

Additions for V4.0

 

Ebase Version 4.0 introduces major changes in functionality in both the server and designer. Click here for details.

 

Additions for V3.4.0

 

Server changes:

 

  1. The after field event has been split into two new events: a validation event and an immediate event (the immediate event is shown in the designer as either an on click or an on change event). This change resolves a problem where after field events for immediate validation fields were executed unexpectedly. See understanding Ebase events for more information.

 

The upgrade process has converted after field events as follows:

 

Field Type

Pre V3.4 event

V3.4 event

Button

After Field

On Click

Hyperlink

After Field

On Click

Immediate Validation

After Field

Validation (no change)

All other field types

After Field

Validation (no change)

 

Note that after field events for immediate validation fields have not been automatically converted to the new on change event. The reason for this is to maintain compatability with previous releases. However, when the functionality performed by such an event is solely to execute some sort of immediate action (as opposed to validation of field content), the event can safely be manually changed to an on change event.

 

Upgrade compatibility note: Fields which are dynamically changed to become hyperlinks using the FPL command set XXX hyperlink are not converted automatically and the conversion must be done manually after the upgrade process has been completed. For all such fields, remove any scripts from the validation event and add them to the on click event.

 

  1. Starting from this release, a validation event for a field is executed only when the field’s value is set or changed (either by the user or some other mechanism e.g. via a resource, list, FPL command etc.). In previous releases, the after field event was also executed when a change was made to the value of a field higher on the same page. This change represents a simplification and it is unlikely to cause problems for existing forms.

 

Upgrade compatibility note: forms that rely on after field events executing when a change is made to a field higher on the same page will need to be amended.

 

  1. A new previous page event has been introduced. This runs when the system-supplied previous page button is clicked. See understanding Ebase events for more information.

 

  1. A new skip validation option can be configured for buttons. This option is intended to be used for buttons that have “cancel” or “go back” functions. When this option is selected, the system skips the validation that is normally executed: this includes the check for missing mandatory fields, checks against any field validators and any supplied validation events. This option is configured by right clicking on a button and selecting button properties.

 

  1. Support has been added for the browser back button. A property can be configured for each form which controls whether or not that form supports the use of the browser back button. When back button support is enabled, the user is allowed to use the back button to return to an earlier page or an earlier form and continue from that point; a browser back button event is fired to allow the form to reset any state to handle this. When back button support is disabled, Javascript is used to intercept the back button and return the user to the last page displayed. See browser back button support for more details.

 

Upgrade compatibility note: this represents a change of behaviour when browser back button support is disabled (which is the default): in earlier releases, the back button appeared to work and then the user was returned to the last page displayed when he/she clicked on a button or hyperlink. In this release the back button is intercepted and it is obvious to the user that it cannot be used.

 

  1. Operation without cookies is supported so long as support for the browser back button is enabled. See cookieless operation for more details.

 

  1. The system now provides protection against the user repeatedly clicking on a button or hyperlink without waiting for a response. The system behaviour when this occurs is to process only the first message received. See repeated clicking for more details.

 

  1. The limitations on the use of the call form FPL command have been removed.

 

  1. The call url and goto url FPL commands have new options of GET (the default) or POST.

 

  1. New options have been added to control when a dynamic list is built. For all new dynamic lists, the default is that the list is only built when it is first displayed. Dynamic lists created in previous versions will be built each time the page is displayed – this is the same behaviour as all previous releases.

 

  1. When a dynamic list is configured for a table column, the system will, where possible, just build a single list and share this between all rows of the table. This is a performance enhancement and does not have any functional implications.

 

  1. Support is provided for environment variables. These are defined in the web.xml file and will normally be used to hold constants for a particular server instance e.g. file path locations, remote url’s etc. Environment variables are used in the same way as form fields and can be used in FPL commands, to specify the URL in print resources, in adapter parameters for XML and Web Services Resources, to specify the URL for button images etc. See environment variables for more details.

 

  1. Print forms have been enhanced to allow certain elements to expand dynamically to accommodate the data content; this includes tables, tick lists and text areas. When an element is dynamic, all elements below the dynamic element are automatically shifted down the page, or onto a new page if the element is moved past the bottom of the page.  See dynamic print form elements for more details.

 

  1. The widths of the table cells used for form field labels, field values and field help texts can now be specified in the form editor using slider bar controls. The slider bars are available at both page and group level. In previous releases, these table cell widths could only be changed by creating additional sheets in the presentation template.

 

  1. New options have been introduced to allow the scrolling bar control for a table to be configured in the presentation template. This includes:

·         scroll bar can be located above or below a table, or both

·         scroll bar can be aligned left, right or centre

·         clickable page numbers can be included

·         top, next, back and bottom controls can be images or texts

·         the top and bottom controls are optional

·         an optional prefix text can be included

·         stylesheets can be applied to each part of the scroll bar

The scroll bar can be previewed in the designer.

 

Upgrade compatibility note: the relative positions of the top, next, previous and bottom icons has changed as follows:

V3.4.0 (from left to right): top, next, previous, bottom (the same as most search engines)

Earlier releases (from left to right): next, bottom, top, previous  

 

  1. The rows displayed when a user scrolls page by page to the bottom of a table have changed. In previous releases, a full page of rows was always displayed as the last page. Starting from this release, scrolling to the bottom page is handled in the same way as scrolling to any other page. For example: a table has 12 rows and are displayed in sets of 5. Scrolling page by page through this table in previous releases would display: rows 1 – 5, rows 6 – 10, rows 8 – 12. Scrolling page by page through this table in this release will display: rows 1 – 5, rows 6 – 10, rows 11 – 12.

 

Upgrade compatibility note: this represents a change in behaviour. See description in paragraph above.

 

  1. A new option in table properties has been added to allow the display of table column headers to be suppressed.

 

  1. Empty tables will only be displayed if they contain an add row button or the display row info option is selected. In previous releases, empty tables were sometimes displayed with just column headers or with just a rectangle surrounding the table.

 

Upgrade compatibility note: this represents a change in behaviour. See description in paragraph above.

 

  1. A new option NODISPLAY has been added to the PRINT and PDFPRINT FPL commands. This allows a PDF to be generated and saved to the file system, but without display to the user.

 

  1. Many field and table properties can be accessed read-only in FPL using property expressions fieldname.propertyname e.g.

if [ MYTAB.rowCount > 0 ]

   ..

endif

Note that the rowCount property can be used to query the number of rows in a table at any time. See table and field property expressions for more detail.

 

  1. Some table properties can be changed using the new set table FPL command e.g:

·         set table MYTAB.numrows = 12;

·         set table MYTAB.columnHeaders = false;

See the set table FPL command for a list of properties.

 

  1. The FPL command SET TEXT has been deprecated. See the command description for an alternative.

 

  1. The following parameters in UFSSetup.properties are no longer required to work with sequences: Ufs.dbDriver, Ufs.dbUrl, Ufs.dbUserid, Ufs.dbPassword. Starting from this release, sequences do not require any configuration. It is not necessary to remove these parameters.

 

  1. The isauthorised() FPL function has been deprecated, use isauthorized() instead.

 

  1. It is now possible to specify the character encoding to be used for each language. This should only be specified where the default encoding provided by the application server is incorrect. See character encoding for more details.

 

  1. Starting from this release, an integration service can no longer be invoked using a CALL FORM command, or via the scheduler, or via the run button in the designer. An integration service can only be invoked via a Web Services request.

 

  1. When Oracle is used for the Ebase Repository database, the minimum level of the Oracle JDBC driver supported by Ebase has changed to Oracle 10g Release 2 (10.0.2.3). This change arises because all Oracle LONG columns are changed to CLOBs as part of the upgrade procedure and there are problems with Oracle support for CLOBs that are only resolved at the latest level. The required level of the driver can be downloaded from here. For Tomcat systems, this should be copied to Tomcat/common/lib.

 

Upgrade compatibility note: if Oracle is used for the Ebase Repository database, please check the level of the JDBC driver as described above. If this instruction is not followed, ORA-0600 failures can occur when saving data to columns of type CLOB where the data length is greater than 4000 characters.

 

 

Designer changes:

 

  1. Many usability changes have been made to the designer tree which appears on the left hand side of the designer panel. The most obvious change is that it is now necessary to double click on an item to open it – in previous releases a single click was used to open an item. The following new or enhanced functions are available by right clicking on elements in the designer tree:

 

·         Create new element - allows creation of all element types supported as children of the clicked element

·         Open – same as double click

·         Delete – displays warning messages if the elements are referenced by other elements

·         Copy

·         Rename

·         Move – moves item(s) to another project

·         Export – opens the export dialog for the selected item(s)

·         References – opens the References panel in the bottom left of the designer window

 

Many of these functions can be used when multiple elements have been selected.

 

Upgrade compatibility note: a double click is now required to open elements in the designer.

 

  1. The events dialog for adding scripts to events has been changed. The available events for an element are now displayed in a tabpane format. Any events where one or more scripts are already configured are identified by a superscripted * character to the right of the tab name. When the Add Script button is clicked, all scripts in the current project are displayed first, followed by all scripts in the GLOBAL project.

 

  1. The execution order of scripts within an event can be changed by clicking on new up and down arrows.

 

  1. A new events view of a form or component has been added – this provides a view of all script processing for a form or component. This view is selected by clicking the display event map icon  on the form tool bar or selecting Form -> Tools -> Display Event map from the menu. When selected, the event map view is displayed in the References panel in the bottom left of the designer window. Only those events that have one or more scripts configured are shown. Scripts can be opened in the script editor by double clicking on the script name.

 

  1. New testing dialogs have been added to allow both Integration Services and Web Services Resources to be tested. An Integration Service is tested by first publishing it as a Web Service then clicking the Test Web Service button in the Web Services editor. A Web Services Resources is tested by clicking the Test Web Service button from the adapter configuration panel of a Web Services Resource.

 

  1. When an element is opened that is locked by another user, it will now be opened in read-only mode.

 

  1. When fields are inserted or dropped on the last field of a group in the form editor, the fields will no longer be added to the group.

 

  1. References to a form field can now be displayed by right clicking on the field in the fields panel (right-hand panel in the form editor) and selecting References. The field references panel appears in the bottom left hand corner of the designer window. Please note that, at present, this function will not report references to a field from a script.

 

  1. When a new field is added to a form by clicking the new field icon  in the fields panel (right-hand panel in the form editor), it is now added to the top of the fields table. In previous releases, new fields were added to the bottom of the fields table.

 

  1. The import and export dialogs now support the use of sub-directories within the transport directory.

 

  1. The export function allows the replacement of existing export files.

 

  1. More options have been added to the designer preferences dialog.

 

  1. A Browse.. button has been added to all panels in the designer where a file or URL on the server can be configured e.g. location of images, JSPs etc.

 

  1. The open items toolbar at the top of the designer has been re-structured. When this is full, the  icon is displayed which can be used to access additional open items.

 

  1. The image for a library form can now be stored either locally in the UfsClient/images folder or remotely on the server. In previous releases, the image could only be stored locally. A Browse button has been added to the form properties dialog for forms in the LIBRARY project to support server browsing.

 

  1. There are numerous additional minor changes to designer dialogs and panels.

 

  1. Support for Ctrl-S key press to save the selected frame and support for F1 key press that displays the appropriate help topic on the selected frame.

 

  1. Search control when adding a resource to a business view and when adding script to events panels. Type search when either dialog is displayed and a search textbox appears that automatically selected the item that is the nearest match to the search criteria.

 

 

Java developer changes:

 

  1. Use of method getFieldValue() in ResourceRequestInterface has been deprecated. For new developments, use getFieldValue2() instead – this method differs from getFieldValue() in that it returns a Long object for fields of type DATE instead of a String, otherwise it is identical. The Long object can then be used to create an instance of java.util.Date.

 

  1. Use of methods getCurrentValue() and getOriginalValue() in TableCell has been deprecated. For new developments, use getCurrentValue2() and getOriginalValue2() instead. These methods have been deprecated because they return internal Ebase SystemValue objects.

 

 

Additions for V3.3.1

 

 

  1. Introduction of the Ebase Integration Server. This separately licensed component allows Web Services to be created and published. Each web service operation is associated with an Integration Service which runs an integration event when the web service is called.

 

  1. The FPL script editor has been improved and a number of features have been added including line numbers, find, undo and redo, cut and paste etc. A script assistant popup panel has also been added which is invoked by Ctl + space bar. This panel presents lists of form fields, pages, resources, commands etc that can be selected and inserted directly into a script. See working with scripts for more details.

 

  1. The XML and Web Services resources have been enhanced to allow the creation and editing of document structures. This is in addition to the existing functionality that allows the import of xsd and wsdl files. Also, the structure of XML documents has been made more clearly visible.

 

  1. New FPL script command interpret has been added.  This command evaluates an expression and then processes the result as an FPL command. See FPL command syntax for more details.

 

  1. New FPL script  command copytable has been added.  This copies the contents of one table to another. See FPL command syntax for more details.

 

  1. A new system variable $COMPONENT_PREFIX has been added which contains the component prefix that applies to the event being executed.

 

Additions for V3.3.0

 

  1. Introduction of the Ebase Workflow system.

 

  1. Addition of two new external resource types: XML Resources and Web Services Resources. These new resource types provide comprehensive facilities for processing XML documents and calling Web Services. The new resources use adapters to specify the details of where an XML document is read from or written to e.g. a Web Services Adapter provides details of the target system for a web service, a File Adapter provides file paths for reading and writing XML documents from or to the file system etc. Internally, XML Resources are the same as Web Services Resources, the only difference being the selection of a different adapter type. See XML Resource Concepts for more information.

 

Upgrade Note: the custom resources XMLCustomCustomResource, WebServicesCustomResource and XMLCustomResourceExample that were initially shipped in V3.2.1 are still supported in V3.3 and subsequent releases and forms using these resources will continue to operate without change. However, these custom resources will not be developed further, and it is recommended that all new applications requiring XML and/or Web Services support  use the new resources.

 

  1. A new security model that allows authentication of runtime users and subsequent authorisation checks. This includes a new authorisation to control form execution. In addition, a new security authorisation is required to access the Ebase Designer.  (See Ebase Security for more information)

 

Please note that usernames are now case sensitive.

 

Upgrade Notes:

·         The upgrade process will make all configuration changes required to enable these changes. No further changes are required. 

·         The upgrade process will reset the passwords of all designer users. After the upgrade, each user will be requested to reset their password as they log on to the designer.

·         Please note that security profile definitions exported from a V3.2 system cannot be imported into V3.3. If this is attempted, a warning message will be issued and the profile elements will be ignored.

 

  1. The concept of validators has been introduced. A validator performs some sort of validation on input entered by an end user e.g. check length of entered data, regular expression, minimum and maximum values etc. The specific validators available for any field depend on the field type. Validation can be performed on the client (using javascript) or on the server or both. New validators introduced with this release are:

·         minimum length

·         regular expression

·         email address

·         credit card

·         numeric value range

Note that these validators are system provided validators and are not related to any specific validation of user input provided as part of a form as an FPL script.

 

The following changes have been made to the field properties dialog to accommodate validators:

·         The maximum field length attribute is now a validator

·         The input mask attribute is now a validator

·         The check on the number of decimal digits that can be entered for numeric fields is now optional

 

See validators for more information.

 

Upgrade Note: in all earlier releases, a check on the length of data entered for each field by end users was only performed if the user had changed the contents of the field. Starting from this release, this length check is performed on all enterable fields regardless of whether or not data has been changed by the end user. It is therefore possible that an application that works in a previous release now fails. For example a field ADDRESS_LINE1 has been imported from a database into a form via a database resource. In the database and the database resource, the maximum length of ADDRESS_LINE1 is defined as 400, but in the form the maximum display length has been changed to 50. An application that reads the data from the database and allows the user to change it would work fine prior to this release with data values for ADDRESS_LINE1 greater than 50, so long as the end user did not change the data. However, starting from this release, this application will generate a validation error message as the unchanged data value is submitted to the server.

 

  1. The format of the Ebase licence file has changed. When upgrading to V3.3.0 or higher from V3.2.1 or an earlier release, it is necessary to apply for a new licence by following the licensing procedure.

 

Upgrade Note: a new licence is required when upgrading from any earlier release.

 

  1. A new ON ERROR event has been added which receives control when a runtime form error occurs. This can be used to route users to an error page, or to continue execution of the form if required.

 

  1. New ABORT FPL command can be used to terminate a form programmatically. Routes control to the ON ERROR event if configured.

 

8.      New facilities have been added to enable focus to be set to an individual field on each displayed page:

 

    1. The new setfocus FPL command
    2. Clicking on a form control that fires an event e.g. a button, hyperlink or immediate validation field, sets focus to the field that triggered the event
    3. Default focus is set to the first enterable field on each page

 

Upgrade Note: from this release, the default focus is set to the first enterable field on each page – this represents a change of behaviour as previous releases did not set any focus. In addition, customers who have added custom javascript to invoke the setFocus() function will need to disable the setting of default focus to the first field on each page. This can be done by setting Ufs.defaultFocusToFirstField=false in UFSSetup.properties. Alternatively, any such forms can be modified to include the new setfocus command and the custom javascript can then be removed. See Controlling Focus for more information)

 

9.      Support for multiple concurrent browser sessions for a single user.  This feature was added to V3.2.1 with fix pack 30032006 and is therefore only new for users upgrading from an earlier level. 

 

Upgrade Note: this can impact existing applications that use the Http session context to pass information into a form or between forms, and such applications may need to be modified. Please see the “Guidance for developers” section in Support for Multiple Sessions for details.

 

10.  Checkbox fields now support display with labels to the right or left of the control, and can be displayed horizontally or vertically. With this change, checkboxes have the same range of display options as radio buttons.

 

11.  A field can dynamically be set as a hyperlink using the set xxx HYPERLINK command. The corresponding unset command can be used to remove a hyperlink.

 

12.  New field types TIME and DATETIME have been added.  See field types for more information.

 

13.  Starting from this release, Ebase will be shipped with a number of additional FPL functions that are not part of the core FPL language and have not been added to the functions table. In general, these functions supply a piece of explicit functionality needed in a specific circumstance. They are documented separately and can be added as required (Tools à Maintain Functions).

 

14.  Form field variables specified in external resources, dynamic lists or form texts can now be specified using syntax &&VAR1 or &&{VAR1} . This new second format allows variables to be substituted regardless of the character following the variable name. In addition, when used in database resources and dynamic lists variables specified as &&{VAR1} will not be enclosed in single quotes. This means that this syntax can be used to build search queries using the SQL LIKE clause e.g. where XYZ like ‘%&&{SEARCHSTRING}%’.

 

15.  It is now possible to enter native SQL for both database resources and dynamic lists. In addition, substitutable variables can now be entered in all 4 SQL boxes for both database resources and dynamic lists. (See Working with Databases and Working with Dynamic Lists for more information)

 

16.  A new option has been added that allows a single list value to be selected when a dropdown list only contains a single entry (this is available from the lists tab of the field properties dialog.

 

Upgrade Note: selection of a single list value was the default behaviour before V3.3.0. Therefore, to maintain compatability, this option has been set for all existing fields by the upgrade process.

 

17.  A new parameter Ufs.presentationBorderSurround can be specified in UfsSetup.properties. When set to false, the rectangular box surrounding each displayed form is removed. This is a global property and applies to all forms in the system. (See Ebase Startup Parameters for more information)

 

18.  A new parameter Ufs.skipBrowserAttributesCheck can be specified in UfsSetup.properties. When set to true, the system skips the check of client browser capability that is normally made on each new browser connection. This can be useful to resolve problems that can occur when Ebase is displayed in a frame as part of a CRM or CMS system. (See Ebase Startup Parameters for more information)

 

19.  Recommended minimum screen resolution for the Ebase Designer has been increased to 1152 x 864. This resolution or greater is recommended if the designer is used to create workflow processes.

 

The following functional changes were introduced in fix packs for V3.2.1

 

20.  Additional methods insertRow() and deleteAllRows() have been added to UFSFormInterface. These methods enable tables to be populated from custom functions or JSPs. See online javadoc for further details.

 

  1. The instring( ) FPL function now has an optional 3rd parameter to specify the start position of a search.

 

22.  Change in scheduling of after page events. From this release, an after page event is always executed when the user has clicked the next page button or the finish button and all fields on the page have been validated. The only exception to this rule occurs when the after page event for the page was also executed as a result of the previous display of the page and this resulted in one or more warning messages. In this circumstance, if the user clicks again on the same next page button or the finish button and does not make any changes to fields on the page, execution of the after page event is bypassed.

 

23.  Changes in how some field types are displayed in print forms:

 

·         static list fields will now show display values instead of return values

 

·         date, numeric and currency fields appearing in tables are now displayed with regional formatting

 

 

Additions for V3.2.1

 

1.       Internationalisation Changes

 

Internationalisation support has been extended to include the following:

 

·         Extension of the language code to support the formatting of date and numeric fields.

·         Ability to extract the runtime language code used to run a form from any of:

o        The URL i.e. passed as a parameter

o        The session i.e. the language code was set earlier

o        The user’s browser preference

o        The system default language

·         The ability for end users to enter formatting characters (usually commas and decimal points)  in numeric fields

·         The ability to display texts in an alternate language if a text is not available for the current runtime language

·         The default language used for each designer user has been moved from the user security record to designer preferences

·         The ability to specify whether digit group separators are displayed on a field by field basis

·         Forms to be executed by the Ebase Batch System can specify a language

 

Please see Internationalisation Support for more information.

 

Upgrade Notes:

·         After upgrade, the internationalisation dialog (Tools à System Preferences à Internationalisation) must be used to set language preferences for your system. As a minimum, you should set the system default language (distributed as English) and the corresponding formatting language if the displayed formatting options are not acceptable.

·         The display of date and numeric fields may be slightly different compared to previous releases

·         Date and numeric fields supplied as input to the Ebase Batch System must now be supplied in the appropriate format for the language of the form

·         Language code EN is supplied with UK formatting of date and numeric fields. North American users should change this as follows:

    • Start the internationalisation dialog (Tools à System Preferences à Internationalisation)
    • Select English and click on Properties
    • Check the language code at the top of the page is ‘en’
    • Change the formatting language to American English (en_US)
    • All designer users should change their default language (File à Preferences)

 

2.       Enhancements to Import/Export 

 

  • Introduction of an alternative import/export technique based on a file structure where each file contains the export of a single Ebase element
  • When using this new technique, options are provided to export the entire Ebase Repository and to perform to import of an entire Ebase Repository deleting all existing elements
  • The ability to export all system elements with the exception of scheduled tasks
  • Scheduled import and export facility that can be triggered from an external script 

 

Upgrade Note: the following property must be added to the UFSSetup.properties on the Ebase server to enable the new file strucure based import and export feature. If this property is not configured then the additional functionality will be disabled.

 

        Ufs.export.location=<export-directory-location>

 

    (See Using import and export for more information)

 

3.       Changes in handling of the browser back button: these changes have been introduced to address problems when clicking the browser back button with certain versions of Internet Explorer 6. In previous Ebase releases, a page expired message or a failure message was displayed when the back button was clicked. This will no longer occur. Details of Ebase handling of the browser back button can be found in Known Issues.

 

4.      An option has been introduced to control the positioning of the HTML <form> tag in the generated output of each page. This option allows two conflicting requirements to be met:

 

  • the ability for included JSP or HTML panels to contain their own <form> tags unconnected with the Ebase form.
  • the ability for included JSP or HTML panels to contain form controls (e.g. buttons) that control processing of the Ebase form and to do this when Javascript is enabled or disabled.

 

See Interacting with an Ebase Form from a Panel for more information)

 

5.       Enhancements to the Ebase Scheduler to support triggering of a scheduled task from an external process or from the command line. A scheduled task can be triggered for execution by either an operating system command – ebasetrigger – or via an XML interface. See Ebase Scheduler for further details.

 

6.       Changes to table sort. Starting from this release, the system maintains a single sort order for each table, and this sort order can be set either by the end user using the sort icons or via the FPL SORT command. (See Table Concepts for more information)

 

Upgrade Note: in previous releases, an FPL sort command had no impact on the sort order displayed to the end user.

 

7.       Custom resource enhancements:

 

  • The custom resource editor now allows the specification of an external name for each resource field. This allows the external name to be different from the resource field. New methods on ResourceRequestInterface support this new property.

 

  • A new button has been added that allows an XML Schema document to be imported. This function creates a resource field hierarchy represented by the XML Schema document.

 

  • The restriction on the naming attribute fields has been removed

 

  • Methods of ResourceRequestInterface that return multiple fields e.g. getTopLevelNames, getChildren(), now return the fields in the order in which they are displayed in the custom resource editor.

 

  • Method getAllRows() of TableDataInterface now returns rows in sort order.

 

  • Each table row within a table is now identified by a unique number. Methods are supplied on TableRow and TableDataInterface to use this unique number.

 

  • New methods commitTransaction() and rollbackTransaction() have been added to CustomResourceInterface.

 

(See Working with Custom Resources for more information)

 

8.       New FPL functions added:

 

encrypt()

Encrypt or decrypt a String value

getcookie()

Get a cookie from the user browser

setcookie ()

Save a cookie to the user browser

 

9.       List behaviour has been changed to allow the end user the option of unsetting a value chosen from a dropdown list. In previous versions, once a value had been selected, the “Select” option was no longer displayed and the user had no means of unsetting the value. From this release, “Select” is always displayed as the first line of a dropdown list and if chosen, sets a null value for the field in question. This behaviour only applies when a list is displayed as a dropdown, not when it is displayed as radio buttons or checkboxes.

 

Additions for V3.2.0

 

1.       The product has been renamed from UFS to Ebase and most of the references to 'UFS' have been removed. Any remaining references will be removed in future releases.

 

  • The UFS Forms Designer is renamed as Ebase Designer
  • The UFS Forms Server is renamed as Ebase Application Server

 

2.       A new powerful technique for creating dynamic PDF documents has been introduced. This enables the production of high quality print documents by using a new WYSIWYG print form designer. Data from a form is automatically merged at runtime into the generated PDF document(s).

 

Highlights include:

 

  • Each form can have any number of print forms
  • Each print form can have any number of print pages
  • Print form pages are designed separately from web form pages
  • Support for master pages
  • Support for styles to control all formatting options e.g. fonts, sizes, colours, borders, alignment etc.
  • Support for bar codes
  • Inclusion of images
  • Inclusion of rectangles and lines

 

Upgrade note: the PDFPrint command has been completely replaced. Applications written using V3.1.0 or earlier that made use of this command must be manually upgraded.

 

(See Printing Concepts for more information)

 

3.       The layout of the form designer has been changed to accommodate the print forms described in the previous paragraph. The changes are:

  • A new tab option where the designer can select either:
    • Web Design to build the web form (same as previous releases)
    • Print Design allows creation of print forms
  • A Hide Pages/Show Pages toggle to the left of the main design area. This can be used to hide or show the page control area where page properties and new pages can be configured. Hiding this area maximises the amount of space available for design.
  • A Hide Fields/Show Fields toggle to the right of the main design area. This can be used to hide or show the form fields tabular display. Hiding this area maximises the amount of space available for design.
  • Upgrade note: The Table View showing all fields on the selected page is only available if preference option Show tables view for form editing has been checked. This can be accessed via the file menu (File à Preferences).

 

4.       Components have been significantly extended. Starting from this release, the following elements can additionally be included within a component:

 

  • Tables
  • A component business view and field resource mappings

 

In addition, FPL resource command verbs e.g. fetch, update etc, can be explicitly directed to a resource contained within a component business view by specifying the component prefix in parentheses after the resource name. This change allows component fields to be mapped to resource fields in a component, but with corresponding actions performed by events outside of the component.

 

These changes mean that a component can be constructed to represent any application function, without restriction. (See Component Concepts for more information)

 

5.       If component fields are copied into a table (i.e. a table in a form containing the component, not a table in the component) by selecting the component fields using the Copy existing fields button of the Create Table Dialog, the new table column fields will be treated as a logical extension of the component. In particular, any changes made to the component fields will also be made to these copies when the component is deployed.

 

6.       Upgrade note the Ebase Application Server and the Ebase Designer must both be run with the same level of Java. The Ebase Designer is shipped with an embedded Java Runtime at level 1.4.2_07. Therefore the Ebase Application Server must also be run with this Java level. Please note that the minimum Java level for both Designer and Server is Java 1.4.1 and 1.4.2 is recommended.

 

7.       Custom resources have been extended to add support for processing of tables. Tables can now be backed by either a database resource or a custom resource. Whereas each database resource can only support a single table, each custom resource can potentially support multiple tables. When a table is configured as backed by a custom resource, the system displays a list of eligible tables supported by the resource. Within each custom resource, an eligible table is configured as a repeating field (see next item) See custom resources for more details on these changes.

 

8.       Many changes have been made to custom resources to facilitate support for XML documents. The next version of Ebase (V3.3) will provide a full XML resource capability. Version 3.2 custom resources represent an interim step that introduces many new facilities to enable full XML support.

 

  • The custom resource editor has been extended to support

·         parent/child relationships such as those found in an XML document

·         definition of repeating fields (these become candidates for mapping to form tables)

·         definition of key fields

·         definition of attribute fields (this is only meaningful for XML documents)

 

  • All resource FPL script commands can now specify an optional binding, which can be used to specify additional information to a custom resource.

 

  • A new CALL FPL script command has been added.

 

A sample XML custom resource implementation class XMLCustomResourceExample is provided with this release, together with a small example of an application that uses this to read and write XML documents to and from flat files. This example includes processing of tabular and non-tabular fields, attributes, and many other standard XML features. It can be used as an example to build specific customer implementations or it can be used 'as is' to support additional XML applications.

 

This sample custom resource class uses XPath to position correctly within an XML document., and XPath requires a number of additional XML API jar files. Some application servers may already include different versions of some of these XML API classes within their internal classpath, and this can lead to classpath errors when using XMLCustomResourceExample.

 

See XMLCustomResourceExample for more details on the sample XML custom resource.

 

Upgrade note: starting from this release, custom resource implementation classes must be serializable (must implement java.io.Serializable) in order for their state to be saved and restored by save/restore operations. This is also required to support clustered server environments..

 

(See Working with Custom Resources for more information)

 

9.       A new licensing mechanism has been introduced. Starting from this release, a licence file must be included with each Ebase system. The licence file governs the server systems where the Ebase Application Server can run, the installed product features, and the maximum number of runtime and designer users.

 

See Ebase Licensing Procedures for Instructions on how to apply for a licence.

 

A new http session listener has been introduced to ensure the number of concurrent users is correctly counted. This must be added to the web.xml file (see upgrade instructions).

 

!!! Upgrade note: Licence files are NOT distributed with the Ebase software and must be applied for separately as part of the upgrade procedure.

 

10.   The designer preferences can now be edited and saved using a new dialog File à Preferences.

 

Upgrade note: Please note that in order to see the tabular page view, you must select option Select tables view for form editing in the preferences dialog. Unless this option is selcted, the Table View tab is not displayed.

 

11.   All form and system texts can contain form field variables indicating values to be substituted dynamically at runtime. Each variable is prefixed by && to indicate a substitutable field value. e.g. form text: Department &&DEPT - expenditure for &&YEAR is displayed as Department Personnel - expenditure for 2005 if field DEPT has value 'Personnel' and field YEAR has value '2005'.

 

12.   The use style sheets option in the presentation template editor is no longer available. Style sheets will automatically be used if the client browser system supports their use.

 

13.   A new check has been introduced on the length of data entered into a textarea. Before this release, there was no limit to the amount of data that could be entered in a textarea; from this release it is not possible to enter more than the amount specified by the field Max. display length. So from V3.2, the length attributes for a textarea are as follows:

 

Display length:                   sets the width of the text area

Max. display length:  controls the maximum number of characters that can be entered

 

!!! Upgrade note: existing forms should be checked to ensure that display length and max. display length are set correctly for textareas

 

14.   The dropdown list of font sizes in the presentation editor has been changed from pixel units (px) to em's. This change has been made in line with the W3C accessibility recommendation to use relative as opposed to absolute font size units.

 

Upgrade note: Existing templates containing pixel units can be converted to 'em' units by opening them in the presentation template editor and then right clicking over any Text size value or heading. An option is then presented to convert from pixel units to em units. The template should then be saved and tested. Note that this conversion may result in small changes to displayed font sizes. The action should be repeated for each presentation template in the system including the supplied DEFAULT template.

 

15.   A debug option has been added to database and custom resources. When checked for a database resource, this will provide information on the SQL issued to DBMS systems as a result of FPL script commands. Custom resource Java classes can use the isDebug() method of ResourceRequestInterface and issue appropriate debugging messages.

 

16.   The callscript FPL command has been changed to accept an expression which, when evaluated, supplies the name of the script to be called. e.g. the following are all equivalent and result in script ABC being called.

 

callscript 'ABC';

 

callscript 'A' + 'B' + 'C';

 

set MYVAR = 'ABC';

callscript MYVAR;

 

callscript ABC;

 

In addition, system variable $COMMAND_STATUS is set to indicate the status of the callscript command as follows:

 

OK                    The called script was executed successfully

NOT FOUND        The script could not be found

 

Upgrade note: In previous releases, a form would fail during execution if the target script to be called could not be found. From this release, system variable $COMMAND_STATUS is set to 'NOT FOUND' and form execution continues. If this situation could arise, a check of $COMMAND_STATUS should be added after any callscript statements.

 

17.   New FPL script commands have been added to set presentation attributes at the group level:

 

    • unset group <groupname> hidden | mandatory | displayonly;
    • unset group <groupname> hidden | mandatory | displayonly;
    • hide group <groupname>;
    • show group <groupname>;

 

(See FPL Script Command Syntax for more information)

 

18.   A number of layout changes have been made affecting the relative positioning of page title and information texts, and group title and information texts. In particular, a hidden group - i.e. a group with all fields hidden - will no longer occupy space on a displayed page.

 

Upgrade note: this can result in small changes to the layout of existing forms. In particular, if HTML line break elements have previously been added to page header and group header texts, these may now result in unnecessarily large spacings and may need to be removed.

 

New FPL functions have been added. (See FPL Script Command Syntax for more information)

 

buildlistfromtable()

Builds a list from column(s) in a table

settablerow()

Sets the current row of a table by comparing a specific column with a value

getsessionvariable()

Gets an HTTP session variable from the session context

setsessionvariable()

Sets an HTTP session variable in the session context

 

19.   Secure forms support. HTTPS is supported when secure forms option is selected within the form designer form properties.

 

Upgrade note: See Ebase Secure Forms

 

20.   The goto form FPL command has been changed to accept an expression which when evaluated, supplies the name of the target form.

 

  

Additions for V3.1.0

 

1.     Extensive changes have been made to enable the creation of forms that comply with the W3C Web Accessibility Content Guidelines to level AAA. See Web Accessibility for more information.

 

2.     Database resources used for backing tables have to be explicitly declared as a "Table Resource".

The default for a newly created database resource is for it NOT to be a table resource - as shown in the diagram below.

 

Only after declaring a database resource as a "table resource" (by selecting "Yes" for Table Resource), can it be associated with a table.

Once a database table resource has been associated with a particular table, no other table in the form can use this same resource.

 

3.     Newly created tables must have a "Table Prefix "associated with them. A default prefix is automatically created when the table name is entered in the Create a new table dialog. This default can be modified by directly changing the Table Columns' Prefix text. For example, in the following diagram, as the Table Name of CUSTOMERS is entered, a Table Prefix with the same name is also created.

 

The significance of this table prefix is as follows:

·         Whenever ANY column is added to a table, the name of that column's field is automatically prefixed with the Table Columns' Prefix.

·         Tables cannot share fields. If there is a requirement to share a field's data between two or more tables then an FPL script should be used to explicitly copy the field.

 

Tables which were created before the introduction of the Table Column Prefix continue to work as before and do not need to be modified.

Any newly created tables will follow the new rules laid out in this documentation.

 

 

 

 

4.     The method of creating an external resource from a table has been simplified. This function is now provided as part of the table menu - right-click on the table header and select the "Create external resource" menu item.

 

5.     The call form FPL command has been extended to allow the target form to be dynamic i.e. it can be specified as a form field.

 

6.     Input masks have been enhanced to support variable length strings using the minus character e.g. a mask of -NN is anything ending with two numerics e.g. ABCDE23 5623 ab5rw54 are all acceptable.

 

7.     The page title height and width options have been removed from the presentation template editor. The page title will occupy the full available width and the height will be sufficient for the page title text.

 

8.     Importing database tables and stored procedures from an MS SQL Server database has been enhanced to support multiple databases.

 

9.     The restriction that prevented update FPL commands from being issued against a view has been removed.

 

10.            The maximum length of a form field has been increased from 50 to 250 to allow for the addition of prefixes from components and/or tables. However, the maximum enterable length remains at 50.

  

Additions for V3.0.4

 

1.      A new component type has been added and the existing component types have been re-named as follows. These changes will not affect existing components or forms containing components. See component concepts for more details.

 

Old name

New name

Description

 

Fields-only

New component type - contains no visible elements. This component type can only be added to a form using the Form menu.

Fields-only

Part-page

Contains a number of visible fields and/or groups. This component type can only be added to an existing page of a form.

Page-based

One-or-more-pages

Contains one or more entire pages. This component type can only be added by right-clicking on an existing page button.

 

2.       New parameters designerWidth, designerHeight, dividerLocation have been added to the designer preferences.properties file to set the initial size of the designer window and the relative size of the navigation tree panel. See configuring the forms designer for more details.

  

Additions for V3.0.2

 

1. Support for tables.

 

A table represents a 2 dimensional array of data values that can be displayed in a tabular format. The main features of tables are:

 

·         Table data can be loaded from and saved to an external resource such as a database

·         Table appearance can be fully customised

·         Table rows can be updated, deleted and inserted by the user or programatically using FPL

·         An optional select column can be added as the leftmost column to support programatic row selection

·         All entered data can be validated using after field events in the same way as for non-table fields

·         Tables can contain a mixture of resource and non resource fields

·         Tables can contain lists

·         A table can be sorted on any column, ascending or descending

·         Tables can be scrolled both vertically and horizontally

·         Tables can contain fields of any type

·         Tables can be processed programatically

 

See table concepts and capabilities for more information.

 

The following restrictions currently apply. These will be lifted in a future release of Ebase:

 

·         tables cannot be added to components

·         optimistic locking cannot be applied to tables

·         tables cannot be loaded or saved using a custom resource. The documentation to do this is included with this version but this feature has not yet been implemented.

·         a form containing tables cannot be executed in batch mode

·         there is no printing support for tables

 

2. LOOP FPL script commands have been introduced. There are two basic loop commands:

 

loop [ conditional expression ]

...

endloop

 

and....

 

loop at table tablename

....

endloop

 

The break statement has also been added to break out of a loop. See FPL script command syntax for more details.

 

3. A new add fields dialog has been created which makes it much easier to add multiple fields and import fields from an external resource.

 

4. A field can be declared as a hyperlink. When a hyperlink fields is clicked, the after field event for the field is executed. Hyperlink fields can be thought of as an alternative to using action buttons.

 

5. Support has been introduced for database auto-increment columns. These are columns where the database automatically provides a value when a record is inserted e.g. SQL Server id columns. Any column marked as read only in a database resource will be read from the database but never updated or inserted. New tables imported from the database will have the appropriate columns marked read only automatically.

 

6. The database import dialog has been enhanced. It now allows a name to be specified for the database resource name created (previously, this always inherited the database table name), and also prompts as to whether the imported database table is to be used in an Ebase table or not. This allows key fields to be removed from the resource WHERE clause.

 

7. CALLSCRIPT and RETURN script commands have been introduced. The format is:

 

In the calling script:

 

callscript scriptname;

 

In the called script:

 

      return;

 

          See FPL script command syntax for more details.

 

8. A field can now appear many times on the same page. To distinguish between multiple occurrences of a field when using an FPL command, the field id can be appended to the fieldname as a qualifier. e.g.

 

set MYFIELD : 230 hidden;        (where 230 is the field id)

 

The field id can be found from the tooltip display by holding the mouse over a field or its label text. If the field id is omitted, then the command is applied to the first occurrence of the field on the page.

 

9. Highlighting styles can be applied to individual fields, table rows or table cells and can be used to draw attention to something or to provide visual separation of data e.g. by colour. A style is created using the presentation template editor and applied and removed using the highlight and unhighlight FPL commands.

 

10. Changes have been made in the implementation of sequences to make these more robust. Previously, sequence updates were included within the Ebase transactional context and were rolled back if there was a failure. In Version 3, sequence updates are committed immediately and cannot be rolled back. To support this change, four parameters must be added to UFSSetup.properties to enable the use of sequences. See working with sequences for details.

 

11. Mouseover tooltips are now displayed at various points in the designer to provide an immediate display of element properties . For example, holding the mouse over a field or its label text will show a tooltip containing the field's properties. If required, the tooltip time lag periods can be set using properties Designer.toolTip.initialDelay and Designer.toolTip.reshowDelay UFSSetup.properties.

 

12. Changes have been made to custom resources to improve the specification of parameters required for a resource and the FPL commands supported by a resource. See working with custom resources for more details.

 

Additions for V2.8.1

 

Improvements to UFS operation in a clustered environment.

  

Additions for V2.8.0

 

  • Improved sharing of UFS elements
    1. Introduction of components. These are snippets of forms consisting of anything from a single field to multiple pages, together with associated processing logic. Components can be created and maintained separately and then linked to any number of forms.
    2. Introduction of global scripts which can be accessed from forms in all projects.
    3. Introduction of global messages which can be issued by forms in all projects.

 

  • The connection between the designer clients and the server has been changed to use HTTP instead of RMI. Designer connections can now be made through firewalls or across the internet.

 

  • A popup calendar is now available for date fields.

 

  • A customer specific logon exit routine can be coded which provides the ability to link to external security systems and single signon domains not supported by the J2EE application server.

  

Additions for V2.7.0

 

  • File handling. The ability to upload files from the end user, to save generated PDF documents, and to email uploaded files, generated PDFs or other files as attachments.

 

  • All system texts can now be edited using the System Text Editor Tools à System Texts Editor. The mandatory indicator * has been added as system text 22.

 

  • Radio buttons can be horizontally or vertically aligned and can have the text to the left or right of the button.

 

  • Timeouts are detected and a new customisable page ufs_timeout_page.htm is displayed.

 

Additions for V2.6.2

 

  • LDAP support. Ability to obtain information such as name, email, etc. about the user running a form, from the deployed LDAP directory. New $USER_ system variables contain the requested user attributes. A new configuration file contains mappings between the attribute name in the LDAP directory and the $USER_ system variables. The location of this file is located in the UFSSetup.properties file.

 

  • .2 new system variables: $FILE_NAME contains the full path of the last file created by the system, $SESSION_ID is the session id supplied by the application server for the current end-user session.

 

  • Ufs version numbering has been rationalised. The 3rd digit now represents a Service Pack. There is no additional Service Pack numbering. So, this is version 2.6 Service Pack 2.

 

  • When a system error occurs, the error page is displayed, followed by the actual error message as generated by Ufs. This applies to both Test and Production system modes. The error page can be customised.

 

  

Additions for V2.6.0

 

  • Ability to dynamically create and display a PDF document for printing, including the option to include a barcode.

 

  • Introduction of text only fields.

 

Service Pack 1

 

  • New and improved icons introduced within the designer. Call Form and ReturnFrom Form functionality has been enhanced.

  

Additions for V2.5.5

 

New commands

 

  • CALL FORM enables a UFS form to call another UFS form and then return control to the original form, with parameters being passed in both directions. The RETURNFROM FORM command enables return from a called form to the caller. See the internal documentation on FPL Script syntax for more information.

 

New database data types

 

  • All Databases:          Data type bit is now supported.
  • MS SqlServer:          Data types ntext, nchar, nvarchar are supported.

 

Other changes

 

  • MS Access database is now supported.

 

·         Support for database table and column names containing spaces.

 

·         Ability to specify JSPs at form level as well as in the presentation template.

 

·         New system variables $UFS_SERVER_NAME, $UFS_REQUEST_URL, $UFS_RETURN_URL

 

Additions for V2.5.4

 

·         Ability to import UFS transport files in batch mode.

 

·         Ability to specify the port to use for an RMI registry.

 

Service Pack 1

 

  • New command CALL URL allows calling an external application with subsequent return. Parameters can be passed in both directions. Also the GOTO URL command now takes an expression as its argument.

 

Service Pack 2

 

Minor bug fixes.

 

Service Pack 3

 

New function osfiles() added. Returns a list of operating system file/directory names within a given directory.

 

New custom resourse CSVResource added. Allows writing comma delimited form data to a csv file.

 

Service Pack 4

 

Minor bug fixes.

 

Service Pack 5

 

JSPs can be specified at presentation template level, as well as at form level. When present, form level jsps override template level jsps.

  

Additions for V2.5.3

 

Passing values to the form from Javascript

 

Three new system variables $USERVAR1,2,3 can be used to pass values into a form from Javascript. See the internal documentation on FPL Script syntax for more information.

 

Currency fields

 

A new field type 'currency' has been added. This behaves in the same way as numeric fields except that the specified number of decimal digits are always displayed to the user i.e. a value of 95.1 is displayed as 95.10.

 

Rounding of numeric field values

 

For numeric and currency fields, the value maintained by the system is always rounded to the specified number of decimal digits. Seven different rounding algorithms are possible.

 

Graphical interface for Form Maintenance

 

Within the designer, forms may now be maintained using the new graphical interface, as well as using the original grid interface. As of V2.5.3, the multi-column layout is not supported by the graphical interface.

 

Field groups

 

Field groups are now defined at page level and not at form level.

 

Multi column forms

 

A field or group of fields may be specified to be shown in the left or right column within a page. Furthermore, each group may be aligned with any other group on the same page, which is in the opposite column.

 

Date formats

 

A new server property (specified within UfsSetup.properties) allows selection of one of 6 date formats:

dd/mm/yyyy, dd.mm.yyyy, dd-mm-yyyy, mm/dd/yyyy, mm.dd.yyyy, mm-dd-yyyy.

The selected format is used for both data entry and for display purposes.

 

New commands

 

2 new commands, show and hide, are synonymous with old commands unset ... hidden and set ... hidden, respectively

 

Page toolbar buttons moved

 

The page toolbar no longer exists. The 'page properties' and 'delete page' functions are now accessed by right clicking a page button. The 'add page' button has moved to the form toolbar.

 

Service Pack 1

 

Functions datetostring() and dayofweek() updated to handle multiple date formats.

 

Graphical designer now provides support for the multi-column layout.

 

Service Pack 2

 

RMI port to communicate with the Designer Server can be customised.

  

Additions for V2.5.1

 

Within the Designer component tree, each Ufs component type is indicated by a different icon. Open components are shown in bold and also appear in the open components menu bar at the top.

 

Additions for V2.5.0

 

Batch Manager

 

This is a new UFS component that provides the ability to receive XML files and process these in offline mode. A Batch Administration component is included with facilities to display, control and re-process input XML. For more information, please see the Ebase Batch System. This component is a prerequisite to using with the UFS interface to the Kofax scanning system.

 

Scheduler

 

This is a new UFS component that facilitates routine execution of both the provided UFS system tasks and customer written tasks. A customer written task is a standard Java class that implements a supplied interface. See the Ebase Scheduler for more information.

 

Script wizard

 

This wizard allows the automatic creation of commonly used FPL scripts.

 

Encryption of form parameters

 

This is a security feature that allows sensitive form parameters to be encrypted. See encrypting form parameters.

 

Help buttons

 

Every component within the designer now has a context sensitive Help button.

 

Adding scripts to events

 

Scripts can now be added to an event at a specific location.

 

New system variable

 

$SYSTEM_TIME - the current time in hh:mm format.

 

Lotus Notes

 

Support for Lotus Notes as database.

 

Changes to event processing logic

 

Starting from this release UFS will treat a field as having been changed if a change is made to the field's value from any source e.g. by the end-user, reading from a database, set from an FPL script. Prior to this, only changes made by an end-user were recognised as change events.

 

Support for Adobe V5

 

UFS now uses the Adobe FDF V5 toolkit. This provides both full support for V5 documents plus a 100% Java implementation. The dlls required for the previous version of the toolkit are no longer needed.