ZK 3.6.4 release notes

Released on March 16, 2010.

ZK 3.6.4 is a maintenance release of our ZK 3.6 series which features 40 bug fixes and 3 new features.

Getting Simpler and Richer

New Feature Highlight

  • Renderer and Model in Listbox/Grid shall be transient
  • Replace bookmark command and bookmark encoding
  • Include component shall have clearDynamicProperties method

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 acess 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:
    • 2902880:Renderer and Model in Listbox/Grid shall be transient
    • 2927147:Replace bookmark command and bookmark encoding
    • 2954280:Include component shall have clearDynamicProperties method
  • Bugs fixed:
    • 2895706:Encoding of italian message is wrong
    • 2895193:Vertical separator not center aligned in IE
    • 2902877:Include's invalidate doesn't reload the page in instant mode
    • 2902291:zkdemo cannot run in cluster
    • 2900977:this.element.clientWidth is null in Slider in Grid
    • 2896474:small browser window cuts vertical scrollbar off
    • 2902981:GenericAutowireComposer can't deserialize correctly
    • 2904793:onChanging stop to fire after onOK
    • 2904688:SimpleTreeNode is not serializable
    • 2904376:window in a pop window cannot be resized correctly
    • 2905901:Problem with datebox format
    • 2907228:Exception in server console while style has no content
    • 2897202:load-when and load-after not triggered when binded to template
    • 2910566:IE crashes when changing constraint on non visible spinner
    • 2914010:Position of Messagebox is not at the center of scroll view
    • 2919037:SetSelectedIndex(-1) shall unselect even with constraint
    • 2918492:Panel disappear when close a "column" maximized portallayout
    • 2910663:NullPointerException after failover when fulfill onEvent
    • 2929887:zscript fails on missing src even if it is not required
    • 2925964:Menupopup's shadow don't display correctly
    • 2929688:constraint on hidden tab panel problem
    • 2928837:Cannot remove bindable collection item from the DataBinder
    • 2932559:Dateformt is not correct
    • 2932475:NoSuchMethodException in DataBinder (SpaceOwner-Mixup)
    • 2935398:Clients.scrollIntoView fails if the scrollbar is HTML/Body
    • 2935985:Dynamically adding a long menuitem displays wrong (IE7 only)
    • 2936019:Execption when Listbox insertBefore() group + groupfoot
    • 2937096:composer.arg shall be statically wired
    • 2939911:datebox display year incorectly(Thai locale)
    • 2942242:DHtmlLayoutPortlet getTitle() hard coded
    • 2947638:deferred zscript not evaluated against the right component
    • 2947627:zscript deferred attribute was broken
    • 2937096:composer.param shall be clone and static wired
    • 2948875:The onPaging event will fire again after type new value
    • 2948342:last selected item in a tree
    • 2962483:Show error box has js error on IE
    • 2849074:Add the autocomplete attribute in XSD for combobox component
    • 2966200:Include's construct will not set the src
    • 2967454:Calendar problem
    • 2970460:window onMaximize not modify height