ZK 6.5 release notes

Released on September 12, 2012.


The new ZK 6.5 is a whole new release with new dimensions taking developers to achieve real device transparency in one codebase and component set, exploring the area of combined desktop & tablet UI and touch experiences in the simplest and most efficient way.

Introducing responsive design and responsive components to always fit your device screen resolution and tablet-specific user interaction methods such as swiping and device orientation detection which are done automatically to save developers time, effort and to increase massive productivity.


Getting Simpler and Richer

  • Please see New Features for more information
  • To read about the philosophy behind ZK 6.5, please visit this blog

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-120: Provide menupopup="auto" for listbox
    • ZK-147: Support ungroup for grid's column menu
    • ZK-447: The file upload allows users to drag and drop local files (HTML5)
    • ZK-574: Minimum theme for better performance in mobile devices
    • ZK-969: The LayoutRegion component support caption component as it's title
    • ZK-970: The Tab component support caption component as it's label
    • ZK-1145: Notification diappears when displayed in onCreate event of modal Window
    • ZK-1175: Calendar support show week number
    • ZK-1180: listbox support column selection
    • ZK-1239: Grid, Listbox, Tree can support to scroll the content by finger on tablet/mobile device
    • ZK-1240: Input element support HTML5 type, like tel, number, email, and so on
    • ZK-1241: ZK Client Widget support swipe event for tablet/mobile device
    • ZK-1242: Datebox support scrolling picker like ios's date picker for tablet/mobile device
    • ZK-1243: Combobox support scrolling picker like ios's select picker
    • ZK-1244: Tabbox support touch's swipe event to switch tab selection
    • ZK-1245: Borderlayout support touch's swipe event to close/open the layout region
    • ZK-1246: Calendar support touch's swipe event to switch the date view
    • ZK-1247: Add a new theme for tablet/mobile device with big icons
    • ZK-1255: InputElement support html5 placeholder
    • ZK-1269: Need layout that allow user change view like change card.
    • ZK-1272: Scrollview component for tablet device
    • ZK-1273: Add a way to listen onOrientationChange for tablet device
    • ZK-1277: Group and listgroup components should be set as the same height as row and listitem components
    • ZK-1280: Add attribute to decide whether to scroll grid/listbox/tree component or not in tablet
    • ZK-1283: Grid/List/Tree support changing page by swipe event on tablet device
    • ZK-1301: The buttons in the Messagebox shall use autodisable?
  • Bugs fixed
    • ZK-1149: In Version 6.0.1, the onSelect callback no longer being called when accessing a zul page from Safari on an Ipad.
    • ZK-1200: wrongValue 'undefined' is not an object (in IPAD)
    • ZK-1208: Clients.scrollIntoView don't work in Chrome browser
    • ZK-1227: NumberInputElement.formatNumber() should use dt.applyLocalizedPattern() instead of dt.applyPattern()
    • ZK-1237: NullPointerException at org.zkoss.web.servlet.Servlets.getVersion(Servlets.java:460)
    • ZK-1256: Combobox onSelect not working properly
    • ZK-1276: Combobox does not sync the selected item
    • ZK-1285: Modal window position issue with virtual keyboard on ipad
    • ZK-1305: Scroll on Ipad if Element is draggable
    • ZK-1313: combobox dropdown changes document scroll height on iPad
    • ZK-1314: input component focus in modal window causes virtual keyboard to show up and down on iPad
    • ZK-1315: grid column doesn't reappear if columns menupopup set to auto and grid is sizedByContent
    • ZK-1322: Issue on timebox with null value
    • ZK-1338: The page content will be empty when the Javascript takes a long time