ZK 5.0.3 release notes

Released on June 29, 2010.

ZK 5.0.3 is a maintenance release focusing on fixing some issues and introducing requested features. Requested features included Calendar day rendering along with hflex and vflex improvements.

Getting Simpler and Richer

New Feature Highlight

  • Tabbox can auto grow size when select a larger size tabpanel
  • Able to control if a panel is draggable in portallayout
  • Calendar Day Renderer
  • Customization of Calendar's disabled days

  • 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
    • 3000873: Tabbox can auto grow size when select a larger size tabpanel
    • 3015861: Able to specify the first day of a week for each session
    • 3016379: Able to control if a panel is draggable in portallayout
    • 3000339: sizedByContent="true" considers both header and row content
    • 3014112: A way to specify custom DOM attributes, such as onload
    • 2824949: Calendar: different color for previous and next month
    • 2019205: Customization of Calendar's disabled days
    • 2824946: Calendar Day Renderer
    • 2997091: Media attribute support on style sheets
    • 3001081: Reuse UUID if possible to minimize memory use at client
    • 3006351: Able to specify the tag name for a macro component
    • 3012360: Applet supports all attributes, e.g., archive and mayscript
    • 3010188: disable ZScriptVariables lookup for performance
    • 3016605: Support onMouseOver and onMouseOut at the server
    • 2936220: Grid/Listbox/Tree sizedByContent="true" determins width
  • Bugs fixed
    • 3005129: Multiple VariableResolver added to PageImpl
    • 3000881: Tabbox inside hbox should not expand 5 thousand width
    • 3000860: tab without label looks strange
    • 3000936: Javascript error when change tree size with autopaging on
    • 3000987: Listcell.setLabel() fails when listbox is on mold 'select'
    • 3002536: Datebox can't select month with ZK3 and 5 on FF in French
    • 3002607: The textbox in readonly bandbox can't use "backspace" key
    • 3003180: Resizing header don't work on IE8 if one column is invisible
    • 3004412: The bandpopup over the popup
    • 2997402: Imagemap rightclick/doubleclick wrong coordinates
    • 3004588: The height of the panel will not set the max height
    • 3005284: (Chrome)Groupbox hflex="min" in borderlayout wrong sized
    • 3006276: East bottom cut if East higher than Center.
    • 3005632: Listbox fails to replace with empty model if in ROD mode
    • 3006707: The title of the groupbox shouldn't be strikethrough(Chrome)
    • 3006718: The hflex listbox after separator cause wrong width on IE6
    • 3006762: The scroll bar appear after select a child node and close
    • 3006772: The focus arrow will not clean after close and open the tree
    • 3006796: Some ZHTML widgets won't be bound (bind_ not called)
    • 3007194: The lastest tab right edge will not align with scroll button
    • 3007217: Button.mold=trendy isn't applied to buttons in Messagebox
    • 3005122: Colorbox#setColor on client side
    • 3007908: modal window not centered if child sized with hflex="min"
    • 3007911: Borderlayout in Borderlayout with hflex="min" not resize OK
    • 3008291: Listbox _syncFocus not properly called
    • 3008276: Listheader hflex with no label gives js error
    • 3008898: Bandpopup hflex="min" not properly sized
    • 3008277: (Chrome/Safari)hflex breaks Listbox layout
    • 3010663: boxes do not resize when browser window is resized
    • 3006341: Slider UI broken
    • 3006313: Slider#getCurpos() does not work
    • 3010936: A ZHTML with native namespace without head causes JavaScript error
    • 3009925: Clients.evalJavaScript is broken in zhtml with native namespace
    • 3012310: enable crawlable will show unwanted labels
    • 3010511: Applet in content of Html Tag
    • 3011489: Decimalbox format issue
    • 3012994: Grid with menu and Upload failed in zhtml (native namespace)
    • 3013126: Treeitem will disappeare when setDisabled on the treeitem
    • 3013538: Clients.reloadMessages throw exception
    • 3013539: Treecell can't change its label when others items disabled
    • 3007738: The setImage of the comboitem isn't works
    • 3013433: (Chrome) grid in tabpanel not resize when browser resize
    • 3011477: Clear the frozen in the grid cause JavaScript error
    • 3012466: Listbox's selection issue
    • 3013683: The column in grid without width will calculator wrong width
    • 3011319: Datebox may select wrong month
    • 3014084: Press "Enter" in a multiline and inplace textbox lose text
    • 3008328: Intbox uneditable on FF if treerow draggable/droppable=true
    • 3010419: Auxiliary Headers don't render in iPhone
    • 3014660: Combobox setValue issue when onChanging
    • 3014664: tabs & tabpanels cut half width if set hflex="1"
    • 3014668: intbox doesn't accept 09
    • 3014743: longbox and decimalbox doesn't reject 33ee34
    • 3013637: Popup can't conver listbox in select mold (IE6)
    • 3017010: Listbox - combination of checkmark and sorting does not work
    • 3015032: Flashchart generated IndexoutOfBoundsException
    • 3017526: Panel height calculation bug
    • 3017859: decimalbox fail to handle 3.5%
    • 3017606: Browser window might lose focus
    • 3017938: The menupopup appears at a wrong position
    • 3018735: listbox/grid/tree sizedByContent="true" shall show header
    • 3018688: Recursive Loop in class XmlContentRenderer
    • 2997698: quoted special characters in decimalbox
    • 3019383: Failed to change the position of a root component to the end
    • 3019360: button in os mold, setDisable() not add class -disd well
    • 3019524: Window/panel does position wrong if only left specified
    • 3019517: Listbox selectAll checkmark bugs
    • 3020040: Listbox.removeItemFromselection not work correctly
    • 3020565: Failed if add listhead and listitem to ROD listbox (zkmax)
    • 3020609: Dragging modal window might fail if dragging too fast
    • 3010511: Removing Applet causes JavaScript error in FF2
    • 3021174: setLeft at a invisible window case js error
    • 3021217: Put a invisible Panel in a portallayout cause js error
    • 3021278: Hide the column of the grid, the css of the odd row is gone
    • 3013640: Incorrect scrolling of auxheads if used with frozen columns
    • 3021591: Window position parent not working repeatedly
    • 3021739: Form's reset button unable to reset textbox
    • 3022161: setVisible on a window that in second tab cause js error
    • 3022197: Set 2nd tab of tabbox in 2nd tab be selected isn't work
    • 3022274: Vertical tabbox in invisible comp has big height when onShow
    • 3022237: Image of toolbarbutton not disabled correctly (ie8)
    • 3022178: Extra bottom border for selected tab
    • 3022174: Scroll remains upon closing tabs
    • 3022669: listbox hflex="min" sizedByContent="true" not work