.
Eloquence WEBDLG2 contact contact

Documentation / WEBDLG2

Eloquence WEBDLG2

 
.
  Document revision: 2023-12-01
Refers to WEBDLG2 version: B0830-2211 patch PE83-2311300


Table of contents


We are pleased to welcome you to Eloquence WEBDLG2, the new web browser interface for Eloquence DLG providing complete JDLG object and attribute compatibility.

WEBDLG2 allows to use Eloquence DLG applications from any computer or mobile device, no additional software installation required.


We appreciate and hope for your feedback. Please send your feedback to the support@marxmeier.com address. Thank you very much.

Enjoy!
The Eloquence Team


WEBDLG2 offers the following improvements over its predecessor, WEBDLG v1:
  • WEBDLG2 provides complete JDLG 2.0 object and attribute compatibility.

  • WEBDLG2 uses the WebSocket technology to implement a fast bidirectional low latency communication. WEBDLG2 provides the lowest possible application response times even under wide area network conditions.

  • Dialogs are fully dynamic, the HTML document is updated in place and never reloaded. Applications can update the user interface at any time so that, for example, DLG DRAW now works as expected.

  • WEBDLG2 uses a single server process, the eloqwebd2 server. The WEBDLG v1 mod_eloq Apache httpd web server module is no longer used, which removes the related complexities and performance bottlenecks.

  • The eloqwebd2 server provides an internal web server to serve static documents, typically eliminating the need to configure and run a separate web server, e.g., Apache httpd.

  • WEBDLG2 supports application development and debugging using the interactive eloq/eloqcore or the Eloquence IDE.

Planned WEBDLG2 functionality (not available yet):

  • WEBDLG2 will provide new DLG features to allow applications to support different screen sizes. For example, Dialogs may be configured to show reduced content if an application is run on a mobile device.

  • The attributes below are currently not functional, they are implemented but don't have any effect (DLG SET may be ignored, DLG GET may return zero or an empty string).

    Common attributes
    clipboardcontextmenu, hmax, hmin, wmax, wmin
    Application
    clipboardcontextmenu, referencepoint, referencex, referencey, scalefactor
    Dialog
    enablereference, enablescalefactor, minheight, minwidth, setreference, setscalefactor, yield
    EditText
    linewrap=hard, maxlines
    Splitter
    dividersize
    System
    clipboard, editmode
    TabBox
    scrollable, tabplacement (other than "top")


On the web browser, WEBDLG2 makes extensive use of contemporary JavaScript and CSS functionality. It is compatible with any recent web browser, including Microsoft Internet Explorer 11.

Web browser Min. version
Chrome 57
Edge 18
Firefox 60
IE 11
Opera 44
Safari 11 (macOS 10.11 El Capitan)
Safari iOS/iPadOS 13 (iOS/iPadOS 13)


These are the minimum steps required to get started with WEBDLG2 and the provided demo program:

  1. Configure the eloqwebd2 service name(s) or port number(s) to listen for HTTP and/or HTTPS requests.

  2. HP-UX, Linux: Configure the eloqwebd2 UID system account and GID system group.

  3. Start the eloqwebd2.

  4. Install and run the demo program.

  5. Additional configuration may be neccessary if an external web server is used.


Patch PE83-2311300 (download directory)

WEBDLG2 version: 2.0.16

Fixed problems:

  • ListBoxHeader: Fixed a problem which could cause the eloqwebd2 process to unexpectedly abort with a segmentation fault after DLG GET .line or DLG GET .vline on an empty line.

Patch PE83-2311270 (superseded)

WEBDLG2 version: 2.0.16

New functionality (patch PE83-2310240):

New functionality (patch PE83-2311220):

  • Released the Plugin API version 2.

Fixed problems:

  • Fixed potential 'BUG: onEvent pending click' JavaScript client error.

  • Windows: Fixed internal deadlock potentially triggered when closing a connection. This could cause the eloqwebd2 process to stop serving requests and to hang when stopped.

[BETA] Patch PE83-2311220 (superseded)

WEBDLG2 version: 2.0.16

New functionality:

  • Released the Plugin API version 2. This adds support for synchronized DLG SET attributes and for the binary attribute data type.

Fixed problems:

  • ComboBox, PopText: Open upwards if otherwise the item list would overflow the bottom Dialog edge.

  • Menu: Open right-to-left if otherwise the menu would overflow the right Dialog edge.

  • MenuBar, StatusBar, ToolBar: Fixed various functional and visual problems related to insufficient Dialog width.

  • eloqwebd2.app:: Configured [default] item values could not be reset by configuring an empty item value in an [app_id] section.

[BETA] Patch PE83-2311100 (superseded)

WEBDLG2 version: 2.0.15

Fixed problems:

  • Windows: Fixed a regression introduced with previous patch PE83-2310020 which could cause unexpected connection problems.

[BETA] Patch PE83-2310240 (superseded)

WEBDLG2 version: 2.0.15

New functionality:

Fixed problems:

  • Fixed unexpected Dialog window size when title length exceeds the available space.

  • Fixed various Plugin API issues introduced with previous withdrawn patch PE83-2310180.

[BETA] Patch PE83-2310180 (superseded)

Intermediate patch, do not use.

Patch PE83-2310020 (superseded)

WEBDLG2 version: 2.0.14

New functionality:

Fixed problems:

  • Fixed a problem where the eloqwebd2 listener could block when the web browser opens a speculative pre-connection. As a result, new HTTP or HTTPS requests could hang until a browser pre-connection times out.

  • Fixed a problem where the eloqwebd2 listener could refuse to accept new connections, indicating that the maximum number of clients or sessions are already active. This was caused by a potential overflow of the clients/sessions counters.

  • Fixed the JavaScript client error message issued when a new browser tab or window could not be opened.

Patch PE83-2309200 (superseded)

WEBDLG2 version: 2.0.13

New functionality:

  • eloqwebd2.app:: The SaveLogin configuration has been added.

    Specifies either whether configured Login/Password credentials are cached, or whether the Save Login option of the interactive login dialog is checked.

Fixed problems:

  • Splitter: Fixed wrong pane size when the orientation is modified while the Splitter is already displayed.

  • HtmlView: Fixed <body> attributes of HTML content unexpectedly ignored. If HTML content is set including a <body> element, the <body> attributes are now copied to the HtmlView <body> element.

Patch PE83-2307040 (superseded)

WEBDLG2 version: 2.0.13

Fixed problems:

  • ComboBox: Fixed DLG GET ComboBox.items (aka. ComboBox.list) causing an abort of the eloqwebd2 process with a log message like below:
    Assertion failed: content_l_p != NULL
    server panic: Aborting on internal failure, file c_listbox.c, line 3683

Patch PE83-2306190 (superseded)

WEBDLG2 version: 2.0.13

Fixed problems:

  • EditText: Fixed a regression introduced with previous patch PE83-2306130.
    DLG GET EditText.line[] unexpectedly issued DLG status 660 on valid empty lines.

Patch PE83-2306130 (superseded)

WEBDLG2 version: 2.0.13

Fixed problems:

  • EditText: Fixed wrong DLG GET behavior of line[] and vheight attributes.
    DLG GET EditText.line[] did not issue DLG status 660 if the specified line does not exist.
    The returned DLG GET EditText.vheight value could be off-by-one if the last line is empty.

[BETA] Patch PE83-2306060 (superseded)

WEBDLG2 version: 2.0.13

Fixed problems:

  • Fixed potential race condition which could cause 'App.dlg_DO BUG: whenReady pending' JavaScript client error. The fix in previous patch PE83-2305240 was incomplete.

[BETA] Patch PE83-2305240 (superseded)

WEBDLG2 version: 2.0.13

Fixed problems:

  • Fixed potential race condition which could cause 'App.dlg_DO BUG: whenReady pending' JavaScript client error.

Patch PE83-2305170 (superseded)

WEBDLG2 version: 2.0.13

  • New attribute: Application.sid : integer, get
    Returns the identifier of the invoking WEBDLG2 session.

  • ListBox, PopText: Fixed internal inconsistency after a ListBox or PopText is cleared and new lines/items are added. A subsequent DLG GET .content could then cause an abort of the eloqwebd2 process with a log message like below:
    Assertion failed: bp - val->v.s.p == *content_l_p + nl_cnt
    server panic: Aborting on internal failure, file c_listbox.c, line 3710

  • MenuBar: Fixed unexpected height when Dialog is user-resized, as observed with Firefox browser.

  • Fixed 'this.currDlg is null' JavaScript client error, internally caused by wrong Dialog.timerrule submission while the Dialog is inactive.

  • Fixed various problems related to CloseTimeout and/or DlgQuitStatus and/or DlgQuitRule. If the application is not waiting in DLG DO or POPUP BOX at the moment when the page is unloading, DlgQuitStatus or DlgQuitRule would not be issued afterwards. Also, CloseTimeout was unexpectedly reset to DlgIdleTimeout if the application continues to issue DLG requests.

  • Fixed unexpected failure while creating HTTPS listen socket if both TLSCertChainFile and TLSCertKeyFile are configured, as observed with OpenSSL version 3.0.5. A message like below was logged:
    tls_ctx_set_private_key:1270: SSL_CTX_use_PrivateKey_file error:0A080009
    Unable to create HTTPS listen socket: TLS is not configured

Patch PE83-2304060 (superseded)

WEBDLG2 version: 2.0.12

Fixed problems:

  • Fixed internal ListBox inconsistency caused by failed ListBoxHeader creation. For example, after a ListBoxHeader cannot be created due to DLG status 655 (duplicate object name), the internal number of columns could become inconsistent.

    This could cause a subsequent abort of the eloqwebd2 process with a log message like below:

    Assertion failed: mi == d->n_col
    server panic: Aborting on internal failure, file c_listbox.c, line 752

Patch PE83-2303290 (superseded)

WEBDLG2 version: 2.0.12

New functionality:

  • eloqwebd2.app:: The DlgQuitStatus configuration has been added, allowing an application to gracefully quit before it terminates due to inactivity or after the web browser window or tab has been closed.

[BETA] Patch PE83-2303280 (superseded)

WEBDLG2 version: 2.0.12

New functionality:

  • eloqwebd2.app:: Setting the WarnLeavingPage configuration to 2 always enables the user warning before leaving the page while an application is active, regardless whether or not the current Dialog has the close symbol, and during application development and debugging.

Fixed problems:

  • Fixed unexpected DLG protocol failure when invoking DLG SET "Dialog.do",1 on a Dialog where Dialog.do is already active, causing the related session to abort.

Patch PE83-2303220 (superseded)

WEBDLG2 version: 2.0.11

Fixed problems:

  • Fixed 'apiReceived … invalid, not idle' JavaScript client error, causing the user interface to stop responding until the document is reloaded.

    This was caused by invoking DLG SET "Dialog.do",1 and then invoking DLG DRAW on a different existing Dialog.

  • Fixed new direct Dialog child object added to wrong parent object when the Dialog is already visible. For example, a new HtmlView object, added as direct Dialog child, could become unexpectedly added to the MenuBar.

  • Menu: Fixed passing on background color to MenuItems and sub-Menus. The background color is now passed on only if a Menu is a direct MenuBar child object. This ensures consistent separator colors across sub-Menus.

  • MenuItem: Fixed visual appearance of disabled items. The visual difference of normal vs. disabled items was too subtle.

  • System: Fixed Application start atoms unexpectedly set on new session started via System.start.

[BETA] Patch PE83-2303130 (superseded)

WEBDLG2 version: 2.0.10

Fixed problems:

  • ListBoxHeader: Fixed unexpected DLG status 660 when getting line referring to previously set ListBox vactiveline.

Patch PE83-2303070 (superseded)

WEBDLG2 version: 2.0.10

Fixed problems:

  • Fixed DLG listener not accepting non-localhost connections.

  • Windows: Fixed unexpected issues when shutting down the 64-bit eloqwebd64 process after using DLG listener.

    Possible eloqwebd64 log messages:

    N0: net_shutdown_listen: getsockname failed [10038]…
    N0: net_shutdown_listen: unable to close socket [10038]…
    Possible eloqwebd64 panic:
    Assertion failed: *wait_ob_p != NULL
    server panic: Aborting on internal failure, file srv.c, line 2225

[BETA] Patch PE83-2303060 (superseded)

WEBDLG2 version: 2.0.10

Fixed problems:

  • Fixed DLG synchronization and Dialog.do race conditions.

    These could cause DLG protocol failures under certain conditions which in turn caused the related sessions to abort unexpectedly.

  • TabBox: Fixed a regression introduced with previous patch PE83-2302160 where the selectedtab was no longer reported to the program when modified by the user.

[BETA] Patch PE83-2302210 (superseded)

WEBDLG2 version: 2.0.9

Fixed problems:

  • Fixed a race condition where keystrokes stored in the type-ahead buffer could unexpectedly trigger a rule submission on DLG SET "Dialog.do",1.

    eloqwebd2 log message:

    BUG: invalid response call 6, expected: 10
    User error message:
    Unexpected protocol failure, application closed.

[BETA] Patch PE83-2302200 (superseded)

WEBDLG2 version: 2.0.8

Fixed problems:

  • ListBox, ListBoxHeader: Fixed a regression introduced with previous patch PE83-2302160 which could cause the eloqwebd2 process to unexpectedly abort with a segmentation fault after DLG SET referring to vactiveline.

Patch PE83-2302160 (superseded)

WEBDLG2 version: 2.0.8

Fixed problems:

  • ListBox: Fixed 'TypeError: t is null' JavaScript client error, causing the user interface to stop responding until the document is reloaded.

    This could happen when a ListBox is cleared while line-specific toolhelp[] tool tips are set.

  • ListBox: HTML-decorated column headers were not displayed in the column context menu.

  • ListBox: Fixed unexpected behavior when setting delln or ins or line or rowdata referring to previously set vactiveline.

  • ListBoxHeader: Fixed unexpected behavior when setting line referring to previously set ListBox vactiveline.

  • ListBox, MenuItem, TabBox, Tree, POPUP BOX: Fixed visual appearance, vertical alignment of images in HTML content could be inconsistent.

  • TabBox: Fixed race condition where focus could be incorrectly set on user tab switch, causing selectedtab unexpectedly being set to previous tab.

  • TabBox, Tree: Fixed wrong ruleoverride=1 behavior.

Patch PE83-2302080 (superseded)

WEBDLG2 version: 2.0.7

Fixed problems:

  • Dialog: Fixed setting title and/or logoicon while the Dialog is visible had no visual effect.

Patch PE83-2301270 (superseded)

WEBDLG2 version: 2.0.7

Fixed problems:

  • ListBox: Fixed 'ListBox.setAttr content: lineOrder…' JavaScript client error, causing the user interface to stop responding until the document is reloaded.

    A client-side inconsistency could occur when ListBox.sortsequence as well as the number of lines are modified.

[BETA] Patch PE83-2301200 (superseded)

WEBDLG2 version: 2.0.6

New functionality:

  • eloqwebd2.app: The WindowFeatures.NAME configuration has been added.

    It allows to configure how new web browser windows/tabs are opened. For example, help URLs and/or webprint PDFs may be configured to open in separate browser windows.

  • eloqwebd2.app: The WarnLeavingPage configuration has been added, allowing to enable/disable to warn the user before leaving the page.

    In addition, the warning is now disabled during application development and debugging, i.e., when a DLG listener is used to start an application.

Fixed problems:

  • Fixed a potential use-after-free problem when connections are closed. This could cause an unexpected abort of the eloqwebd2 process, for example with a message like below:
    S0: Assertion failed: BUG: unknown callback
    S0: server panic: Aborting on internal failure, file worker.c, line 145
    

[BETA] Patch PE83-2301190 (superseded)

WEBDLG2 version: 2.0.5

New functionality:

  • To prevent unintentional program termination, the user is now warned before leaving the page (e.g. when trying to close the web browser window or tab).

    The warning is issued if the user tries to leave the page while the program is not interactive, i.e., currently outside DLG DO, or when the current Dialog's rule attribute value is zero (i.e., the current Dialog does not display the close symbol in its title bar).

Fixed problems:

  • Fixed 'apiReceived op 25: invalid, focus pending' JavaScript client error, causing the user interface to stop responding until the document is reloaded.

    This was caused by invoking DLG SET "Dialog.do",1 and then invoking DLG DRAW on a new Dialog.

  • Revised HTTP status 403/404 verbose debug logging, related file system error is now logged when the H3 log flag is configured.

Patch PE83-2301120 (superseded)

WEBDLG2 version: 2.0.4

Fixed problems:

  • TabBox: Fixed a problem where selectedtab contents were not displayed as expected. This could happen if a TabBox has not been sensitive and then TabBox.sensitive=1 is set and TabBox.selectedtab is modified.

[BETA] Patch PE83-2301020 (superseded)

WEBDLG2 version: 2.0.3

Fixed problems:

  • Dialog: Fixed 'webdReceived: invalid mode…' API thread JavaScript error, caused by setting the Dialog.xauto attribute to 0 or -1 while Dialog.yauto is set to 1, or vice-versa.

  • eloqwebd2.uri: Fixed configured Index file name was not applied to subdirectories.

  • eloqwebd2.uri: Fixed potential eloqwebd2 start failure while booting the system if a configured Path refers to a file or directory where the related file system is not mounted yet.

    The Path configuration is now checked when accessed for the first time, instead of being checked on eloqwebd2 startup.

[BETA] Patch PE83-2212210 (superseded)

WEBDLG2 version: 2.0.3

New functionality:

  • eloqwebd2.uri: The Index configuration item has been added.

    Specifies an index file name to be used when the request URI matches a directory in the file system.

Fixed problems:

  • Fixed 'setFocus: from… not registered' JavaScript client error, causing the user interface to stop responding until the document is reloaded.

    This was caused by invoking DLG SET "Dialog.do",1 and then opening a new Dialog. The new Dialog then failed to access the previous Dialog's focus object.

  • Fixed 'apiReceived op 24: invalid, not idle' JavaScript client error, causing the user interface to stop responding until the document is reloaded.

    This was caused by a client-server race condition.

  • Fixed 'BUG: elementsChanged no current Dialog' JavaScript client error.

    This was caused by pressing the context menu mouse button while the Dialog is not interactive.

  • MenuBar: Fixed setting visible=0 and sensitive=0 had no effect.

  • TabBox: Fixed tab not implicitly selected when focus is set to a contained object.

  • TabBox: Fixed sensitive=0 tabs were not displayed.

  • TabBox: Fixed setting selectedtab had no effect if the related GroupBox object id is modified afterwards.

  • TabBox: Fixed setting selectedtab could have unexpected effects when tabs are deleted afterwards.

  • Application development and debugging: When a DLG listener is connected, the eloqwebd2 user agent was not marked as authenticated.

    As a consequence, the eloqwebd2 internal web server returned a 403 Forbidden status for an URI configured with GroupList = @auth.

  • eloqwebd2.uri: Fixed ContentType:application/octet-stream HTTP response header unexpectedly returned when configured Path refers to a file.

  • eloqwebd2.mime: Specifying media type parameters, for example "charset", was not possible. Parameters were unexpectedly truncated.

    For example: text/markdown; charset=UTF-8
    Truncated to: text/markdown;


 
 
 
  Privacy | Webmaster | Terms of use | Impressum Revision: 2023-12-01  
  Copyright © 1995-2023 Marxmeier Software AG