ZK 5.0.9 release notes

Released on Oct 18, 2011.

ZK 5.0.9 is a maintenance release that focuses on fixing bugs including improvements for Websphere 5.1, Google App Engine and IE 9.

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-481: Deprecate Treeitem#indexOf() API and add Treeitem#getIndex() so all components(Listitem, Comboitem, Treeitem) with index concept use the same API name
    • ZK-500: Add a default format for NumberInputElement when the locale is specified
  • Bugs fixed
    • ZK-386: sclass is not applying when div visible false
    • ZK-389: Exception after upgraded to zk 5.0.8 in WebSphere 5.1
    • ZK-402: Duplicate content rendering on redraw when using includes in grid cells
    • ZK-409: Open the Messagebox will show a error
    • ZK-417: Scrollbar stops working when the mouse is moved
    • ZK-414: Screen jumps back to top when opening an item at the end of a long tree
    • ZK-419: Accordion tabbox appendchild issue
    • ZK-403: Set a model to combobox when opening, the dropdown will not show the items
    • ZK-426: Onblur and readonly issue in INTBOX (IE only)
    • ZK-427: Div Scrollbar & Drag issue
    • ZK-428: Hlayout/Vlayout performance issue
    • ZK-433: Labels.reset() won't clear the cache in which come from the instance
    • ZK-415: Tabbox selectedPanel binding not working
    • ZK-424: jQuery ztag issue
    • ZK-430: When timeformat is defined as HHmm, you cannot type more the 2 characters
    • ZK-432: Hflex fail when place the listbox in the second tab of the tabbox (IE8 only)
    • ZK-434: Set a format "a h:m:s" to the timebox cannot work correctly
    • ZK-436: An empty iframe in IE will cause a false text
    • ZK-435: Listbox with paging mold trigger onAfterRender event twice
    • ZK-442: Unable to use TAB to switch focus when a menu item gains the focus (and handles the selection with keystrokes)
    • ZK-440: Append a listitem to the listbox will cause js error (Firefox 4 above only)
    • ZK-441: Colorbox will be hide while align right
    • ZK-396: Opera select option and press tab will not change select item
    • ZK-393: Can't click-and-select any tree node in modal dialog window if included in JSP
    • ZK-394: Set hflex to Column calculate a wrong width
    • ZK-444: componentScope.get() causes error in zul file
    • ZK-381: Menu scrolling bug
    • ZK-397: Opera the checkbox of the disabled listitem is broke (F30-1780792.zul)
    • ZK-421: Selection bug in Listbox with paging
    • ZK-388: about JSdoc issue zul.wgt.Popup.open(Widget ref, Offset offset, String position, Map opts)
    • ZK-450: Serializable.smartWrite() shall not invoke LogManager under Google App Engine since it is not allowed
    • ZK-456: xmlns:h="html" shall be interpreted as the XHTML namespace rather than ZUL
    • ZK-454: Update tabbox and grid will cause js error in IE9
    • ZK-391: Tooltip loses "position=after_end" positioning if onOpen eventlistener added to popup
    • ZK-410: Bug on footer labels applied to a grid
    • ZK-460: Click the arrow of the timebox/spinner that in a listbox will trigger onChange event.
    • ZK-465: Messagebox does not invoke the listener if ESC is pressed
    • ZK-462: Window fire unexpected onMaximize event
    • ZK-461: Javadoc doesn't match code for grid's setSpan method
    • ZK-380: Issue: a non-checkable tree item is still selectable
    • ZK-418: Weird selection on listbox if onSelect invalidates and shift+Click
    • ZK-477: hlayout shall restore white-space to normal for its children
    • ZK-475: bandpopup tab key works wrong
    • ZK-473: Vflex attribute on tabpanel cannot works (fast model)
    • ZK-482: The horizontal scrollbar of Listbox won't be sync when after sort
    • ZK-485: setVisible(false) of listitem is not work if the height of listbox is specified
    • ZK-489: The layout of the vflex min is wrong when Listbox with rows without listhead
    • ZK-480: Add a draggable item to tree will cause js error
    • ZK-483: hflex=min causes unexpected word wrapping (IE9 only)
    • ZK-452: hflex in grid failed in IE 9 only
    • ZK-467: hflex in Listbox failed in IE 9 only
    • ZK-478: Imagemap and hflex="min" does not work
    • ZK-490: Replace Model the display data is not up to date when Grid in ROD
    • ZK-498: Dynamic Tree demo is broken