Copyright © 2007 Oy IT Mill Ltd. All rights reserved.
Version 4.0.3 is an maintenance release for IT Mill Toolkit 4.0 branch. It contains major update for Toolkit manual and small bugfixes.
Following changes may be considered as enhancements even though this is a maintenance release.
Client-side API (i.e. JavaScript and CSS files) are subject to change during 2007. These changes are required for better client-side compatibility, and they will not affect on the server-side Java APIs and components. IT Mill Toolkit 4.0 branch is not involved with these changes. Contact support@itmill.com for more information about client-side API changes.
Note that executing demos locally may provide security warning from your firewall software. This is due to started Web service which is required to run demos. You have to ignore warnings or temporarily accept connections to port 8888 on your firewall software.
Previously IT Mill Toolkit was called Millstone UI Library. The last publicly available version of Millstone UI Library is 3.1.1. This new generation 4.0.3 version of the library is still API-level compatible with the previous generation. A simple Millstone migration example is included in demos.
See index.html for more information.
Supported server-side environments are
Supported client-side environments are
See index.html for more information or go to Developers' Area at www.itmill.com.
Previous IT Mill Toolkit versions (4.0.x) are API level compatible with version 4.0.3.
Following steps are required to upgrade from Millstone UI Library version 3.1.1 to Toolkit version 4.0.3:
| Since version | Issue | Description | Workaround |
| 4.0.0 | DateField en-us locale issue | DateField component renders based on en-en locale even if client browser asks for en-us locale. | |
| 4.0.1 | Select component filtering feature issue | Select component with LazyLoading activated does not always display correct items based on user filter selection. | |
| 4.0.0 | Table component width issue | Table component's width may grow after selection is done if it has only few items. | |
| 4.0.0 | Table containing other components has a state change side effect | Table component which has other components embedded, e.g. buttons, has a side effect of selecting the row if embedded component such as button is clicked. | |
| 4.0.0 | Embedded does not work with Java Applets | Embedded component not rendering Applet correctly. | |
| 4.0.2 | Select component NPE issue on init | Select component with LazyLoading activated throws NullPointerException if created on Application.init. | |
| 4.0.0 | Classloader limitation | Classloader used to load Application class should be configurable. You can now use a custom class loader to load your application class by giving ClassLoader=my.custom.classloader parameter in web.xml | |
| 4.0.0 | Select component with twincol style issue | Select component with twincol style produces "XX" as the single option on cases where Select has no items at all. Affects Firefox browsers only. | |
| 4.0.0 | Upload component focus has no effect | Upload component focus() and setTabIndex() have no effect. |
| Since version | Issue | Description | Workaround |
| 4.0.1 | TabSheet issue (Safari) | If user changes any component (e.g. TextField or Select) which is located in Tab A and then moves to Tab B, component state change is lost. Affects Safari browsers. | Add e.g. Button component that is used to save changes before moving from one Tab to another. |
| 4.0.0 | Closing Application session not possible. | AjaxApplicationContext class does not include any method for closing sessions. | Register TransactionListener where HttpServletRequest class is available. HttpServletRequest provides you access to session. |
| 4.0.0 | Table with certain configuration does not sort | When "List" or "Paging" styles are used, Table component sorts only to one direction. | Use "Default" style. |
| 4.0.0 | Select NullPointerException | It is not possible to select null item for Select component after some other item has been selected, doing this results in NullPointerException. | |
| 4.0.1 | Table column size modifications broken (Opera 9) | Dragging table column size larger or smaller does not align headers correctly. Affects Opera 9 browser. | |
| 4.0.1 | Table setVisible state issue | Setting Table visibility to false and then back to true does not always bring Table back to UI. | Put your Table into component container such as Panel and use Panel's setVisible methods instead. |
| Table column selector issue (Konqueror) | Table column hide or show selector makes screen area black while doing selection. Affects Konqueror browser. | ||
| 4.0.0 | Table row header icon limitation | Table does not properly support icons in row headers in AJAX rendering mode | |
| 4.0.0 | DateField does not support Locale on AJAX-mode | Changing locale for DateField component does not produce any visible changes when AJAX-mode is used. HTML mode is not affected by this bug. | You can set locale by calling getApplication().setLocale(new Locale("en","US")), but change affects whole Application and not just DateField. |
| 4.0.0 | Nokia Communicator 9300i may not work with Toolkit | Autodetection of Nokia Communicator 9300i may fail. This results to empty application screen. | |
| 4.0.0 | Select may produce JavaScript errors | If "lazyloading" feature is used for Select component, users that have JavaScript debugging in use see an error for each typed character that does not match. This mean cases where user is searching for values that do not exists. | |
| 4.0.0 | Embedded limitation | Method setVisible() provides no changes on the component. | Put Embedded component inside some Container and use Container's setVisible() instead. |
| 4.0.0 | Embedded limitation | Method setEnable() provides no changes on the component. | |
| 4.0.0 | Upload requires manual refresh (Safari / Konqueror) | Upload component requires manual refresh from browser after file is sent from client to server. This issue is related to bug that exists in Safari and Konqueror browsers. Note, current WebKit has this issue resolved. Affects Safari and Konqueror browsers. | Test Feature Browser Upload component demo using some other supported browser. |
| 4.0.0 | Terminal class not usable until Application is initialized. | Terminal class is null until Application.init() has been completed. | Create CustomComponent and use it as your Application's first page. You can now override paint() method and access Terminal class before anything is rendered at client-side. |
| 4.0.0 | Demo package does not work fully with Oracle AS | When demo package itmill-toolkit.war is deployed to Oracle Application Server, non-AJAX (HTML) demos fail and you cannot browse javadocs or theme code. | Configure Oracle AS to allow directory listing for docs and themes directories. To get HTML demos work you have to specify the used XSLT processor with JVM parameter like: -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Dorg.xml.sax.driver=org.apache.crimson.parser.XMLReaderImpl |
| 4.0.1 | Setting focus to UI component limitations | AbstractField.setFocus() method works only for Button and Textfield components. | |
| 4.0.0 | Keyboard input feature in beta stage for AJAX-mode | Keyboard input feature for UI components is supported, but considered as beta for AJAX-mode. API may change. | |
| 4.0.0 | Embedded does not work on HTML-mode (IE 6, 7) | Embedded objects may not be seen on HTML-mode. Affects Internet Explorer 6 and 7 browsers. | |
| Window with Modal style issue (Konqueror) | Modal window makes other application screen area black. After modal window is closed, screen area is again normal. Affects Konqueror browser. | ||
| 4.0.0 | Button usability (Safari) | Selected Button component can only be clicked by pressing spacebar when using keyboard. Enter would be a more intuitive choice. Affects Safari browser. | |
| 4.0.1 | URIHandler, ParameterHandler broken (Safari) | URIHandler and ParameterHandler does not work. Affects Safari browsers. |