ZK 7.0.6.1 release notes

PE/EE Released on Aug. 19, 2015


ZK 7.0.6.1 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.



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

  • Bugs fixed
      • ZK-1816: listbox menupopup=auto when a column is hidden and the listheader is clicked for sorting, the hidden column re-appears
      • ZK-2245: Filedownload not working on IOS
      • ZK-2268: Messagebox becomes hidden behind Modal window
      • ZK-2518: The "accept" attribute of Button used to upload doesn't work for multiple file type
      • ZK-2603: unlisten model listener when the component has detached, and listen it again when attached.
      • ZK-2616: Timeout on long running redirect if user triggers more events
      • ZK-2628: Combo item does not display icon
      • ZK-2630: Window caption didn't align with close icon in Firefox
      • ZK-2664: Remove a Grid's row and first row gets focus
      • ZK-2673: The nav items size is not adapted in case further items are added on demand
      • ZK-2678: Combobox is pushed off-screen by virtual keyboard after selected an item and lost focus iOS 8.1]
      • ZK-2679: Previous and next arrows in calendar control trigger onbeforeunload in IE<=10
      • ZK-2680: navbar open items out of synch
      • ZK-2682: Remove a ListModel's item before a Combobx renders throws an exception
      • ZK-2686: incorrect borderlayout resizing to 0px in tabbox
      • ZK-2687: Clients.showNotification should consider the target component is in parent's scroll viewport or not
      • ZK-2690: Grid's non-frozen columns disappear after scrolling
      • ZK-2692: SLF4J logging argument syntax
      • ZK-2693: HTTPS/SSL errors due to fonts.googleapis.com import
      • ZK-2694: client side tree open/close and virtual scrollbars
      • ZK-2697: rmDesktop not reliable on iPhone/iPad safari
      • ZK-2701: serialization callbacks called multiple times
      • ZK-2704: combobox immediately closes when loading comboitems on demand
      • ZK-2705: ZUL's applet invoke does not correctly call method on Internet Explorer
      • ZK-2709: Modified time doesn't update in a Datebox in Firefox
      • ZK-2711: Combobox popup position becomes incorrect when soft keyboard is displayed on iPad
      • ZK-2712: Tree scroll position didn't clear when setting new model and then invalidate
      • ZK-2717: Issue with combobox popup during orientation change
      • ZK-2720: Setting automatic-timeout to true didn't redirect to timeout page based on session timeout time
      • ZK-2722: Clearing a Grid's model causes ArrayIndexOutOfBoundsException
      • ZK-2729: Dropupload overlay does not cover its anchor after scrolling
      • ZK-2739: Modal window didn't focus on previously focused button when button have autodisabled setted
      • ZK-2746: Errorbox still not shown when WrongValueException is thrown on a multiline textbox
      • ZK-2747: Executions.schedule API behavior didn't follow its javadoc description
      • ZK-2752: Grid column width is incorrect when set hflex to min and first row is invisible
      • ZK-2754: Problem with two group scoped event queues and iframe
      • ZK-2759: Grid header and content misaligned when using span="true"
      • ZK-2761: Combobox drop-down position incorrect when the offsetTop value is float number
      • ZK-2764: TreeNode.setData() causes incorrect re-positioning of treeitems
      • ZK-2765: Support orientation change event to modify datebox popup window's size and position
      • ZK-2767: dropupload problems with native drop after first upload
      • ZK-2768: client ROD causes JS error with popup.open
      • ZK-2769: Listfooter is not aligned with listhead on changing width
      • ZK-2773: The popup position of datebox shows at wrong position when the page is longer than screen
      • ZK-2775: initially open popup does not clear loading mask
      • ZK-2776: Hide a Grid's column and columns become mis-aligned
      • ZK-2779: TreeModel selection size is incorrect when tree node is not rendered yet
      • ZK-2783: empty comboitem renders without height
      • ZK-2784: double virtual scrollbars for grid inside borderlayout
      • ZK-2785: dropupload freezes when dropping a folder
      • ZK-2793: Datebox popup in mobile cannot scroll year properly
      • ZK-2795: popup causing lost onFocus/onChange event
      • ZK-2796: Uncessary onRender command triggered when setting tabbox's maximalHeight attribute to true
      • ZK-2802: toolbarbutton does not support big image icon
      • ZK-2804: listbox select range with ROD
      • ZK-2805: call ListModelList.add() and a chosenbox throws a javascript error
      • ZK-2810: vertical (left/right) tabbox content sizing issue
      • ZK-2812: onOpen event listener didn't trigger when using GroupsModel
      • ZK-2814: Calling Clients.scrollIntoView(null) shows a error message
      • ZK-2818: Busy message cannot be cleared under server push
      • ZK-2825: Looping javascript array should not include zk defined function
      • ZK-2826: combobox not opening on Ipad
      • ZK-2827: asynch invalidate() causing client error
      • ZK-2829: TabboxEngineImpl not serializable
      • ZK-2832: Nav's selectedItem causes a JS error when the navitem is being invalidated
      • ZK-2839: Invoke a global javascript function doesn't work
      • ZK-2844: After redirect to another page, the au is disabled