ZKTMSimply Rich |
ZK 2.0 Release NoteHome |
Version 2.0
Download Now
Released on June 13, 2006. [History]
Feature Updates
-
65 XUL and 82 HTML off-the-shelf components.
- Tabbox, grid, listbox, tree, menu, combobox, bandbox, datebox, hbox, vbox, window, slider, 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.
-
Validation and formatting for any input components, such as regular
expression and
$#,##0
. - 100% Java API of FCKeditor and Dojo components.
-
Event-driven, server-centric model
-
More than 20 events are supported:
onChange
,onChanging
,onScroll
,onSelect
,onShow
,onZIndex
... - All event listeners are handled in Java, either by compiled byte-codes or by BeanShell, up to application developers.
- All events are processed at the server. No JavaScript required.
- All events are synchronized. No racing condition to worry about.
-
More than 20 events are supported:
-
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
andforEach
attribute. - Scripting in Java (by BeanShell) and EL expressions.
- Hot changes and updates without restarting your Web applications.
-
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 or by scripting in Java. 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:
1428252, 1470240, 1455332, 1454636, 1455415, 1456664, 1456733, 1456647, 1459033, 1461806, 1462148, 1461209, 1464025, 1465967, 1459833, 1466246, 1467561, 1467642, 1468012, 1469144, 1470094, 1470492, 1467827, 1469672, 1471810, 1455828, 1472225, 1469672, 1472734, 1472744, 1454118, 1475647, 1475962, 1475665, 1475791, 1477821, 1478236, 1478213, 1479572, 1480154, 1480281, 1480035, 1467959, 1480525, 1480791, 1480866, 1481090, 1474217, 1482954, 1482236, 1484344, 1485460, 1483149, 1488664, 1486334, 1487144, 1486616, 1492803, 1494217, 1488178, 1493604, 1494820, 1489942, 1397863, 1495630, 1490672, 1495814, 1498631, 1499269, 1499333, 1490477, 1500729, 1500728, 1409858, 1381453, 1483036, 1502138, 1500301, 1500300, 1502743, 1496439, 1482232, 1504858.- Macro components are supported.
- Developing new components without programming.
- Browser history management.
- Add states to browser's back button history.
- Context menu, right clicks and double clicks.
- Pops up a menu or any popup you like when users right-clicks a component.
- Customizable tooltips.
- Pops up a menu or any popup you like when user moves the mouse pointer over a component.
- Developers are allowed to define new components in a page.
- Three new components:
calendar
,imagemap
,area
, andsplitter
. - Sorting of listboxes and grids are supported.
- The custom-attributes element is added to simplify the assignment of custom attributes.
- The regular expression constraints are supported.
- Components could be created in any thread, not limited event listeners.
- ZK Update Engine is optimized for pages with a lot of components.
- ZK is configurable by use of /WEB-INF/zk.xml.
- More configuration options are supported.
- <zk> can be used anywhere and with
forEach
,if
andunless
- Developers could override how a page and desktop is created, including loading ZUML pages from any repository, such as database.
- Developers could override how a desktop is cached; a stepping stone of clustering.
- Tabbox supports vertical layout.
- Macro components are supported.
- Bug fixes:
1455838, 1455899, 1456069, 1457629, 1458178, 1458621, 1460360, 1460339 1455584, 1461800, 1461931, 1462116, 1463668, 1464032, 1464844, 1467693, 1467927, 1469782, 1469887, 1467094, 1470235, 1465723, 1472390, 1472560, 1472825, 1472828, 1472818, 1472824, 1475255, 1474929, 1473326, 1474048, 1474091, 1475748, 1475540, 1475869, 1476620, 1476241, 1477416, 1476309, 1477777, 1477994, 1477775, 1473036, 1478153, 1474579, 1480890, 1480894, 1480892, 1481544, 1481676, 1481600, 1481839, 1477271, 1482231, 1482230, 1477271, 1482503, 1483647, 1485232, 1482229, 1486222, 1486314, 1484756, 1485400, 1486840, 1487095, 1487925, 1486617, 1488662, 1488666, 1483779, 1488938, 1489299, 1489347, 1505311.- Work with Oracle OC4J 10.1.3
- Work with WebLogic 9.1
- Work with WebSphere 6.0
Upgrade Notes
-
The
map
component (RC1) is renamed toimagemap
. -
Configurations that were specified in init-param of
/WEB-INF/web.xml
must be moved to/WEB-INF/zk.xml
-
Listbox.clear()
is removed. UseListbox.getItems().clear()
instead. -
Tree.clear()
is removed. UseTree.getTreechildren().clear()
instead. -
Combobox.clear()
is removed. UseCombobox.getItems().clear()
instead. -
Radiogroup.clear()
is removed. UseRadiogroup.getChilren().clear()
instead. -
The close button of a window, enabled by use
closable=true
, sends theonClose
event instead of theonShow
event. By default, it detaches itself instead of hiding! Developers could override this behavior by overriding theonClose
method. -
Initiator
is moved from thecom.potix.zk.ui.ext
package to thecom.potix.zk.ui.util
package. And, the signature of thedoInit
method becomes
public void doInit(Page page, Object[] args);
-
When
Initiator.doInit()
is called, page is not attached to a desktop yet. Developers have to accessExecutions.getCurrent().getDesktop()
instead. -
IdSpace
is moved from thecom.potix.zk.ui.ext
package to thecom.potix.zk.ui
package. -
Textbox.getText()
becomes protected. UseTextbox.getValue()
instead. -
Inputable
,Moveable
,Openable
,... are moved from thecom.potix.zk.ui.event
package to thecom.potix.zk.ui.ext
package. -
Use
zk-FCKeditor-2.2-2006-03-31.zip
or later. -
Use
Session.getNativeSession()
to retrieveHttpSession
instead ofSession.getAttribute("javax.servlet.http.HttpSession")
. -
The
sytle-class
element oflang-addon.xml
is no longer supported. Use the propety element instead. -
LabellocatorHook is no longer required to declare in
web.xml
, becauseDHtmlLayoutServlet
always loadsWEB-INF/i3-label*.properties
- The signatures of Component.setVariable and getVariable are changed. An extra argument called local is added. To port your old codes, specify true to it.
- The event invocation sequence is changed a bit: event listeners are invoked before component's onXxx method.
-
EventThreadInit.prepare()
is added so you have to implement it. - Language addons shall use extend instead of override.
-
Image's
alt
property is removed. Usetooltiptext
instead. -
DynamicAttributes
are renamed toDynamicPropertied
such that it is less confused with custom attributes. -
When
ListitemRenderer.render()
is called, thelistitem
being rendered has no child at all. - Use instead of .
- The getPopup, isAutoCheck, setAutoCheck, isAutoPopup, and setAutoPopup methods of Menu are renamed to getMenupopup, isAutocheck, setAutocheck, isAutodrop and setAutodrop.
- The getPopup and closePopup method of Bandbox are renamed to getDropdown and closeDropdown.
- Executions.notify(Page,Object) is changed to Executions.notify(Desktop,Object)
- The isPopup, isOverlapped, isEmbedded and isModal methods of Window are renamed to inPopup, inOverlapped, inEmbedded and inModal.