ZK 6.5.4 release notes

CE Released on October 28, 2013

PE/EE Released on September 24, 2013


ZK 6.5.4 is a maintenance release containing more than 55+ bug fixes including the correction of SelectorComposer when using CSS, IE compatibility and more.

ZK 6.5 series focuses on taking developers to achieve real device transparency in one codebase and component set, exploring the area of combined desktop & tablet UI and touch experiences. Introducing responsive design and responsive components to always fit your device screen resolution and tablet-specific user interaction methods such as swiping and device orientation detection which are done automatically to save developers time, effort and to increase massive productivity.



Behind the scenes

  • To read about the philosophy behind ZK 6.5, please visit this blog

Feature Updates

  • 120+ off-the-shelf Ajax components
    • Tabbox, grid, listbox, tree, menu, combobox, bandbox, datebox, chart, hbox, vbox, window, slider, paging, audio, image, timer, include, iframe...
    • Drag-and-drop supported by all components, such that users can drag components and drop them to any other or particular set of components.
    • Context menus and customizable tooltips supported by all components, such that a menu or any popup appears when user click, right-click or move the mouse over a component.
    • Customizable sorting of listbox, grid and children of any component with 100% Java codes (java.lang.Comparator).
    • Auto-completion for combobox.
    • Load on demand with writing Java codes.
    • Live data for listbox.
    • Grids, listboxes and trees with sizable columns.
    • All components are cloneable and serializable.
    • Validation and formatting for any input components, such as regular expression and $#,##0.
    • 100% Java API of Google Maps, CKeditor, and Timeline components.
  • Event-driven, server-centric model
    • Ajax requests, application notification, and server push are all managed as events
    • Event Queue shields developers from the complexity of Ajax and server push, such as multi-thread programming
    • All events are processed at the server. No hurdle to communicate between clients and servers.
    • All events are synchronized. No racing condition to worry about.
  • ZK User-interface Markup Language (ZUML).
    • Rich user interface could be designed in ZUML as simple as authoring HTML pages.
    • Powerful yet intuitive control flow by the if, unless and forEach attribute.
    • Scripting in EL expressions and your favorite scripting languages, include but not limited to Java, JavaScript, Ruby and Groovy.
    • Hot changes and updates without restarting your Web applications.
    • Annotations that allow a page to access database with zero Java codes.
  • Browser history management.
    • Add states to browser's back button history. Then, users can bookmark and use the back and forward button to navigate different states of the same ZK desktop.
  • Simple yet boundless component model.
    • POJO components supporting interfaces and clustering. Easy to instantiate and manipulate directly with pure Java, or injected and managed by an AOP framework, such as Spring
    • Macro components. Develope full-featured new component by using other ZUML pages.
    • Inheritable customization. Developing a new component by extending existent components.
    • Seamlessly and easily to encapsulate pure-client components as ZK components with 100% Java API.
    • Customizing components with pre-compiled Java classes, or by scripting in your favorite scripting languages, include but not limited to Java, JavaScript, Ruby and Groovy. The choice is yours.
  • Simple yet flexible threading model.
    • Thread-safe component handling.
    • True server-side Modal dialog.
    • Suspend and resume event listeners freely.
  • 100% Customizable User-Interface factory.
    • Loading ZUML pages not only from Web contents but also any repository such as database.
    • Customizing the features of sessions, desktops and pages.

What's New

  • Bugs fixed
    • ZK-1588: bandbox popup should drop up when the space between the bandbox and the bottom of browser is not enough
    • ZK-1747: Chosenbox - Combobox behaving differently (when using ListSubModel)
    • ZK-1758: Selectors finds too many components when using CSS child selector
    • ZK-1777: Server Push does not initialize when recycling
    • ZK-1836: Javascript string with </script> escape issue
    • ZK-1837: Checking the checkbox inside the groupbox should not trigger the onOpen event of Groupbox
    • ZK-1839: Listbox select mold not works in listcell
    • ZK-1840: Chained Long operations using different event queues, causing errors after first operation finishes
    • ZK-1841: maximum allowed number of desktops is one more then the number set in the max-desktops-per-session element in zk.xml
    • ZK-1842: Listbox scroll bug listheader sort
    • ZK-1847: When sending a request without data to server, the created event's data is an empty map instead of null
    • ZK-1851: Apply a format into the Spinner componet, it will show NaN value after increase the number
    • ZK-1854: Issue with toolbar and hflex= 1
    • ZK-1857: ZK 6.5 EE OSGi: Comet Servlet 3 Push does not work
    • ZK-1859: Comet Servlet 3 Push: AsycInfo does not catch IllegalStateException thrown on GlassFish 3.1.2
    • ZK-1861: Js error when flex + visible = false
    • ZK-1862: Should not echo parameter value back to client
    • ZK-1863: validationMessages with init annotation throw exception
    • ZK-1864: share listmodelist cause un-predictable reload
    • ZK-1867: Set visible of row doesn't work correctly
    • ZK-1868: TypeError: $tipOff is null in function _tt_close()
    • ZK-1870: ZK Does not set session in SessionCtrl when handling a Portlet Ajax request
    • ZK-1871: Comet Servlet 3 Push returns 500 Internal Server Error
    • ZK-1875: DateFormatConverter should be serializable
    • ZK-1877: Can not drag a slider, which is in a grid, to 0
    • ZK-1878: IE Compatibility View issue when using Meta tag with IE=edge
    • ZK-1884: The slider's value should not be greater then maxpos after clicked its rightmost position
    • ZK-1885: IE8: scrollable div (with vflex) and tooltip
    • ZK-1887: detach - reattach component in ViewModel @AfterCompose, fails to initialize bindings
    • ZK-1888: Grid in paging mold doesn't change pages count
    • ZK-1889: zul.lang.wpd is always loaded twice with some JS package merge configurations
    • ZK-1890: Can't subscribe eventqueue in desktop cleanup
    • ZK-1891: Combobox with Validator will trigger reload selectedItem when typing
    • ZK-1893: Failure to configure log handler properties
    • ZK-1895: Paging on listbox with onFulfill
    • ZK-1896: ZK session timeout on JBoss AS 7 cluster issue
    • ZK-1897: Possible Cross-site Scripting Vulnerability
    • ZK-1900: Auto-complete Combobox in the bottom of the browser doesn't sync dropdown position well
    • ZK-1904: Datebox doesn't sync dropdown stackup well (IE only)
    • ZK-1905: Chosenbox emptyMessage does not re-appear after remove all selected items
    • ZK-1906: Chosenbox getSelectedObjects() returns empty list if model is ListModel of JavaBean instances instead of ListModel of String
    • ZK-1907: Validation error style, long words overlapping box
    • ZK-1908: Databinding Load order causing problems on Paging component
    • ZK-1909: Set maxlength attribute to the doublebox conponent, the maxlength checking is not correct
    • ZK-1913: AuResponse of stop comet server push would override the request of start in some situation
    • ZK-1914: Frozen grid with footer: throws error on client console and does not correctly calculate column width, when the frozen area is scrolled
    • ZK-1916: Different language codes for IE10 under Windows 8
    • ZK-1918: Serialization issue with Script component
    • ZK-1920: after listbox.getItems().clear() and re-assign listitems to the listbox, listitem.setSelected(true) do not work
    • ZK-1925: IE9/10 Chrome vflex issue, with invisible divs
    • ZK-1928: Converter Override (default-binding) causing "Array of attribute values not allowed "
    • ZK-1929: The hover stype of non-closable groupbox are not the same
    • ZK-1930: A Error occur on class org.zkoss.web.servlet.Servlets method public static boolean isBrowser(String userAgent, String type)
    • ZK-1932: Another vflex issue with invisible divs (all browsers)
    • ZK-1934: Tooltip causing error, when positioning, when component is replaced at the same time
    • ZK-1938: Grid/Listbox doesn't bind activePage attribute as default binding
    • ZK-1960: save binding to an array throws ClassCastException
    • ZK-1962: Bad performance of Listbox after ZK 6.5.2 --> 6.5.3 upgrade