ZK 5.0.5 release notes

Released on November 2, 2010.

ZK 5.0.5 is a maintenance release focusing on fixing bugs and releasing new improved features for ZK components. ZK 5.0.5 brings with it an upgrade to jQuery 1.4.3 as well as enhancements to the Listbox, Tree and hlayout among others.

Getting Simpler and Richer

  • Please see the New Features for more information!
  • If you would like to upgrade from an older version the upgrade notes are available here!

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
    • 3017896: A way to specify whether clicking input will select listitem
    • 3081432: An option clicking on listitem with checkmark will toggle
    • 3085801: A way to specify vertical alignment for hlayout
    • 3097933: A way to customize the timeout message
    • 3067232: A way to access components in 3rd framework (e.g. JSF 2)
    • 3087902: Make a ZUL page generating as a HTML fragment
    • 3061671: Databinding foreach keep cloned cmp's id when in spaceowner
    • 3061676: Autodrop menubar shall be closed automatically when move out
    • 3076418: XmlMacroComponent supports autowire
    • 3077084: Able to specify the last word identify a component namespace
    • 3081910: AnnotateDataBinderInit add "loadOnSave" config attribute
    • 3085654: LabelLocator allows to return InputStream instead of URL
    • 3091085: Upgrade to jQuery 1.4.3
    • 3091086: The A component shall allow children
    • 3091764: Able to prevent users enter the grouping character
    • 3092641: Listbox/Tree support whether to toggle selection or not when right click on item
    • 3094640: A way to specify page's widget class (in the page directive)
    • 3095460: Listbox/Grid support span attribute, extend column width when there are available extra space
    • 3096119: Smart-update supports the Date object
    • 3096990: The mold attrs of the window shall be public
    • 3097894: EL supports more instantiation functions, e.g., new1, new2
    • 3098249: Component not updated after onClick
  • Bugs fixed
    • 3057902: zk bug for window showbusy
    • 3061764: Opera only. Cannot sizing a column with width
    • 3061765: Unexpected horizontal scrollbar when sizing listheader
    • 3064997: Listen onPiggyback event threw NoSuchElementException
    • 3074492: Slider default curpos not work
    • 3076840: DHtmlUpdateServlet's init mishandles processor params
    • 3076384: ComponentNotFoundException by closing AMedia
    • 3079449: sendRedirect called in Initiator causes NPE (ZK EE 5.0.4)
    • 3079480: Child popup not removed if its parent removed
    • 3079879: datebox and colorbox shall close popup when detached
    • 3079636: onHide should be fired before the widget hidden
    • 3079363: Opening a treeitem whose parent is closed shows children
    • 3079346: Textbox setType not workin in IE
    • 3080682: Calendar shall not gain focus by default
    • 3079203: datebox not open when specified open=true
    • 3078523: 3D Caption in Groupbox never show on right end
    • 3077878: buttons in grid, setDisabled problem with autodisabled
    • 3078580: Filename of Filedownload.save() shall not be encoded
    • 3077716: Failed to set spillter close if collapse=after
    • 3074253: Drag and Drop nested components incorrect in Chrome
    • 3073531: portallayout.getPosition() don't work if dragged in same column
    • 3058028: Combobox need two keypress of in IE
    • 3059019: Datebox bug with format "Day in week" (EEEE)
    • 3059251: Datebox- value is not updated on server if time changed
    • 3081315: Fire onClose event shall not select next tab automatically
    • 3059280: Dateboxin Listbox- Unable to change month in calendar popup
    • 3065040: the return value is alway False in ListModelList.remove()
    • 3067998: save-when crash with WrongValuesException
    • 3071275: onChanging different in IE and Firefox with Bandbox
    • 3081372: Load on demand not load
    • 3066507: Panel in portallayout maxmize button style not change back
    • 3071613: problem with decimalbox' format and rounding mode
    • 3073199: Grid sorting with "auto" breaks with hidden rows
    • 3082093: Paging settle error when modify the grid content
    • 3083980: Components.wireVariables() causes an exception if mode defined
    • 3077791: panelSpacing in tabbox has error (breeze only)
    • 3085744: readonly+inplace datebox not become inplace if select day
    • 3086343: JavaScript error stub unknown if moved
    • 3086348: Tooltip doesn't display when listitems use same tooltip
    • 3086333: typo in setCmargins in LayoutRegion.java
    • 3086352: audio autostart="false" not work
    • 3086840: JSP including a ZUL with native html will disappear
    • 3087139: listbox mold="select" has js error if contains textbox
    • 3087219: checkmark="true" in listbox, has extra icon
    • 3087097: <row nowrap="true"> has no effect
    • 3086452: open="false" in splitter behavior not consistent
    • 3078476: Groupbox cursor problem
    • 3067572: Cannot fire Group children's on click event in breeze
    • 3060550: setDisabled(boolean) doesn't apply inmediatly
    • 3087421: autodisable doesn't work for toolbarbutton
    • 3087949: Crawlable doesn't work with listbox
    • 3085854: maxlength in listheader has no effect
    • 3087270: maxlength in treecol has no effect
    • 3089492: Sets a width to the tabs before setParent cause error
    • 3089641: use HtmlNativeComponent with zkmax cause UI error
    • 3088034: datebox string convert error (shall show error message)
    • 3089502: setScale in decimalbox not working
    • 3090979: typo (_quality="hight") in Flash.java
    • 3091160: WrongValueException not handled if thrown in onCreate listener
    • 3091045: Non integer Page number in paging mold="os"
    • 3091153: selectAll(), clearSelection() in Tree
    • 3091949: Calendar/Combobox above pdf not display popup correctly
    • 3093594: Decimalbox does not respect current Locales if no format
    • 3094118: Tree.onTreeDataChange does not update the tree correctly
    • 3094686: border in image not work
    • 3092890: Rows.invalidate does not respect frozen state
    • 3096210: Listbox/Grid rod show blank view in special scroll pattern
    • 3096342: onChange not fired if change time in timebox (of popup)
    • 3095469: tree should resize header while scrollbar appear
    • 3095549: rod in tree make add child not work
    • 3095453: tree can't expand if model is set in button onClick
    • 3097181: Colorbox in menu, doesn't work with menubar autodrop="true"
    • 3097199: Combobox strict constraint not using custom message
    • 3098096: The comboitem cannot be selected with iphone safari
    • 3097458: Right click on Tree and also Listbox in IE8
    • 3099277: Listbox : value of Listitem with space
    • 3100455: Something wrong at frozen grid when updating live data