ZK 7.0.1 release notes

Released on February 25, 2014


ZK 7 series focuses on the improved theme system, bringing with it the most powerful, flexible yet simple theme engine to date combining the power of CSS 3, LESS and Bootstrap to create the best possible experience.

It is now much easier to create themes from scratch and/or customize existing themes. Leveraging ZK 7, design and development teams will have a much easier job and spend less time creating applications which look great and perform better than ever.



Getting Simpler and Richer

New Feature Highlight

  • ZK-2089: SelectEvent support get UnselectedItems
  • ZK-2079: prevent autohiding of the paging control
  • ZK-2085: Slider support for minimal position and decimal mode

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-2049: menupopup support toggle type
    • ZK-2075: provide the possibility to display or log missing labels
    • ZK-2079: prevent autohiding of the paging control the paging mold
    • ZK-2085: Slider support minimal position and decimal mode
    • ZK-2087: Add sclass to messagebox
    • ZK-2089: SelectEvent support get UnselectedItems
  • Bugs fixed
    • ZK-1807: bandbox - messed display after its style changed
    • ZK-1826: Overlapped window resizes after setTitle(String)
    • ZK-1829: Selector org.zkoss.zk.ui.select.impl.Tokenizer implementation problem
    • ZK-1852: Processing indicator briefly displayed in non-localized text
    • ZK-1892: Error when calling setCoords() in Area widget
    • ZK-1953: Checkmark in listheader is checked when nothing in the listbox
    • ZK-1980: Toolbarbutton click failed when draggable true
    • ZK-2003: When resizing using splitter in borderlayout visible popup windows do not close (bandbox popup, combobox popup)
    • ZK-2004: The selected Objects of the Chosenbox is incorrect after replace model
    • ZK-2019: Chosenbox work incorrectly when using ListSubModel and Comparator
    • ZK-2024: combobox bound selectedItem not updated on blur event
    • ZK-2028: When deleted one selected item in chosenbox with ListSubModel, it would remove all the selection
    • ZK-2036: ZK Listbox Aux Headers does not work properly with the visible attribute
    • ZK-2038: Grid is missing the bottom border for certain layout in IE9~11
    • ZK-2041: Grid inside a modal window becomes squished in IE9
    • ZK-2042: Button's autodisable="self" will cause to stop the form request processing
    • ZK-2045: Page becomes blank after detaching a modal window having an iframe loaded with PDF in IE 11
    • ZK-2046: Scroll position is reset to top if resize column of a grid with rod
    • ZK-2047: IE Datebox calendar overlapping pdf problem
    • ZK-2048: ZK7 TreeDataEvent.SELECTION_CHANGED never raised
    • ZK-2050: Listbox select all formatting
    • ZK-2051: Chrome rmDesktop not working reliably, causing a memory leak in Session
    • ZK-2053: Listgroup checkmark wrong display
    • ZK-2056: XSS Vulnerability in AuUploader
    • ZK-2057: ZK 7 checkbox, cannot set to "is checked" after setChecked(false)
    • ZK-2059: Upload button doesn't work if it is disabled at the beginning
    • ZK-2060: Tabs in a nested tabbox don't display properly if scrolling enabled in parent tabbox
    • ZK-2065: W3C validation error for macro component
    • ZK-2067: When window contains opened popup, set its mode to modal or overlapped would cause js error
    • ZK-2068: In Portallayout, width property set via a controller is reset to the value at page load on browser window resize
    • ZK-2069: Validation error message does not scroll with component.
    • ZK-2070: grid onScroll client-side event not working in 7.0
    • ZK-2071: frozen scrollbar not working when auxhead is below listhead/columns/treecols
    • ZK-2072: template composition not working as described
    • ZK-2074: native scroll bar disappearing with frozen on browser resize
    • ZK-2080: Chosenbox with ListSubModel not working if using template to render data
    • ZK-2081: Can not customize the text of the tooltip when scrolling the slider
    • ZK-2084: Doublespinner should display float value
    • ZK-2088: zk.safari show version number on Chrome
    • ZK-2091: Copy-paste large value in doublebox get error.
    • ZK-2095: Column sizable curser problem with sortable column
    • ZK-2096: Tree with Native Scrollbar wrong position of scrollbar column header
    • ZK-2098: Tree cells lose width when replacing column headers
    • ZK-2100: Layout broken when using nested tabboxs with different orients
    • ZK-2101: Frozen Tree - Display problem with Auxheaders and Hidden TreeCols
    • ZK-2105: EventQueue still sending request even it is removed by EventQueues.remove() API when using PollingServerPush
    • ZK-2110: The size of detail is wrong when first column invisible
    • ZK-2111: Button fileupload sometimes not work when using strong CSS font style
    • ZK-2114: Native scrollbar remaining header column in grid/listbox
    • ZK-2115: Native bar causing empty margin when changing browser size
    • ZK-2117: South does not calculate correct size
    • ZK-2119: Second level menupopup opened and closed immdiately when moving mouse in IE
    • ZK-2127: Annotation data binding doesn't work properly with ZK 6.5.3 and later
    • ZK-2128: Frozen Tree - cells disappearing after replacing the columns twice
    • ZK-2129: Frozen Tree - column headers changing height (with native scrollbar)
    • ZK-2130: Frozen Tree - columns flicker and width changes when resizing the browser
    • ZK-2131: Tree with Native Scrollbar JS error
    • ZK-2138: vflex="1" not working properly with groupbox
    • ZK-2140: Multiple select with Shift key does not work properly
    • ZK-2143: Filedownload should support chinese file name
    • ZK-2148: NullPointerException in Selectbox after set its model to null
    • ZK-2151: Nested listboxes selection issue
    • ZK-2157: Listheaders not showing if no listitems and Listbox is sized by content
    • ZK-2158: Tab can be click on blank area next to last tab (IE9 only)
    • ZK-2165: Some items are not displayed in paging tree
    • ZK-2169: CometServerPush.getStartScript() should include org.zkoss.zkex.ui.comet.smartconnection.disabled in ee version
    • ZK-2172: Biglistbox with frozenCols missing data
    • ZK-2179: Listbox can't scroll on tablet device if listitem has context or listen to onDoubleClick event
    • ZK-2181: Flex cause wrong status of radio
    • ZK-2184: Navitem does not fire onClick event when clicked in tablet
  • Upgrade Notes
    • org.zkoss.util.logging.Log class and org.zkoss.util.logging.config.file library-property are deprecated, please use SLF4J API for logging instead.
    • rename the orient of tabbox "horizontal" to "top", "vertical" to "left" and add extra two orients named "bottom" and "right"
    • deprecated Session's getRemoteHost(), getRemoteAddr(), getServerName(), getLocalName(), and getLocalAddr() methods, please use these methods from Executions.getCurrent() instead.
    • deprecated to enable event-thread, according to Java Servlet Specification deprecated to enable event-thread, according to Java Servlet Specification that some of high-end application servers may prohibit the creation of new threads.
    • deprecated all the classes under org.zkoss.zkplus.databind package
    • deprecated all the classes under org.zkoss.zkplus.acegi package
    • change the addon-name of zkplus jar from 'databind' to 'zkplus'