ZK 3.0.1
Released on December 17, 2007.
Download Now
Getting Simpler and Richer
New Feature Highlight
- A
GenericComposer allows you to realize MVC approach more easily.
- A
GenericEventListener helps you to handle all kinds of events using one single file.
HeaderElement supports versatile ZK components. You could put an image or a button in headers.
- All InputElement supports onKeyDown, onKeyUp, and onOK events.
- Data-binding supports Map.
- Provide a JNDI variable resolver to get EJB3 objects.
- See also New Features of ZK 3.0.1.
Feature Updates
-
88 XUL and 83 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.
-
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:
- 1836202: A generic composer to realize MVC approach more easily
- 1836198: A generic event listener which invokes corresponding method
- 1835773: Support longbox
- 1838456: A way to customize progressmeter's look with CSS
- 1797701: Slider tooltip text customization
- 1766905: DataBinder support binding to Map
- 1845942: JndiVariableResolver to Get Variable from JNDI Binding
- 1840081: A way to restrict max concurrent request per-session
- 1830278: HeaderElement with children
- 1797807: Listbox add Select All
- 1839256: A way to control the timeout of the Ajax resend mechanism
- 1843863: Able to Pass Arguments to Variable-Resolver Directive
- 1829124: configure prefix to the URI on zkau browser resources
- 1831559: A way to set a wrong value for textbox/Intbox...
- 1832165: Borderlayout support onSize event
- 1830924: A way to specify label's width easily
- 1814621: JFreeChartEngine - rendering customization
- 1830886: A way to make the listbox change its model less "drastic"
- 1836417: HibernateSessionFactoryListener use different config name
- 1642242: Display certain treeitem on screen (Autoscroll)
- 1601002: Added onSelect event to the Combobox component
- 1841480: HibernateSessionFactoryListner for web.xml
- 1842533: Add default-bind to Radio.selected
- 1796049: Like Timebox, Intbox must support only integer
- 1780792: Disable checkmarks on some node of a tree
- 1474209: Listbox supports the disabled property
- 1843802: Comboitem supports the disabled property
- 1656278: Menuitem enabled/disabled support
- 1735287: Disable Toolbarbutton
- 1721273: Event Enachment
- 1632243: Add a getLine() function to textboxes
- 1845283: A way to customize the writer for the update engine
- 1828245: Add function to drop combobox/bandbox progammatically
- 1846042: AbstractChartModel shall be serializable
- 1849768: Desktop shall not removed if zuml page included by, say, JSP
- 1849884: A way to retrieve the build identifier
- 1850585: Pass request to DesktopInit
- 1850584: Pass request to SessionInit
- 1852144: A way to delay eval of a property value to rendering phase
- Bug fixes:
- 1844609: Failed if an event is processed too long
- 1841816: Some error of Developer's Guide
- 1839246: More reliable handling of Ajax requests
- 1828044: When header is invisible, whole column should be disappeared
- 1826938: Listbox Live Data
- 1828702: InternalError when moving box's children
- 1826872: IE6 100% CPU on Tree and Listbox
- 1830311: Cannot display Japanese messages
- 1827727: multiple disable-theme-uri discarded
- 1831131: maven version of zcommons-el has issues
- 1830668: Nested Windows Do Not Display Properly in FF
- 1829811: data bind fails with radiogroup
- 1830960: data bind does not work with Tabbox
- 1826971: Console output 'experiment: creating class manager'
- 1831534: Popup not working if poup window nested in vbox
- 1832214: Borderlayout : isOpen return true while collapse region
- 1831540: Tabbox setSelectedIndex() should not fire onSelect event
- 1832359: A wrong height of grid&listbox when add header dynamically
- 1826753: Bandbox.setButtonVisible does not always work
- 1836257: A wrong stripe when listitem is invisible
- 1829640: drag-n-drop does not work in Firefox
- 1826808: Drag and Drop performance
- 1826736: First column disappear when sort Listbox
- 1835878: select / colapse of a Treeitem scrolls tree to right.
- 1834900: Tree paging on Tree's Treechildren
- 1835369: [IE Only] Grid floats outside Groupbox
- 1838397: OutOfMemoryError if sendEvent called many times
- 1838852: exception reattaching window in new desktop
- 1828404: Treeitem setOpen doesn't load children
- 1826700: Update content of treeitem from treemodel
- 1839376: Composer cannot be defined using zscript
- 1839959: Borderlayout should resize when onVisi is triggered
- 1839634: ListModelSet not work well with HashSet
- 1840101: Exception when sendRediect from a modal dialog
- 1840003: Window's sclass property cannot be changed dynamically
- 1840024: Component always returns the same id automatically
- 1839960: Listbox rendering problems if wrapping occurs
- 1843032: Infinite "Processing..." message during PRINT
- 1844076: InputElement events not saving value
- 1845904: fileupload is not specified in zul.xsd
- 1840866: Modal windows jumping
- 1834891: IE does not fire the onCtrlKey event correctly
- 1843038: Fulfill doesn't support EL in apply property
- 1833252: transient listeners in serializable result in NPE
- 1845026: adding draggable to tree breaks event processing order
- 1847708: OnBookmarkChanged doesn't send
- 1848307: Minor component resize issue
- 1848377: (Accordion) NullPointerException when tab/tabpanels mismatch
- 1849076: NoSuchElementException in UiVisualizer
- 1849088: New session is extra created when invalidate the session
- 1848492: align and pack not work when VBOX in HOBX in FF
- 1826606: A wrong calculation width when listheader is invisible
- 1823947: Listbox Up & Down Btn faild in Opera
- 1823278: Listbox selection upper bound index is -1
- 1848501: Splitter fail to go back to right position
- 1849239: Listbox.InsertBefore() not correct if with listhead
- 1849838: Components with fulfill failed to serialize
- 1850550: Popup doesn't work in Toolbarbutton
- 1850895: encodeURL causes IllegalStateException with Websphere 5.1.1
Upgrade Notes
- The signatures of the
init methods of org.zkoss.zk.ui.util.DesktopInit
and SessionInit are changed.
However, it is backward compatible if you prefer not to re-compile your codes.
- The signatures of the
newSession method of
org.zkoss.zk.ui.sys.UiFactory is changed.
However, it is backward compatible if you prefer not to re-compile your codes.
- The constructors of
org.zkoss.zk.ui.http.SimpleSession , SerializableSession
and org.zkoss.zk.ui.impl.DesktopImpl are changed.
- The response methods of the
org.zkoss.zk.ui.sys.UiEngine are removed.
Use org.zkoss.zk.au.http.AuWriter instead.
- The
execUpdate methods of the org.zkoss.zk.ui.sys.UiEngine are changed.
Use org.zkoss.zk.au.http.AuWriter instead.
- The self variable in EL expressions of the
apply attribute references
to the parent component, if any.
|