CM WebClient 1.8.8 Release Notes

CM WebClient 1.8.8 Release Notes

Download current GA Release : Download CM WebClient 1.8.8

WebClient Mobile Updates

To see the latest updates of WebClient Mobile, please visit: WebClient Mobile repository.

What's New?

  1. Support Java 11
  2. Complete functionality of DojoTimePicker.ctrl to display time field with drop down values
  3. WebLink.ctrl to display a text field as a URL
  4. WebImageGrid.ctrl enables displaying images inside a grid control
  5. Chart.ctrl enables displaying chart types of pie, donut, line, bar and spline
  6. Rich Tooltip support for edit field and grid control
  7. WebImageGallery.ctrl for displaying image gallery using Check out how to implement custom WebImageGallery.ctrl here
At CMFirst we continuously work to improve CM Webclient, to check the latest fixes/enhancements that are included in the new pre-release Webclient version please go to Updates to CM WebClient 1.8.7  (this is for registered user only, please Login if you are already registerd if not Sing Up if you haven't or Login if you are registered)

Bug Fixes

  • Improve double-click event sometimes not being being fired in the grid
  • CSS fix to allow combo box adaptive to any height value
  • Improve 'RegisterKeyEvent' action in popup window
  • Support the 'ESCAPE' key as a hotkey
  • Improve enable and disable keyboard event tracking
  • Improve handling multi-line column headings and special characters not exported from grid to PDF export
  • Avoid triggering 'Load Grid' event when the grid is cleared
  • Allow alert type command to appear in alert action
  • Add StreamException to UserStorage to be used in Plex action diagram
  • Fix tab key not working in time field when Define.TimePattern=24 is specified in file
  • Support "es-mx", "es-419"  locale
  • Refresh grid control after the popup window is completely rendered
  • Fix date field to update the value of the hidden input element with the value of the displayed input element
  • Improve fixed positioning for the child functions contained in a tab control
  • Add triggering grid selection event before processing the right-click event in grid control
  • Remove registerKeyboardEvent action when the event is disabled
  • Fix for when grid column heading text contains semicolon
  • Fix for grid columns not appearing by the cookie name value stored in the browser local storage
  • Improve the display of calendar widget when the screen size is smaller than the widget height
  • Fix an error when the grid control is disabled in Internet Explorer 11 if any logical event of the grid is deactivated
  • Add "ScrollPagePerPage" property in WebGrid.ctrl to make the grid scrolling only loads one page at a time
  • Fix to prevent the spin control from returning blank if no change is made in WebSpinEdit.ctrl
  • Fix for combo box in Firefox doesn't always set the control state to protected when the panel is loaded
  • Fix for not able to generate a web template for a function which has a field with empty val set to *Null
  • Fix for not able to detect init-param webclient.proppath inside <servlet> context
  • Create a unique Id for each tree control in WebAccordionTree.ctrl
  • Improve edit mask for fields with data type of Double
  • Enable "Hide" and "Show" actions in tab control
  • Destroy orphan menu items that causes re-registering the same widget when re-entering the same function
  • Improve month view validation and scrolling bar in EventCalendar.ctrl
  • Fix getting the correct start date and end date values showed in the month view of EventCalendar.ctrl
  • Enhance "dateFormat" control name parameter. A different date format can be specified to the locale format or DatePattern in e.g.
  • Support for font property in WebMultilineEdit.ctrl
  • Fix text processing when there is a line break and an accelerator in push button at the same time
  • Change HTTP control name parameter to use (!Name) instead of /(!NameID) so it can work on a child panel for file upload
  • Add "Define.LabelAligned" to apply the same label alignment for the whole web application and "Define.ProtectedEditBorder?" to apply the same border style when the edit box is on protected state
  • Improve expanding the region of the child function to match the size of the tab container
  • Improve handling of invalid dates
  • Remove orphan tooltip messages when a popup window is launched
  • Fix refocusing on a grid cell after an event if Set Focus is applied
  • Fix to allow tabbing through date fields with 00/00/0000 values in an editable grid
  • Add ChangeColumnHeading action to allow single or multiple column headings to be passed as an array or a single object in WebGrid.ctrl
  • Fix an error when an editable text cell inside a grid control not triggered an updated event after its value was changed
  • Support RemoveNode API for TreeView control
  • Fix detecting endsess using navigator.sendBeacon in Chrome browser on page unloading
  • Fix for Chrome browser disallowing synchronous ajax during end-of-page event like beforeunload and unload
  • Fix resetting WebClient cookie every time session is ended
  • Add "Define.RightAlignmentMargin" to set global custom margin right values for edit fields that uses right alignment
  • Fix date issues in Polish language
  • Add "Define.NoSpinnerOnLostFocusEdit" to prevent displaying the page loader when the lost focus event is fired
  • Add "Define.DialogOkText", "Define.EnquiryYesText", "Define.EnquiryNoText", "Define.EnquiryCancelText" to specify the default text for the buttons in a dialog and enquiry box
  • Improve scrolling in WebMultilineEdit.ctrl
  • Support specifying keypress to close window popup by using "Define.PopupCloseKey" in file, e.g.
# Define a key combination to close pop-up dialogs. 
# Examples include ESCAPE, SHIFT+F4
# Named keys must match dojo.keys value. 
#SHIFT, CTRL & ALT can be used but they can't be combined with each other

  • Improve filtering for WebGridFilter.ctrl to filter on first field, filter after reordering grid columns
  • Fix to support ~ character in WebMenu.ctrl
  • Add defaultBtn class for default buttons allowing option to specify .defaultBtn CSS class
  • Fix to prevent immediate closing of Top Applications if an Enquiry Message is blocking the Query Close event
  • Support - as an input character for date field if the language is Polish or Swedish
  • Add customized delimiter and locale setting for CSV export
  • Prevent entering double-byte characters directly in the combo box
  • Fix combo box display when the combo option value is blank
  • Support for "ja" locale
  • Improve internal scrolling bar when reducing the size of the screen
  • Add "Define.AllowTextSelect" which enables selecting all the content on an edit field with a single click
  • Improve static control display in WebStatic.ctrl
  • Fix maintaining focus of web control when the screen transitions to another screen and returns to the original screen
  • Improve time stamp field for getting the date and time format according to the browser locale
  • Fix resizing issue of grid control for Chrome, IE11 and Firefox browsers
  • Fix WebPassword.ctrl resizing issue when the state is changed
  • Fix setting focus to a button when there is an explicit setfocus statement in Plex action diagram
  • Improve accordion menu scrolling when there are many nodes displayed
  • Fix focusing issue when the edit field has a Modified or a Double Click event defined
  • Fix edit mask issue for FixedDec data type in WebGrid.ctrl
  • Fix button focusing issue inside a grid when tab sequence is no 0
  • Fix focusing issue on an edit control that has a Gained Focus event defined
  • Improve grid column sorting when dragging and dropping grid column headings
  • Fix an error with loading data of a grid control when it is inside IFrame for Firefox browser
  • Add "Define.NoLoadGrid" to disable Load Grid event being fired when the grid control is focused
  • Fix horizontal scrolling of WebGrid.ctrl when "Column Headings" property is set to No
  • Fix setting visible or hidden for WebFlexGrid.ctrl column
  • Fix font and background color error caused by edit controls with implementation name that contains blank spaces
  • Fix tab event of editable cells issue when there is Updated event and an automatic value is added in another cell
  • Fix editable grid issue which crashes the application after pressing ESC key to cancel cell editing
  • Support "SingleRowSelect" property for WebGrid.ctrl
  • Fix WebGrid.ctrl issue when grid column contains / or ? character
  • Fix WebGrid.ctrl scrollbox height issue when using filter grid on a tab site
  • Fix Refresh action of WebFlexGrid.ctrl in a window popup function when called from a function with grid filter
  • Improve fixed positioning feature for FrameProperty tabs when it is set by default in Plex panel property
  • Fix grid filtering issue when there are freeze cells in the grid
  • Add new for displaying the stack trace on an error
  • Fix SetValue action of WebList.ctrl
  • Support Finnish locale for DojoTimePicker.ctrl
  • Add fixed positioning feature for WebList.ctrl and DojoTimePicker.ctrl
  • Fix filter cell visibility when using Set State statement for a grid column in Plex

How to use tomcat 10 and Java 17


  1. Jakarta migration tool

You need to download Jakarta migration from this link:

The purpose of this tool is to take our web application written for Java 8 or below that runs on Apache Tomcat 9 or below and convert it automatically so it runs on Apache Tomcat 10 which implements Java 17 or above.
  1. Java 17
You need to download Java 17 beacuse is needed to run tomcat 10.
  1. Tomcat 10
  2. Eclipse 2023-03.
  3. WebClientPlugin version 1.8.8-pre13316
  4. WebClient version 1.8.8-pre13322 or higher.

Configure an existing workspace with tomcat 10

  1. You need to change the JRE System Libraries to Java 17 in any Java project you have (Including the web proyect) .

  2. Create Tomcat 10 server to run and publish your project.

  3. To migrate you should run the next command in the command line: java -jar jakartaee-migration-*-shaded.jar <source> <destination> The source will be the path to the webclient file. The destination will be created at the specified path.

  4. To make it work you need to copy the next files in the <source> from the <destination> of the last step:

     1. WebClientCommon 
     2. WebClientServletProxy 
     3. WebClientMultiSessionServletProxy
     4. WebClientPlex
  5. You need to Build your project and then it will be ready to run in tomcat 10.

NOTE: If you update to another web client version you will need to run the jakarta migration tool again (Step 3 to 5)

Run an existing war file in tomcat 10

  1. Put your war file in the webapps path of your tomcat, then you need to publish you war file and run it, this will make tomcat unzip the files of your war.
  2. To migrate you should run the next command in the command line: java -jar jakartaee-migration-*-shaded.jar <source> <destination> The source will be this path “<Installation Tomcat folder>/webapps/<Web project name>/WEB-INF/lib”. The destination will be created at the specified path. Example of source path:
  3. To make it work you need to copy the next files in the <source> from the <destination> of the last step:
     1. WebClientCommon 
     2. WebClientServletProxy 
     3. WebClientMultiSessionServletProxy
     4. WebClientPlex
  4. Now restart your tomcat 10 service and after this will be ready to run in tomcat 10.

NOTE: If you try to use another war that was not converted, you will need to use the jakarta migration tool again.