ZK 7.0.5 release notes

PE/EE Released on Mar 24, 2015


ZK 7.0.5 is a maintenance release mainly focusing on bug fixes.

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.

Please note that this version is released for PE/EE customers & ZOL users.


Getting Simpler and Richer

New Feature Highlight

  • ZK-2644: Add a way to turn off the seeking first root widget for afterKeyDown event

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-2644: Add a way to turn off the seeking first root widget for afterKeyDown event
  • Bugs fixed
      • ZK-1132: Support for .zul files taken from web-fragment projects
      • ZK-2056: XSS Vulnerability in AuUploader
      • ZK-2516: center content flickers in ZK 7 when invalidating
      • ZK-2518: The "accept" attribute of Button used to upload doesn't work for multiple file type
      • ZK-2538: Updating a treeitem in a large tree with paging causes client-side stack overflow
      • ZK-2539: Getting selected count from a large tree with paging causes server-side stack overflow
      • ZK-2541: Attempt to install CometAsyncServlet in Servlet 2.5 compliant container
      • ZK-2544: Clicking on combobox button does not select listitem when nonselectableTags=""
      • ZK-2547: Sometimes we cannot close a Treeitem in one click
      • ZK-2548: Initial keyboard selection causes combobox constraint error
      • ZK-2550: Listbox doesn't keep scrollbar position when replacing an item of ListModelList and ROD enabled
      • ZK-2551: Listbox doesn't keep scrollbar position when applying hflex="min" on a listheader
      • ZK-2553: grid with frozen JS error
      • ZK-2554: Context menu is closed automatically when tooltip showed
      • ZK-2555: grid with groups model does not support dynamic templates
      • ZK-2558: adding and freezing columns dynamically causes a JS error
      • ZK-2559: adding auxheaders together with columns causes JS errors
      • ZK-2562: Wrong tree rendering after adding node with tree model
      • ZK-2564: vm.items not sync after window serialization and deserialization
      • ZK-2567: Include html file throw UiException with auto mode
      • ZK-2568: Group/Listgroup row has wrong colspan value
      • ZK-2574: Long operation Pattern (generic approach) not working for Servlet 3
      • ZK-2575: errors in zul.xsd
      • ZK-2583: frozen grid/listbox scrolling controls partially broken on IE
      • ZK-2586: datebox performance on IE11
      • ZK-2587: Firefox drag and drop problem within tabbox
      • ZK-2588: Uncheck a Listitem will auto scroll back to another selected item
      • ZK-2589: Tree ROD failing after open/close a node
      • ZK-2590: Type numpad 1 but combobox selects an item starting with 'A'
      • ZK-2595: The nested hflex size is not up to date when the new child added inside a hlayout or vlayout
      • ZK-2603: unlisten model listener when the component has detached, and listen it again when attached.
      • ZK-2606: listitem.setParent loses selected flag
      • ZK-2607: Setting new itemRenderer does not refresh Selectbox
      • ZK-2611: Inconsistency in TreeModel when changing the model
      • ZK-2619: Errorbox not shown when WrongValueException is thrown on a multiline textbox
      • ZK-2622: Native component with nested script tag will cause JS error
      • ZK-2624: Page controls didn't show when using autopaging in Grid/Tree
      • ZK-2625: Client-side stack overflow error happens if using Grid and Listbox together
      • ZK-2626: treerow height for autopaging is not consistency with default mold
      • ZK-2627: Text for 2233 message Reload is incorrect in russian localization
      • ZK-2635: navbar (collapsible) changes position when selecting
      • ZK-2636: Form validator didn't get value to validate selectedItem attribute if adding new item to Combobox's ListModel
      • ZK-2639: performance issue with AbstractTreeModel and render on demand
      • ZK-2640: Navigate textboxes in mesh widget headers by tab key misaligned headers with cell content [FF, IE11]
      • ZK-2645: Listbox rendered incorrect when ROD enabled
      • ZK-2647: flex/resizing client side performance
      • ZK-2648: Icons are not centered vertically inside paging control
      • ZK-2649: Executions.sendRedirect() doesn't work when invoke them from .zhtml page
      • ZK-2651: JS Error showed when clear grid children component that include frozen
      • ZK-2652: Chosenbox popup is fixed in position during mouse wheel scrolling when ca:data-scrollable="true"
      • ZK-2656: ZK 7 JQ selectors not completely working
      • ZK-2659: Widget tree dump does not export visible attribute
    • Upgrade Notes
      • Due to the compliexity of the size calculation (hflex and vflex) for tablechildren with colspan and rowspan, we restrict the usage of hflex and vflex for the tablechildren component to "false, min, and 0" since 7.0.2. Only the following values are supported: min, 0, and false.
      • Due to the better user-firendly for the scrollbar layout, we changed the org.zkoss.zul.nativebar of the library property to true by default for Grid, Listbox, Tree and Borderlayout component.
      • Change the default value of data-embedscrollbar from false to true, if the org.zkoss.zul.nativebar setting to false.