ZK 5.0.11 release notes

Released on March 27, 2012




ZK 5.0.11 is a maintenance release with 50+ bug fixes, further stabilizing ZK.


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
    • ZK-780: Support a non-default context path when integrating ZK with Liferay bundle with JBoss
    • ZK-854: Allow passing additional params to custom file upload template
  • Bugs fixed
    • ZK-773: Listbox sizedByContent breaks scrolling in 5.0.10>
    • ZK-740: missing close tag in flash.js
    • ZK-751: Tooltiptext not working for upload button
    • ZK-786: Caption control wrong image with toolbarbutton
    • ZK-789: Static files defined in lang-addon.xml are served with invalid content-type
    • ZK-770: EventQueue has extra delay if scope is SESSION
    • ZK-752: Tooltiptext gets rendered differently in different situations
    • ZK-804: Exception: "Failed to mount: Cannot call method 'inAccordionMold' of undefined"
    • ZK-787: Servlets.isUniversalURL should recognise data URIs
    • ZK-804: Grid in grid's detail with Sapphire theme text color is white
    • ZK-822: EventQueue with Group scope throws NPE if publish without subscribe
    • ZK-791: Listbox getSelectedItems + shift does not work in version 5.0.10 without ROD
    • ZK-819: Disabled tabs in IE looks weird
    • ZK-831: Spinner won't show constraint message when input value large than java Integer limits
    • ZK-817: Cannot resize window on iframe
    • ZK-798: The scroll position shall not goto top when call focus after invalidate()
    • ZK-835: Paging Tree/Grid/Listbox trigger bind/unbind_ more than once in mounting
    • ZK-763: CDI issue: Cannot locate the BeanManager for JavaEE 6
    • ZK-805: MenuPopup without columns label image doesn't appear OK
    • ZK-837: ClassCastException while parsing Date when TimeZone + Custom Constraint are active
    • ZK-842: Error message does not show up
    • ZK-840: Error on expand of the tree item in the list
    • ZK-824: Texbox dragging issue within the draggble container
    • ZK-841: SessionInit cause a stack overflow
    • ZK-845: Fileupload fail in cluster server (JBoss)
    • ZK-851: no value update on textbox in popup
    • ZK-812: Components.wireFellows() error when root component is not IdSpace
    • ZK-872: Calling fireEvent method cause exeception with GroupsModel(Rod enabled)
    • ZK-867: Can't customize master detail's style of odd row
    • ZK-873: Inconsistent display of select all checkbox in listheader if ROD is true
    • ZK-859: bandbox popup not aligned correctly on FF10/IE9
    • ZK-886: Accordion tabbox disabled issue
    • ZK-868: The image of the file upload button broke in the liferay
    • ZK-893: Frozen causes columns disorder
    • ZK-908: setErrorMessage causes reset of input element value
    • ZK-909: throwing WrongValuesException causes input field value to reset
    • ZK-897: Calling fireEvent method cause UIexeception with GroupsModel(Rod disabled)
    • ZK-890: hflex behave different on ie
    • ZK-918: Combobox elements not customizable with css class
    • ZK-929: StringFns's replace function will cause an infinite loop
    • ZK-885: Iframe with PDF stop works in IE 8
    • ZK-928: Navigate the comboitems by press key will select a wrong item
    • ZK-887: hbox's widths properties specified in Chrome is not precise
    • ZK-925: Select mutiple Item using shift key will return wrong count in listbox (ROD enabled)
    • ZK-926: Scrollbar stops working in listbox (IE7 only)
    • ZK-937: Bug and improvement to tabs dragging behaviour
    • ZK-930: Fileupload.get fail in cluster server
    • ZK-938: Fileupload of binaries fails with 0 content/NullInputStream
    • ZK-941: The decimalbox with the roundingMode="UNNECESSARY" will not throw ArithmeticException when type a invalid value
    • ZK-964: No error shown if coerceFromString_ failed and CustomConstraint was specified
    • ZK-963: Update the data of the listbox with a timer and IE8 will cause javascript error
    • ZK-952: Portallayout get wrong position when using Executions.createComponents to create panels
    • ZK-962: Portalchildren visible false problem
    • ZK-975: Textbox with rows and mold rounded does not recognize width nor hflex
    • ZK-980: Modal Window position="center" problem in iPad