ZK 6.0.2 release notes

Released on July 24, 2012.


ZK now released with version 6.0.2 to support development in OSGi environment with few changes in ZK Bind specifications along with some bug fixes.


Getting Simpler and Richer

  • If you would like to upgrade from an older version, please click here for upgrade notes

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-1127: Support OSGi
    • ZK-1231: Need a certain lifecycle point for afterCompose in viewModel
  • Bugs fixed
    • ZK-844: IllegalStateException when use cdi DelegatingVariableResolver
    • ZK-1113: Popup of chosenbox not removed after detach
    • ZK-1118: Vertical scrollbar appears when listbox with fixed rows and sizedByContent is true exceeds browser width
    • ZK-1124: onOpen event not firing when closing a Menupopup
    • ZK-1126: throwing Exception when removing collection.
    • ZK-1135: Notification is not correctly displayed on IE8 (compatibility view turned OFF)
    • ZK-1136: Clients.showNotification(String) throws JS error when used with Include in defer mode
    • ZK-1142: Second level menuitem onclick event not fired on iPad
    • ZK-1144: error:page in JBoss causes IllegalStateException
    • ZK-1146: ZK TreeModel getChildCount invoke too much times
    • ZK-1147: The returning type of getModel API in combobox and tree component shall be the same
    • ZK-1159: Unnecessary Ajax update when the listbox with ROD is invisible
    • ZK-1165: Inner ViewMdel cannot get Outer ViewModel in Binding
    • ZK-1176: toolbar autodisable fails when set disable(true) on click event
    • ZK-1177: SimpleListModelSharer with ZK 6.0 is giving ERROR
    • ZK-1178: ZEL should support method overloading
    • ZK-1179: ZK Internationalization Labels doesn't work with liferay (portal env)
    • ZK-1182: stubonly doesn't work
    • ZK-1188: Error when mixing ZK creation EL with zkbind on reference or element of collection
    • ZK-1189: Save into a deep form bean fires improper NotifyChange
    • ZK-1191: Children binding converter doesn't converter a pure Collection
    • ZK-1194: The timing of @Init on viewmodel is not so correct.
    • ZK-1197: ZEL BeanELResolver's invoke impl has serious logical issue
    • ZK-1202: Update model of the combobox and change the selection of mofel will cause java error
    • ZK-1205: Clients.showNotification() not working properly with autodisabled buttons
    • ZK-1216: Combobutton has problems with label change if it's not closed beforehand
    • ZK-1222: popup component as tooltip fires multiple OnOpen events (FF only)
    • ZK-1228: Tree with model fail to clone
    • ZK-1230: The listbox in the second tab of Tabbox renderer a wrong content while the tabpanel show up