ZK 3.6.3 release notes

Released on November 3rd, 2009.

Getting Simpler and Richer

ZK 3.6.3 brings about improvements in the performance of applications in addition to introducing several new features and fixing over 70 bugs.

Highlight

  • Internet Explorer memory issue resolved
  • Charting improvements
  • MenuBar now supports scrolling
  • Tabbox supports controls in the tab bar
  • Automatic timeout now available at the client

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, FCKeditor, DOJO, and Timeline components.
  • Event-driven, server-centric model
    • More than 20 events are supported: onChange, onChanging, onScroll, onSelect, onShow, onZIndex...
    • 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 acess 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.
    • Macro components. Developing a full-feature new component by using another 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:
    • 2821761: Tabbox support extra tabs to display other cmps on the bar
    • 2813737: Support new "dial" chart
    • 2874457: A way to automatic timeout at client without user's activity
    • 2811973: Log the event thread that takes too long to execute
    • 2813778: Upgrade to jython 2.5
    • 2817733: doModal degenerate to doHilighted if event thread disabled
    • 2836829: A way to disable the compress of DHtmlUpdateServlet
    • 2840108: Enhance popup, tooltip, and context can be shown by position
    • 2870478: Chart shall support setting Font
    • 2873957: menubar in horizontal support scrollable functionality
    • 2873954: menu support onClick
    • 2857412: Feedback on server push error
    • 2878584: A plugin to customize the encoding of filename
    • 2879604: A way to reload client-side messages with different locale
    • 2880351: Encode ZK version to JS/CSS/image to prevent browser cache
    • 2882081: A way to set the preferred locale for the whole application
    • 2882099: A way to set the preferred timezone for whole application
    • 2882090: Cache all of ZK static resources in Browser
    • 2882221: Long word in Messagebox can be broken correctly
    • 2882272: Datebox support set timezone list
  • Bug fixes:
    • 2862085: IE 6,7,8 memory leak in modal dialog demo
    • 2801721: Memory leak - Grid control
    • 2813877: Window resize outline miss
    • 2814504: Failed to update treeitem (paging) if its parent is cropped
    • 2817260: Configuration.getResendDelay not inited correctly if zkmax
    • 2817728: Comet push doesn't stop if it is disabled in working thread
    • 2818308: ScrollIntoView got a wrong position, if not need be
    • 2819040: Panel couldn't contain caption child
    • 2819521: Console shows Exception if do modal in sendEvent + F5
    • 2820552: Panel fails to combine the caption with three toolbars
    • 2820527: Hiding column not work
    • 2821745: Groupbox fail to open if in the closing animation
    • 2828189: Fileupload won't check max-upload-size in zk.xml if ms is -1
    • 2827671: Serializable error with FieldComparator
    • 2816139: zul.xsd error in ZK 3.6.2 (with Eclipse 3.4 Ganymede)
    • 2830325: FieldComparator not castable to ListItemComparator
    • 2831915: Fail to create components in working thread if using el
    • 2835471: Panel's title disappear if caption exist.
    • 2837303: Progressmeter's height cannot be shortened
    • 2839335: Timebox in Opera should not type non-number character
    • 2848948: Unable to change encoding of output of ZUL other than UTF-8
    • 2855933: Failed to resolve correct setter if two with the same name
    • 2829547: Incorrect getValue when using spinners on multiple Timeboxes
    • 2856700: Failed to include a page with query string in auto mode
    • 2859020: ComponentActivationListener and others not called for child
    • 2073409: Can't add groupfoot by javacode
    • 2154611: Menuitem in Menubar - quirks
    • 2493245: zscript failed badly if macro's setMacroURI before setParent
    • 2859075: Menuseparator with vertial menubar fails in zkmax
    • 2859747: Label inside Column should be sorted as well.
    • 2861272: Listitem can't be invisible in IE, Chrome, and Opera
    • 2861323: AnnotateDataBinderInit shall throw exception if arg0 is null
    • 2871112: Extends compoonent definition to diff name and class error
    • 2872183: Horrible IO-Performance with RepeatableInputStream
    • 2872890: ZK JSP Native component can't be serialized
    • 2872889: ZK JSP Component definition not found when activate session
    • 2873256: Sessions.getCurrent null when ComponentActivationListener called
    • 2873310: GenericComposer call willPassivate/didActivate many times
    • 2873327: GenericComposer register extra onXxx$id listeners
    • 2873329: GeneircForwardComposer add extra forwards
    • 2873365: Failed to serialize if the forward target has no ID assigned
    • 2873905: GenericComposer shall not call doAfterCompose in didActivate
    • 2823591: ZK 3.6.2 selectedItem throws Exception
    • 2874039: Child sizing incorrect if invalidate center region
    • 2874568: NPE when serialize/deserialize Chart
    • 2876830: NPE while desktopDestroyed
    • 2877549: error-uri doesn't encode (HttpServletResponse.encodeURL)
    • 2824105: Panel with border="normal"
    • 2825231: Vbox inside vertical tabs
    • 2814460: Listgroup occur an error when setCheckable(false) in opera
    • 2844707: Datebox not setting the date correctly with "d-MMM-yyyy"
    • 2812498: Horizontal & vertical scrollbars appear at Chrom 3
    • 2811990: Changing curpos of slider should change its titile as well
    • 2859331: zk.formatDate traduction error french
    • 2874098: Databinder accidently clear the error box in loadOnSave
    • 2873219: Locale Dependent URI Problem
    • 2868670: cancel upload causes js error in IE6/IE7
    • 2815049: Stop at loading if popup window embeds an applet (IE6)
    • 2851102: Closing error message box closes popup Window as well
    • 2825976: German Mapping of MCommon.FILE_OPENING incorrect
    • 2838782: when paging is on treerow lose focus when use arrow to open
    • 2841185: Firefox
    • 2848692: combobox getSelectedIndex bad return value with IExplorer
    • 2856762: SimpleListModelSharer sorting fails
    • 2882149: Execution.sendRedirect to the same URL doesn't reload
    • 2882922: The link, meta and script directive ignored in complete page
    • 2883181: listheader with "em" size causes fixedLayout problem in FF
    • 2879948: bug with flash in IE6
    • 2886261: In IE6, problem with collapsible West and Listbox(select).
    • 2824517: Command and arrow keys don't work in combo box (Mac only)
    • 2887102: Grid footer does not align properly, while setting overflow