---------------------------------------------------------------------- ELOQUENCE B.08.10 - patch PE81-1104010 ---------------------------------------------------------------------- This patch adds enhancements or fixes defects of the Eloquence WEBDLG components as released with Eloquence B.08.10. This patch will be integrated in the Eloquence B.08.10 release. Eloquence B.08.10 must be installed before applying this patch. Severity: PE81-1104010: ENHANCEMENT, BUG FIX Superseded patches: none Patch PE81-1104010 ------------------ Platforms: All * WEBDLG Dialogs are now dynamically updated, whenever possible, using Ajax ("Web 2.0") browser functionality. As long as a DLG DO invocation refers to the same Dialog that is currently displayed, and this Dialog is not structurally modified, the HTML page is not reloaded but dynamically updated. This may significantly improve performance if a Dialog frequently returns to the program. The attributes below are considered to not modify the Dialog structure. Common attributes: - rule, focus, udata CheckBox and RadioButton attribute: - active EditText attributes: - content, cx, cy, topitem, clear, add, line, home, end, bol, eol, up, down, left, right, npage, ppage, ins, delch, delln, deleol, deleot, file, insertfile, writefile ListBox and PopText attributes: - content, cx, cy, topitem, activeline, clear, add, line, home, end, bol, eol, up, down, left, right, npage, ppage, ins, delln, deleot, file, writefile Image attribute: - url If a program invokes DLG SET to modify any other attributes than listed above, or if a program invokes DLG NEW or DLG DEL, WEBDLG assumes that the current Dialog is structurally modified and therefore causes the HTML page to be reloaded. Whether or not this feature is used is automatically determined, depending on the browser capabilities. The new [HTML] EnableAjax eloqwebd configuration parameter may be used to globally disable this feature if desired: [HTML] EnableAjax Nonzero (default): The Ajax functionality is enabled if supported by the browser. Zero: The Ajax functionality is disabled, i.e., the HTML page is reloaded whenever a Dialog returns to the program, as in previous WEBDLG versions. * Changed the default value of the [HTML] RuleOnChange eloqwebd configuration parameter to zero. The reason for this change is the improved Dialog performance caused by the new Ajax functionality, which makes the previous nonzero RuleOnChange default value no longer necessary. * WEBDLG now enforces the Dialog tab order. In addition, the RETURN and ENTER keys are now by default enabled for tab navigation. The new [HTML] FocusTabMode eloqwebd configuration parameter allows to configure this new functionality: [HTML] FocusTabMode 2 (default): The Dialog tab order is enforced, the TAB and RETURN and ENTER keys are enabled for tab navigation. 1: The Dialog tab order is enforced, only the TAB key is enabled for tab navigation. 0: The browser handles the tab navigation, as in previous WEBDLG versions. The tabindex HTML attribute is used to propose the desired tab order to the browser. The new common tabstop attribute may be used to exclude an object from the Dialog tab order: tabstop : integer, get/set Nonzero (default): The object is part of the Dialog tab order. Zero: The object is not part of the Dialog tab order. The new common tabonenter attribute may be used to specify for an object whether or not the RETURN and ENTER keys are enabled for tab navigation: tabonenter : integer, get/set Nonzero: The TAB and RETURN and ENTER keys are enabled for tab navigation. Zero: Only the TAB key is enabled for tab navigation. The default value is nonzero for EditText and ListBox objects and zero for all other objects. Notes: - If set to nonzero for a Button object, the RETURN and ENTER keys can no longer be used to trigger the button. - For multi-line EditText object, the RETURN and ENTER keys always add a newline character, i.e., they are never enabled for tab navigation, regardless of the tabonenter attribute. * Enhanced the support for CSS style definitions. - The GroupBox style may now be specified using the eq_groupbox CSS class, for example: .eq_groupbox { background-color: #00c0c0; ... } - For EditText objects, the eq_edittext, eq_edittext_ml and eq_edittext_ro CSS classes are now combined, depending on the EditText attributes: eq_edittext - defines the CSS style for every EditText object eq_edittext_ml - is applied in addition to the eq_edittext class if the multiline attribute is set to nonzero eq_edittext_ro - is applied in addition to the eq_edittext class if the editable attribute is set to zero For example: .eq_edittext { font-family: Courier; ... } .eq_edittext_ml { color: #000077; ... } .eq_edittext_ro { background-color: #ffffe0; ... } In the example above, a multi-line non-editable EditText object would be displayed using a Courier font, a #ffffe0 background color and a #000077 foreground color. - The new common cssid and cssclass attributes allow to override the default CSS class for an object. cssid : string, get/set Specifies a CSS identifier for an object. In contrast to a CSS class, a CSS identifier should be unique, i.e., should be used by only one object in a Dialog. For example, if cssid = "Title" would be set for an object, the CSS definition below would be applied: #Title { background-color: #c000c0; ... } cssclass : string, get/set Specifies a CSS class for an object. A CSS class may be used for multiple objects in a Dialog. For example, if cssclass = "My_GroupBox" would be set for the GroupBox objects in a Dialog, the CSS definition below would be applied: .My_GroupBox { border-style: ridge; border-width: 1px; border-color: #880000; ... } Note: If the cssid and/or cssclass attributes are set, the default CSS class for the specific object is no longer applied. In addition, if the specific object is a Dialog, GroupBox or Image and the object does not explicitly set any of the border attributes, the border properties are honored as specified in the CSS definition. * Apache version 2.2 only: Added support for HTTP Basic Authentication against the eloqsd server. If configured, the browser opens a Login Dialog to query the user name and password, which are then authenticated against the eloqsd server, where the user must be configured in the eloqd.user file. In a second step, the same user name and password are then used to start the configured program. Configuration example (Apache httpd.conf configuration file): SetHandler eq-web-dlg EloqCommand "PROG1,WWW" ... AuthType Basic AuthBasicProvider eloqsd AuthName "PROG1" EloqSDHostname "192.168.33.44" SetHandler eq-web-dlg EloqCommand "PROG2,WWW" ... AuthType Basic AuthBasicProvider eloqsd AuthName "PROG2" EloqSDHostname "192.168.33.44" ... In the example above, the browser opens a Login Dialog when the PROG1 program is started, and again when the PROG2 program is started. This is because two different "realms" are configured using the AuthName parameters: "PROG1" and "PROG2". The browser stores separate user name and password information for each realm. Once a login was successful, the browser caches the user name and password information for the realm and no longer opens a Login Dialog (depending on the browser implementation, possibly subject to the browser configuration). Notes: - The mod_eloq EloqSDHostname configuration parameter must be specified if the eloqsd server is located on a remote system, as shown in the example above. It may however be omitted if the eloqsd server is located on the local system. - The mod_eloq EloqSDUser and EloqSDPassword and the eloqwebd [EloqSD] User and Password configuration parameters must not be configured, otherwise the user name and password specified in the Login Dialog are not used to start the program. - The user name and password specified in the Login Dialog may be resolved in the mod_eloq EloqCommand and EloqEnvironment configuration parameters using the $authlogin and $authpassword tokens (see below). - A program may query the user name and password specified in the Login Dialog using the System.authlogin and .authpassword attributes (see below). - The browser sends the user name and password information in clear text, therefore this should only be used in a trusted environment, unless the Apache web server is configured to use the secure HTTPS protocol. - This functionality depends on the Apache 2.2 authentication provider support and therefore does not work with Apache versions before 2.2. * Added support for token and environment variable resolving in the mod_eloq EloqCommand and EloqEnvironment configuration parameters. The EloqCommand and EloqEnvironment values may use the tokens listed below which are resolved when the program is started: $remoteaddr - This token is replaced with the IP address of the system where the browser runs. $remotename - This token is replaced with the host name of the system where the browser runs (equivalent to $remoteaddr if the host name is unknown, e.g. if the Apache web server is not configured to perform DNS reverse lookups). $remoteport - This token is replaced with the port number the browser uses for this request. $authlogin - This token is replaced with the user name if HTTP Basic Authentication is used. $authpassword - This token is replaced with the password if HTTP Basic Authentication is used. $(VARIABLENAME) - This token is replaced with the value of the VARIABLENAME environment variable. * Added the PopText object class. The PopText class implements a selectable list which displays one single line. It provides the same attributes as the ListBox class. * Added the borderstyle attribute for Dialog, GroupBox and Image objects: borderstyle : string, get/set Specifies the border style. Possible values are: "none" - no border "solid" - solid border "dotted" - dotted border "dashed" - dashed border "double" - double borders "groove" - 3D grooved border "ridge" - 3D ridged border "inset" - 3D inset border "outset" - 3D outset border By default, a solid border is displayed if the border thickness (defined by the border attribute) is 1, or a 3D grooved border is displayed if the border thickness is greater than 1. Note: If an object-specific CSS id or class is defined and the object does not explicitly set any of the border attributes, the border properties are honored as specified in the CSS definition. For details, please refer to the cssid and cssclass documentation above. * Added the ListBox ruleoverride and singleclick attributes: ruleoverride : integer, get/set If nonzero, the rule of a previously focused EditText object is overridden (the ListBox rule value combined with the EditText path is returned). The default ruleoverride value is zero. singleclick : integer, get/set Specifies which action should activate a rule submission: 3 (default) - rule submission on mouse button single click, SPACE key (if supported by the browser) or UP/DOWN cursor keys 2 - rule submission on mouse button double click, SPACE key (if supported by the browser) or UP/DOWN cursor keys 1 - rule submission on mouse button single click or SPACE key (if supported by the browser) 0 - rule submission on mouse button double click or SPACE key (if supported by the browser) * Added the System authlogin and authpassword attributes. authlogin : string, get Returns the user name if HTTP Basic Authentication is used. authpassword : string, get Returns the password if HTTP Basic Authentication is used. * By default, the generated JavaScript functions are now provided in a separate session-specific document, i.e., the JavaScript functions are no longer part of the HTML document containing the Dialog. This may improve performance if the browser keeps the compiled functions in memory, depending on the browser capabilities. The new [HTML] JsInline eloqwebd configuration parameter may be used to globally disable this feature if desired: [HTML] JsInline Zero (default): The JavaScript functions are provided in a separate session-specific document. Nonzero: The JavaScript functions are part of the HTML document containing the Dialog, as in previous WEBDLG versions. * Fixed the POPUP BOX default button behavior. The default button is now correctly focused when the POPUP BOX is initially displayed. * DLG GET "System.version" returns "B.08.10.01". Installation: ------------- Please download the patch archive that corresponds with the installed release. The patch files follow the conventions below: PE81-1104010-hpux-ia64.tar.gz ^ ^ ^ | | Architecture / OS specific build | Operating system Patch ID HP-UX: In order to install this patch, you need to unpack it with gzip and tar. Gzip is included with HP-UX. Installation requires root privileges. Before installation, please consider stopping the Apache web server. cd /opt/eloquence/8.1 gzip -dc /path/to/PE81-1104010-hpux.tar.gz | tar xf - Files: bin/eloqwebd lib/hpux32/mod_eloq22.so (Apache 2.2 32-bit, Itanium) lib/hpux32/mod_eloq2.so (Apache 2.0 32-bit, Itanium) lib/hpux64/mod_eloq22.so (Apache 2.2 64-bit, Itanium) lib/hpux64/mod_eloq2.so (Apache 2.0 64-bit, Itanium) lib/pa11_32/mod_eloq22.so (Apache 2.2 32-bit, PA-RISC 1.1) lib/pa11_32/mod_eloq2.so (Apache 2.0 32-bit, PA-RISC 1.1) lib/pa20_32/mod_eloq22.so (Apache 2.2 32-bit, PA-RISC 2.0) lib/pa20_32/mod_eloq2.so (Apache 2.0 32-bit, PA-RISC 2.0) lib/pa20_64/mod_eloq22.so (Apache 2.2 64-bit, PA-RISC 2.0) lib/pa20_64/mod_eloq2.so (Apache 2.0 64-bit, PA-RISC 2.0) newconfig/config/eloqwebd.cfg share/doc/PE81-1104010-README Linux: In order to install this patch, you need to unpack it with tar. Installation requires root privileges. Before installation, please consider stopping the Apache web server. cd /opt/eloquence/8.1 tar xzf /path/to/PE81-1104010-linux.tar.gz Files: bin/eloqwebd lib/mod_eloq22.so (Apache 2.2 32-bit, Itanium: 64-bit) lib/mod_eloq2.so (Apache 2.0 32-bit, Itanium: 64-bit) lib64/mod_eloq22.so (Apache 2.2 64-bit) lib64/mod_eloq2.so (Apache 2.0 64-bit) newconfig/config/eloqwebd.cfg share/doc/PE81-1104010-README Windows: Two options are available for patch installation. The patch is available as self extracting archive for automatic installation and as a zip archive for manual installation. Both patches are equivalent. Installation requires administrative capabilities. For automatic installation of this patch, please download the patch file PE81-1104010-win32.exe. Before installation, please consider stopping the Apache web server, then execute the patch installation program. Installation does not require a reboot unless the patched files were active. For a manual installation of the patch, please download the patch file PE81-1104010-win32.zip and unpack its contents. Then perform the following steps: * Please make sure the Apache web server is stopped before installing the patch. * Please copy the eloqwebd.exe file into the Eloquence bin directory. (Default location: C:\Program Files\Eloquence\8.1\bin) * Please copy the mod_eloq22.so and mod_eloq2.so files into the Eloquence lib directory. (Default location: C:\Program Files\Eloquence\8.1\lib) * Please copy the eloqwebd.cfg.sam file into the Eloquence etc directory. (Default location: C:\Program Files\Eloquence\8.1\bin) * Please copy the PE81-1104010-README.txt file into the Eloquence share\doc directory. (Default location: C:\Program Files\Eloquence\8.1\share\doc) Files: eloqwebd.exe mod_eloq22.so (Apache 2.2) mod_eloq2.so (Apache 2.0) eloqwebd.cfg.sam PE81-1104010-README.txt