ZK 2.3.1
Released on May 2, 2007.
Download Now
Getting Simpler and Richer
New Feature Highlight
- New (and simpler) way to customize the display of error messages.
- Support the file download that opens a Save dialog at the client
to let the user download arbitary file from the server.
- A new component called
captcha is added
to simplify the use of CAPTCHA.
- Java Interpreter (based on BeanShell)
supports hierachical scopes, aka., nest scopes.
- Many more...
- See also New Features of ZK 2.3.1.
Feature Updates
-
76 XUL and 82 HTML off-the-shelf 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.
-
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:
- 1698249: A way to customize the error box withouot writing JavaScript
- 1690498: A way to download a file from server with save as dialog
- 1663482: BeanShell shall support hierachical scopes like 2.2 does
- 1688892: A way to abandom Milieu
- 1699729: Adds the deferred option to zscript
- 1686198: A way to specify custom attributes in lang addon
- 1688093: Remove Component's param since it's redundant to custom-attribute
- 1686617: generate onClientInfo when browser size changes
- 1687371: button and checkbox suport DoubleClick
- 1689560: Add Events.sendEvent(Event evt)
- 1684148: support captcha component
- 1693686: Rightclick shall select the list item if it is not selected
- 1692783: ListModelConverter coerce empty Listmodel from null
- 1692772: a way to limit live-threads
- 1696799: doModal shall be allowed if not in processing an event
- 1642306: Position overlapped/popup widows at center, left, right...
- 1698195: Translate messages to Swedish. Thank Easit AB (http://www.easit.com) for his contribution.
- 1699225: Translate messages to Turkish. Thank Kursat Kurt for his contribution.
- 1699073: A way to prevent removing a desktop when user browse away
- 1617806: A way to support custom failover mechanism
- 1704040: Add onSelection event to InputElement
- 1705531: Textbox supports setSelectionRange
- 1704040: Add onSelection event to InputElement
- 1705715: InputElement's clearErrorMessage shall be public
- 1704194: Get value without validation -- getRawValue and getRawText
- 1708577: A way to control default encoding of the uploaded text file
- 1708000: ListModelXxx support Listbox and Grid sorting
- 1708615: Upgrade to jFreechart 1.0.5
- 1708616: Upgrade to jRuby 0.9.9
- 1710373: ListModelConverter should accept BindingListModel
- 1710542: Make AImage serializable
- Bug fixes:
- 1682844: Java 1.4.2 compatibility problem with StringBuffer.insert
- 1685165: bundled asm.jar imcompatibility with ZK 2.3
- 1686521: IE6 only. Opaque round corner of Window title
- 1686278: Rightclick event request's dtid param is null (with Liferay)
- 1687233: Grid creates blank row into wrong place when model changed
- 1673839: zkFilter doesn't handle redirect response properly
- 1688261: Groupbox/window caption wrong behavoir when null
- 1688071: tabpanel incorrectly rendered in FF2.x
- 1689346: Listbox Databind broken in 2007-03-27
- 1688200: Variable Resolver in Macro Components broken
- 1690524: animation onshow, onhide fail to apply on menupopup
- 1690399: ListModel out of sync when Listbox sorted
- 1692660: Resize the width of a child of hbox doesn't work properly
- 1690992: Hbox doesn't render correctly if a cell is invisble
- 1690583: popup incorrectly rendered when attached to
- 1698190: Constraint in zscript cannot access components by name
- 1694879: Fileupload of txt file not working
- 1699786: Execution.isAsyncUpdate(null) shall return if in async-updat
- 1702216: DHtmllayoutFilter cannot parsing DOCTYPE
- 1701319: setVisible method is not working for Vbox
- 1698981: The constraint doesn't works when assing value first
- 1701986: The error msgbox remains even if error is corrected
- 1697214: in TAB:slider always in left position even if curpos changed
- 1706019: Bandbox validation on firing always
- 1706290: Menu and comobox in popup causes unexpected dismiss
- 1707153: Menu and comobox doesn't work properly in a context popup
- 1707254: Menu and comobobox in bandbox causes unexpected dismiss
- 1704072: Can not work with spring 2.0.x
- 1692495: Invisible iframe in tab incorrectly handled on FF2.0
- 1708752: org.zkoss.zk.ui.sys.ConfigParser Typo
- 1684164: Readonly attribute on checkbox doesn't works
- 1709788: databind with checkboxes
- 1710412: Window border incorrect if height specified and shown later
- 1710552: No need to hide iframe if it is HTML
- 1710697: Unable to add style dynamically (IE only)
- 1707818: Validate in onChange failed to check for 2nd onblur
- 1710946: Comobox not allow shift+tab if autodrop (Safari only)
Upgrade Notes
org.zkoss.zul.Constraint is simplified while
org.zkoss.zul.ClientConstraint and
org.zkoss.zul.CustomConstraint are added to
have better control.
- The way to sort listbox/grid with live data is changed:
implements ListModelExt instead of overriding the sort method.
Refer to the dev's guide for details.
- To embed an iframe with contents other than HTML (such as PDF), you
have to specify autohide to true.
<iframe autohide="true" src="my.pdf"/>
UiFactory 's newComponent() adds an extra argument, clsnm.
- Milieu and InstanceDefinition are removed. ComponentInfo is added.
- A component has a reference to the component definition
- ComponentInfo represents a node in a ZUML page.
It is used to create a component, but the component doesn't
have any reference to it once created.
- max-event-threads is renamed to max-spare-threads
- onModal is no longer sent to the error page. Developers have to
specify
mode="modal" explicity.
- The protected getRawValue method of InputElement is renamed to
getTargetValue.
- Execution.isAsyncUpdate(null) means whether the execution is
asynchronous updating a page (rather than creating a new page).
- The readonly property for checkbox, button and listbox is removed,
since it is not applicable.
|
- 10.1.0 on Nov. 12, 2024
- 10.0.2 on Sep. 6, 2024
- 10.0.1.1 on Jul. 2, 2024
- 10.0.1 on Jun. 14, 2024
- 10.0.0 on Feb. 27, 2024
- 9.6.5 on Mar. 5, 2024
- 10.0.0-Beta on Oct. 18, 2023
- 9.6.4 on May 16, 2023
- 9.6.3 on Oct. 25, 2022
- 9.6.0.2 on May 30, 2022
- 9.5.1.4 on May 30, 2022
- 9.0.1.3 on May 30, 2022
- 8.6.4.2 on May 30, 2022
- 9.6.2 on May 24, 2022
- 9.6.1 on Jan. 11, 2022
- 9.6.0.1 on Aug. 30, 2021
- 9.6.0 on Aug. 10, 2021
- 9.5.1.3 on Apr. 29, 2021
- 9.5.1.2 on Apr. 8, 2021
- 9.5.1.1 on Mar. 23, 2021
- 9.5.0.3 on Mar. 23, 2021
- 9.5.1 on Mar. 9, 2021
- 9.5.0.2 on Nov. 24, 2020
- 9.5.0.1 on Oct. 13, 2020
- 8.6.4.1 on Oct. 7, 2020
- 9.5.0 on Sep. 29, 2020
- 9.1.0 on Jun. 16, 2020
- 8.6.3.1 on Jun. 10, 2020
- 8.6.0.2 on Jun. 10, 2020
- 8.5.1.3 on Jun. 10, 2020
- 8.5.0.1 on Jun. 10, 2020
- 9.0.0.1 on May 19, 2020
- 9.0.1.2 on May 5, 2020
- 9.0.1 on Apr. 21, 2020
- 8.6.4 on Feb. 4, 2020
- 9.0.0 on Dec. 10, 2019
- 8.6.3 on Sep. 24, 2019
- 8.6.2 on Jun. 25, 2019
- 8.6.1 on Mar. 5, 2019
- 8.6.0.1 on Nov. 20, 2018
- 8.6.0 on Nov. 7, 2018
- 8.5.2.1 on Aug. 28, 2018
- 8.5.2 on Jul. 31, 2018
- 8.5.1.2 on Apr. 10, 2018
- 8.5.1.1 on Mar. 20, 2018
- 8.5.1 on Mar. 6, 2018
- 8.5.0 on Oct. 31, 2017
- 8.0.5 on May 16, 2017
- 8.0.4.2 on Feb. 14, 2017
- 8.0.4.1 on Jan. 24, 2017
- 8.0.4 on Jan. 10, 2017
- 8.0.3.1 on Oct. 18, 2016
- 6.5.8.2 on Oct. 18, 2016
- 7.0.8.1 on Oct. 12, 2016
- 8.0.3 on Sep. 26, 2016
- 8.0.2.1 on May 31, 2016
- 8.0.2 on May 24, 2016
- 7.0.8 on Mar. 29, 2016
- 8.0.1.1 on Feb. 2, 2016
- 7.0.7 on Dec. 15, 2015
- 8.0.0 on Oct. 06, 2015
- 7.0.6.1 on Aug. 19, 2015
- 7.0.6 on Aug 11, 2015
- 6.5.8.1 on Jul. 30, 2015
- 6.5.8 on Jun. 23, 2015
- 8.0.0 RC on May 26, 2015
- 7.0.5.2 on Apr. 29, 2015
- 7.0.5.1 on Apr. 28, 2015
- 7.0.5 on Mar. 24, 2015
- 7.0.4 on Dec. 10, 2014
- 7.0.3.2 on Nov. 05, 2014
- 6.5.7.1 on Nov. 05, 2014
- 7.0.3.1 on Oct. 15, 2014
- 7.0.3 on Sep. 02, 2014
- 6.5.7 on Aug. 12, 2014
- 7.0.2 on May 27, 2014
- 6.5.6 on May 06, 2014
- 7.0.1 on Feb. 25, 2014
- 6.5.5 on Dec. 30, 2013
- 7.0.0 on Nov. 26, 2013
- 6.5.4 on Oct. 28, 2013
- 7.0.0-RC on Oct. 22, 2013
- 6.5.3 on Sep. 17, 2013
- 7.0.0 Preview on Aug. 13, 2013
- 6.5.2 on Mar. 26, 2013
- 6.5.1.1 on Dec. 13, 2012
- 6.5.1 on Dec. 05, 2012
- 6.5.0 on Sep. 12, 2012
- 6.0.3.1 on Nov. 07, 2012
- 6.0.3 on Oct. 30 24, 2012
- 6.0.2 on Jul. 24, 2012
- 6.0.1 on May 02, 2012
- 5.0.12 on Nov. 06, 2012
- 5.0.11 on Mar. 27, 2012
- 5.0.10 on Jan. 03, 2012
- 6.0.0 on Feb. 14, 2012
- 6.0.0 RC2 on Dec. 06, 2011
- 6.0.0 RC on Nov. 15, 2011
- 5.0.9 on Oct. 18, 2011
- 5.0.8 on Aug. 31, 2011
- 5.0.7 on May. 11, 2011
- 5.0.6 on Feb. 24, 2011
- 5.0.5 on Nov. 2, 2010
- 5.0.4 on Aug. 31, 2010
- 5.0.3 on Jun. 29, 2010
- 5.0.2 on May 12, 2010
- 5.0.1 on Mar. 16, 2010
- 3.6.4 on Mar. 16, 2010
- 5.0.0 on Jan. 26, 2010
- 5.0.0 RC2 on Dec. 8, 2009
- 3.6.3 on Nov. 3, 2009
- 5.0.0 RC on Sep. 28, 2009
- 3.6.2 on Jun. 23, 2009
- 3.6.1 on Apr. 28, 2009
- 3.0.9 on Mar. 16, 2009
- 3.6.0 on Mar. 2, 2009
- 3.5.2 on Dec. 8, 2008
- 3.5.1 on Oct. 8, 2008
- 3.0.8 on Oct. 8, 2008
- 3.5.0 on Sep. 10, 2008
- 3.0.7 on Aug. 1, 2008
- 3.0.6 on Jun. 24, 2008
- 2.4.3 on Jun. 23, 2008
- 3.0.5 on Apr. 30, 2008
- 3.0.4 on Mar. 25, 2008
- 3.0.3 on Feb. 01, 2008
- 3.0.2 on Jan. 22, 2008
- 2.4.2 on Dec. 19, 2007
- 3.0.1 on Dec. 17, 2007
- 3.0.0 on Nov. 6, 2007
- 2.4.1 on Jul. 6, 2007
- 2.4.0 on Jun. 8, 2007
- 2.3.1 on May 2, 2007
- 2.3.0 on Mar. 20, 2007
- 2.2.1 on Jan. 2, 2007
- 2.2.0 on Dec. 13, 2006
- 2.1.3 on Oct. 24, 2006
- 2.1.2 on Oct. 3, 2006
- 2.1.1 on Sep. 19, 2006
- 2.1.0 on Aug. 28, 2006
- 2.0.1 on Jun. 26, 2006
- 2.0.0 on Jun. 13, 2006
- 1.1.0 on Mar. 20, 2006
- 1.0.0 on Feb. 27, 2006
|