ZK 6.5.1 release notes

Released on December 05, 2012.


ZK 6.5.1 concentrates on fixing bugs and introducing a few new features including a default command for MVVM, page visibility with HTML 5 API and others.

ZK 6.5 series focuses on taking developers to achieve real device transparency in one codebase and component set, exploring the area of combined desktop & tablet UI and touch experiences. 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 details
  • To read about the philisophy 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-1248: Sub menu should not overlap its parent in menupopup.
    • ZK-1351: Messagebox with no button
    • ZK-1397: DefaultTreeNode support empty children mean leaf node
    • ZK-1416: Support default Command and GlobalCommand handling
    • ZK-1465: Comet server push support HTML5 page-visibility API to reduce the server loading.
    • ZK-1474: Add onVisibilityChange event based on HTML5 page-visibility API
  • Bugs fixed
    • ZK-1117: some wrong behavior in spinner and double spinner
    • ZK-1150: nbsp gets added to menuitem label in Firefox
    • ZK-1187: Setting an sClass on a selected tab results in tab losing z-tab-seld class
    • ZK-1192: SelectorComposer ConcurrentModificationException in GAE
    • ZK-1213: Calendar and datebox showing the wrong day number
    • ZK-1215: Mouseless selection not working properly in datebox and calendar
    • ZK-1217: Groupbox calculate a wrong hight after the groupbox be hide then show
    • ZK-1218: Doublebox says "not a number" when significant length extends beyond 15
    • ZK-1220: Instant textbox doesn't preserve the focus at position
    • ZK-1226: Problem With Parent of the Menupopup in Fullscreen
    • ZK-1234: Odd and Even background color not working on grid within a panel within another grid
    • ZK-1257: Filedownload.save(media, filename); is not returning as expected
    • ZK-1259: zul with hashmap not load key from a fx
    • ZK-1284: Grid/Listbox header and content horizontal synchronization in IE browser.
    • ZK-1295: setDisabled( false ) + setFocus() does not work on previously disabled buttons
    • ZK-1297: Listbox has wrong height when using "rows" and auxhead
    • ZK-1308: WireVariable does not wire a superclass field if a field with the same name is declared in a subclass
    • ZK-1309: Modal window loses it's modality in certain situation
    • ZK-1324: Trendy button doesn't change it's style properly when loosing focus
    • ZK-1336: Liferay 6.1 + JBoss 7.1 + ZK 6 : Cannot encode relative URLs
    • ZK-1337: Liferay 6.1 + JBoss 7.1 + ZK 6 : RenderHttpServletRequest & RenderHttpServletResponse don't respect STRICT_SERVLET_COMPLIANCE
    • ZK-1341: Datebox in zh_TW locale with 'Long + Medium' format failed to assign correct value
    • ZK-1345: ZK MessageLoader doesn't load customize MessageLoader
    • ZK-1348: First child tree node can't unfold sometimes
    • ZK-1349: If Cell style is specified, it overrides any previous component style setting
    • ZK-1350: Listbox multiple choice demo example does not work
    • ZK-1353: Datebox not work in Hebrew
    • ZK-1354: ZK generated page cannot pass W3C validator while checking as XHTML 1.0 Transitional
    • ZK-1356: Spinner doesn't update it's value in ipad
    • ZK-1357: Popupmenu doesn't show up when listening to onClick
    • ZK-1358: When I try to show a window with doOverlapped, doModal or doHighlighted my window don't appears
    • ZK-1366: When binding Radio's "selectedItem" with a non-String object, zk throws ClassCastException
    • ZK-1368: the right edge of the textboxes split over to a new line when you specify a percentage width and set the mold to rounded
    • ZK-1370: org.zkoss.zul.Datebox.setDisplayedTimeZones(List dtzones) NPE if emptied
    • ZK-1372: zk.stackUp not work with Firefox
    • ZK-1373: Doublebox should not allow the typing of non-numeric characteres achieved by alt-combinations such as @,# and �
    • ZK-1374: Unclosed BufferedReader for org.zkoss.util.media.ContentTypes
    • ZK-1377: Focus lost when tapping & change title value insides a window
    • ZK-1380: Forward uri can't be "zk/*" on Tomcat 7
    • ZK-1381: Show busy on panel with borderlayout is not working
    • ZK-1383: The value of Map.Entry returned from ListModelMap.getElementAt() don't support Serializable
    • ZK-1386: Server failed to load scrollview.css.dsp while using zk6.5 ee and setting theme to sapphire
    • ZK-1391: When a window is invisible at first, its top (or left) attribute takes no effect even we turn the window to be visible.
    • ZK-1400: Focus issue when Listbox in select mold after invalidate
    • ZK-1402: Borderlayout inside a window may not display properly on tablets
    • ZK-1403: Combobutton has a missing image icon when displayed on tablets
    • ZK-1404: Combining hbox/vbox/splitter may cause problems on tablets
    • ZK-1406: BorderLayout IPad2 rotating, North area size.
    • ZK-1407: Combobox focus style is lost after item selection
    • ZK-1413: ConcurrentModificationException in SelectorComposer when tomcat 6 startup
    • ZK-1418: Selectbox: Changing selection after changing a new model
    • ZK-1419: Constraint hover text is confusing
    • ZK-1420: textbox can't be load on android 2.x
    • ZK-1424: Treeitem with a lot of childrens takes too long to open
    • ZK-1425: Setting visible false on Listheader doesn't hide corresponding listfooter
    • ZK-1427: toolbarbutton with autodisable active upload function not work at second click
    • ZK-1428: Wrong order for item removed from ListModelList model
    • ZK-1430: Listbox in Bandpopup of a Bandbox is not size correctly - "rows" is ignored.
    • ZK-1431: Some components block loading while being included by another page with defer mode
    • ZK-1433: InputElement width not set when component is built by macro
    • ZK-1434: When use native tag to render row's cells, it doesn't works fine with zkmax.jar
    • ZK-1437: javascript error when use include with auto mode
    • ZK-1438: Composer doesn't be released when using @Subscribe
    • ZK-1441: Accordion Tabbox after rapid clicking on tabs start displaying content at fixed wrong hight.
    • ZK-1442: ZK Bind command doesn't work with cluster env
    • ZK-1446: get NotSerializableException when using @Subscribe in tomcat cluster env.
    • ZK-1448: Scrollable Menubar does not show left/right arrows on mobile devices
    • ZK-1452: Unknown stub error
    • ZK-1458: Right click on iPad does not work if there are both double click event handler and right click event handler
    • ZK-1462: Portalchildren and Renderdeferer cause a Javascript error
    • ZK-1463: Button is disabled and clickable if windows is from visible=false to true
    • ZK-1464: Console has Exception log when change src of include if bind to a textbox
    • ZK-1467: Resizable panels inside portallayout loses resizability after move
    • ZK-1468: Value doesn't be reload if it binds to @ref and in include
    • ZK-1469: argument type mismatch when try to get @ScopeParam with @ref value
    • ZK-1470: Horizontal scroll disappear with element frozen
    • ZK-1472: Cannot bind to include arg
    • ZK-1480: zkmax bandbox issue
    • ZK-1483: Scollbar issue with Listbox when items are selected
    • ZK-1488: UUID implementation change cause the context popup not work correctly
    • ZK-1490: Invoke north.getSize API cause JS error
    • ZK-1491: Tag template is not valid by zul.xsd
    • ZK-1492: Wrong model selection in onChange of combobox
    • ZK-1497: org.zkoss.bind.impl.BinderImpl cause ConcurrentModificationException
    • ZK-1498: The "import Classes" directive doesn't work for zscript
    • ZK-1499: When Panel contains Caption, it dose not display icon in tablets.
    • ZK-1500: Change Panel button settings during maximize event will cause Panel not resize properly.
    • ZK-1501: Grid Footer cannot scroll horizontally in tablets.
    • ZK-1505: "Processing..." progress bar not appears in 6.5.1
    • ZK-1511: &Progressbox not show with long operation
    • Package re-arrangement: ZK CKEditor is no longer shipped within the binary package. Download from here