ZK 6.5.3 release notes

CE Released on Sep 17, 2013

PE/EE Released on July 02, 2013


ZK 6.5.3 contains a few new features with more than 45 bug fixes including fusion funnel chart integration, MVVM Tree performance improvements 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.



Getting Simpler and Richer

New Feature Highlight

  • ZK-1764: Fileupload.get() supports to provide a callback event listener
  • ZK-1801: provide fusion funnel chart integration
  • ZK-1819: ValidationContext support a new flag that can identify the value of single field whether is valid when use form binding
  • ZK-1825: Timebox should not reset the date value to today

  • To read about the philisophy 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

  • New Features Tracker
    • ZK-1764: Fileupload.get() supports to provide a callback event listener
    • ZK-1801: provide fusion funnel chart integration
    • ZK-1819: ValidationContext support a new flag that can identify the value of single field whether is valid when use form binding
    • ZK-1825: Timebox should not reset the date value to today
  • Bugs fixed
    • ZK-1234: Odd and Even background color not working on grid within a panel within another grid
    • ZK-1284: Grid/Listbox header and content horizontal synchronization in IE browser.
    • ZK-1526: layouts and containers should not take menupopup into account when computing padding
    • ZK-1578: window hflex="min" not work
    • ZK-1642: Tree columns width not expanding if scrollbar without hflex
    • ZK-1647: Tree with hflex'ed and width'ed treecols doesn't work properly
    • ZK-1691: Dropupload has "native" property (reserved identifier in EL)
    • ZK-1692: widget.isVisible API doesn't work properly
    • ZK-1693: Dial chart customize color issues
    • ZK-1698: MVVM Tree Performance Issue
    • ZK-1699: Performance issue ZK-Bind getters are called multiple times
    • ZK-1701: Message for file upload is not good enough in German
    • ZK-1702: Invoke binder.loadAll() when the onChange event of the combobox will cause java error
    • ZK-1704: NullPointerException when sorting a list model bound to a Grid without a Columns component
    • ZK-1705: NullPointerException when sorting a list model bound to a Listbox without a Listhead component
    • ZK-1706: hflex does not work properly inside a Toolbar component
    • ZK-1708: Clients.showNotification doesn't work when using auto mode include component
    • ZK-1711: Chosenbox's model will be set to null after invalidate the Chosenbox's parent
    • ZK-1712: The disabled date in the databox shall not be selected when navigate to the different month
    • ZK-1714: Databinding 1 cannot clear selection item
    • ZK-1715: The disabled listitem shall not be selected when use SHIFT + DOWN key with a paging listbox
    • ZK-1718: Datebox's calendar does not disable the date after costraint date if the "before yyyymmdd" is not at the first place of the constraint attribute
    • ZK-1720: XSS Vulnerability for fileupload
    • ZK-1723: component width not set in html when using hflex and resizing parent component
    • ZK-1724: fileupload error "contentId is required!"
    • ZK-1726: Treeitem update - infinite loop - browser freeze
    • ZK-1728: Invisible Comboitems are selectable with cursor keys
    • ZK-1732: Setting visible to true to a listbox, which is inside a hlayout, do not work after zk6.5.2
    • ZK-1733: Tree item - children losing parent after updating parent
    • ZK-1735: Tree overlaps parent container, after update
    • ZK-1736: Cannot paste into an intbox and decimalbox on Mac Safari
    • ZK-1737: Typo in some zk.fmt.Number functions: varStr (wrong) vs valStr (right)
    • ZK-1739: treenodes disappearing on frequent updates
    • ZK-1740: Navigating a Listbox using keyboard (pgup/pgdn) throws "Out of bound" exception
    • ZK-1748: Stackup and autohide not working
    • ZK-1765: Add new Tree node cause Null Pointer Exception
    • ZK-1766: tree bulk-update to several nodes causing errors
    • ZK-1768: Retrieve a wrong selected index of the radiogroup, when grid model changed
    • ZK-1784: client rod with hflex cause js error
    • ZK-1785: Tabbox (accordion) : selecting and removing a tab results in wrong node being opened
    • ZK-1787: When the viewModel tell binder to reload a list, the other component that bind a bean in the list will reload again
    • ZK-1791: @global-command does not provide predefined "event" variable
    • ZK-1793: Grid with hidden header flickering back and forth when you scroll horizontally.
    • ZK-1794: dropupload setNative() method does smartupdate on "naitve" instead of "native
    • ZK-1795: MVVM netsed template may cause exception
    • ZK-1797: A js error happen while to rsFocus a button in a popup in window
    • ZK-1803: Setting a textbox visible=false and invalidate its parent leading to "Failed to mount" error in Firefox
    • ZK-1804: Calendar should not be able to select year less than 1900 or greater than 2099
    • ZK-1808: Close tabpanel cause js error
    • ZK-1812: zAu.send: data of client event ignored on server side
    • ZK-1821: Component inside native component doesn't cleanup correctly
    • ZK-1822: Turkish locale problem during browser detection (on server side)
    • ZK-1827: Component inside native component js error
    • ZK-1834: Listbox scroll bug