blob: 2544522fcfbc5ca82dc854ec383b908f6c4e3e2b [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<html>
<head>
<!-- saved from url=(0014)about:internet -->
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<meta name="Author" content="Malcolm Edgar"/>
<meta name="description" lang="en" content="Apache Click Java web application framework"/>
<meta name="keywords" lang="en" content="Apache Click, Click, Click Framework, Java, JEE, J2EE, web application framework, open source"/>
<title>Apache Click</title>
<link rel="stylesheet" type="text/css" href="../help.css"/>
<link rel="stylesheet" type="text/css" href="../syntax-highlighter.css"/>
<style type="text/css">
dl {
margin-left: 2em;
}
dt {
font-weight: 700;
margin-top: 1.5em;
margin-bottom: 0.5em;
}
.change {
margin-bottom: 0.75em;
}
.upgrade {
margin-bottom: 0.75em;
margin-top: 0.75em;
}
.release-header {
background: #EFEFF7;
padding: 4px;
padding-left: 8px;
border: 1px solid #99A4DF;
}
pre {
padding: 4px;
border: 1px solid #99A4DF;
}
a {
text-decoration: none;
}
</style>
<script type="text/javascript" src="../syntax-highlighter.js"></script>
</head>
<!--Activate syntax highlighting-->
<body onload="prettyPrint();">
<h1>Road Map and Changes</h1>
<h4>A JIRA based <a href="https://issues.apache.org/jira/browse/CLK#selectedTab=com.atlassian.jira.plugin.system.project%3Aroadmap-panel">RoadMap</a> with the next planned improvements.</h4>
<h4><strong>Changes</strong> (all since v0.1) :</h4>
<dl>
<dt><a name="2.4.0"></a>
<div class="release-header">Latest Stable Release - Version 2.4.0 - ?? November 2013</div>
</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
<b>IMPORTANT:</b> be sure to read the <a href="upgrade-path.html#2.4.0">upgrade path</a>
when upgrading from previous releases.
</div>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
<b>New features and issues resolved:</b>
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li class="change">
Update some of the JARs dependencies to the latest version still compatible with Java 5:
log4j-1.2.17, commons-io-2.2, junit-4.11, commons-fileupload-1.3, commons-codec-1.6,
mvel-2.1.7.Final
</li>
<li class="change">
Added Page method getCharacterEncoding. The response character encoding
can be overridden through this method. getCharacterEncoding should be
used instead of returning the <tt>charset</tt> through the getContentType
method
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-764">CLK-764</a>].
</li>
<li>
Added PropertyService interface with OGNL and MVEL property service implementations.
The default property service is OGNLPropertyService principally for
backward compatibility
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-306">CLK-306</a>].
</li>
<li class="change">
Added SessionMap methods getCreationTime, getId, getLastAccessedTime and getMaxInactiveInterval
to expose underlying read only HttpSession properties
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-773">CLK-773</a>].
</li>
<li class="change">
Added URL request params options to the PageSubmit class
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-779">CLK-779</a>].
</li>
<li>
Added support using Click as a JBoss 7 module
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-788">CLK-783</a>].
</li>
<li class="change">
Removed AutoCompleteTextField dependency on Page. The Ajax callback
URL is instead looked up from the request itself. This change removes
the restriction that AutoCompleteTextField must be attached to the
Page
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-761">CLK-761</a>].
</li>
<li class="change">
Fixed AutoCompleteTextField to not send duplicate content type in
response
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-757">CLK-757</a>].
</li>
<li class="change">
Fixed page actions to show error page if error occurs.
This issue was raised by Tim Christensen
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-767">CLK-767</a>].
</li>
<li class="change">
Fixed AutoCompleteTextField to add extra parameters correctly.
This issue was raised by Jose Luis Vázquez González
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-759">CLK-759</a>].
</li>
<li class="change">
Fixed ErrorReport to escape the request query string.
This issue has been raised by Tsuyoshi Yamamoto
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-762">CLK-762</a>].
</li>
<li class="change">
Upgraded to Servlet API 2.4
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-763">CLK-763</a>].
</li>
</ul>
</dd>
<dt><div class="release-header">Archives</div></dt>
<dt><a name="2.3.0"></a>
<div>Version 2.3.0 - 27 March 2011</div>
</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
<b>IMPORTANT:</b> be sure to read the <a href="upgrade-path.html#2.3.0">upgrade path</a>
when upgrading from previous releases.
</div>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
<b>Major new features</b>
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li>
<a href="user-guide/html/ch04.html">Ajax</a> support.
</li>
<li>
<a href="user-guide/html/ch02s07.html">Page Action</a> support.
</li>
<li>
<a href="click-api/org/apache/click/Stateful.html">Stateful</a> Controls.
</li>
</ul>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
<b>New documentation:</b>
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li>
Added a section covering the new
<a href="user-guide/html/ch03s08.html">Behavior</a> support.
</li>
<li>
Added a chapter on <a href="user-guide/html/ch04.html">Ajax</a>,
covering <a href="user-guide/html/ch04s02.html">AjaxBehaviors</a>,
<a href="user-guide/html/ch04s03.html">Ajax execution flow</a>
and a full <a href="user-guide/html/ch04s04.html">example</a>.
</li>
<li>
Added a section covering the new
<a href="user-guide/html/ch02s07.html">Page Action</a> support.
</li>
</ul>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
<b>New examples:</b>
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li class="change">
Added <a target="_blank" class="external" href="http://click.avoka.com/click-examples/">examples</a>
showcasing the new Ajax support. See the Ajax Menu for the full list
of examples.
</li>
<li class="change">
Added an example showing how to integrate a <a target="_blank" class="external" href="http://click.avoka.com/click-examples/panel/tabbed-panel-with-controls.htm">TabbedPanel, Form and Table</a>.
</li>
<li class="change">
Added an example showing a <a target="_blank" class="external" href="http://click.avoka.com/click-examples/panel/stateful-tabbed-panel-demo.htm">Stateful TabbedPanel</a>.
</li>
<li class="change">
Added an example FieldSeparator Control and example usage page
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-544">CLK-544</a>].
</li>
</ul>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
<b>Removed:</b>
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li class="change">
Removed the ability to automatically <tt>bypass validation</tt> for
Forms through JavaScript. This ability was added in 2.2.0 but raised
concerns over security and was dropped for 2.3.0. If you used this
feature in existing applications, please see the
<a href="upgrade-path.html#removed-bypass-validation">Upgrade path</a>
for a safe alternative to <tt>bypass validation</tt>. We apologize for
the inconvenience.
<p/>
</li>
</ul>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
<b>Deprecated:</b>
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li class="change">
Deprecated stateful page support: <a href="click-api/org/apache/click/Page.html#setStateful(boolean)">Page.setStateful()</a>.
<p/>
Stateful pages had the following issues:
<ul>
<li>
Stateful pages was introduced to make it easier to store page state across
multiple HTTP requests. However developing a stateful page is very different
from developing a stateless one and this lead to Click applications that are
inconsistent and harder to maintain.
</li>
<li>
In addition stateful page support has never been implemented consistently
across the framework and some components did not work correctly.
</li>
<li>
Stateful pages are very coarse grained, making it difficult to control
which objects are stored in the session.
</li>
<li>
Stateful pages have also introduced unnecessary complexity in the framework
itself, which can now be phased out.
</li>
</ul>
Unfortunately there is no direct upgrade path from a stateful page.
However the majority of use cases are catered for by the new stateful
support in the controls: Table, Form, TabbedPanel, Field and AbstractLink.
</li>
<li class="change">Deprecated <a href="extras-api/org/apache/click/extras/tree/TreeNode.html#TreeNode(java.lang.Object, java.lang.String, org.apache.click.extras.tree.TreeNode)">TreeNode constructors</a>
which accepts a parent node. Instead use
<a href="extras-api/org/apache/click/extras/tree/TreeNode.html#add(org.apache.click.extras.tree.TreeNode)">add</a>
to build the node hierarchy
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-743">CLK-743</a>].
</li>
<li class="change">Deprecated <a href="click-api/org/apache/click/util/ActionListenerAdaptor.html">ActionListenerAdaptor</a>
since ActionListener only has a single method and no adaptor is necessary
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-731">CLK-731</a>].
</li>
</ul>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
<b>New features and issues resolved:</b>
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li class="change">
Added new CayenneUtils method, <a href="extras-api/org/apache/click/extras/cayenne/CayenneUtils.html#applyMetaData(org.apache.click.control.Form, java.lang.Class)">applyMetaData(Form, Class)</a>,
for adding validation metadata such as required and maxlength
to form fields for a given DataObject type
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-756">CLK-756</a>].
</li>
<li class="change">
Added support for multiple TabbedPanels on a page. To programmatically
activate a specific TabbedPanel use the <tt>tabPanelIndex-&lt;panel-name&gt;</tt>
request parameter, for example <tt>tabPanelIndex-myTabbedPanel</tt>
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-753">CLK-753</a>].
</li>
<li class="change">
Improve fields to only be processed if they have an incoming request
parameter. This improvement streamlines dynamic forms since fields
added at runtime during s POST request won't bind their values and
won't be validated for that request. In subsequent requests the Field
will have an incoming parameter and so will have it's value bound and
validated. Another advantage is that dynamically added Fields won't
have their default value overridden in the POST request they were added in.
This issue has been raised by Nirmal Solanki
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-722">CLK-722</a>].
</li>
<li class="change">
Added automapping support for GAE with a caveat that page templates
must be placed under the folders <tt>page</tt> or <tt>pages</tt>.
This issue was raised by Ke Sun
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-639">CLK-639</a>].
</li>
<li class="change">
Added <a href="click-api/org/apache/click/service/MessagesMapService.html">MessagesMapService</a>
interface to support pluggable messages map implementations
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-655">CLK-655</a>].
</li>
<li class="change">
Improved <a href="click-api/org/apache/click/util/MessagesMap.html">MessagesMap</a>
to be extendable and customizable
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-728">CLK-728</a>].
</li>
<li class="change">
Added support for loading <a href="extras-api/org/apache/click/extras/control/DateField.html">DateField</a>
translations for month and day names from the JDK.
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-650">CLK-650</a>].
</li>
<li class="change">
Added support for Menus that do not have <tt>roles</tt> defined.
If no roles are defined,
<a href="extras-api/org/apache/click/extras/control/Menu.html#isUserInRoles()">IsUserInRoles</a>
passes a <tt>null</tt> argument to
<a href="extras-api/org/apache/click/extras/security/AccessController.html#hasAccess(javax.servlet.http.HttpServletRequest, java.lang.String)">hasAccess</a>
to determine whether access is permitted to menus without roles
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-724">CLK-724</a>].
</li>
<li class="change">
Added Polish language support.
This issue was raised and fixed by Tomasz Bandura
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-739">739</a>].
</li>
<li class="change">
Changed AbstractControl not to render the <tt>name</tt>
attribute since it is only used for Field controls
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-699">CLK-699</a>].
</li>
<li class="change">
Improved Table and Select to retrieve data from their DataProviders
during the onRender event. This change allows exceptions thrown
by DataProviders to be handled by the ErrorPage
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-684">CLK-684</a>].
</li>
<li class="change">
Improved DateField to load the <tt>date-format-pattern</tt> on demand.
This change allows one to override the default <tt>date-format-pattern</tt>
from the page properties file: <tt>click-page.properties</tt>.
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-705">CLK-705</a>].
</li>
<li class="change">
Added support for absolute page classnames when configuring pages
in <tt>click.xml</tt>. Absolute classnames aids with IDE hot-linking
and is less confusing to use.
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-704">CLK-704</a>].
</li>
<li class="change">
Added a renderId property to ResourceElement to exclude the ID attribute from rendering
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-695">CLK-695</a>].
</li>
<li class="change">
Improved CountrySelect to include more countries by using Locale.getISOCountries().
This issue was raised and fixed by Lorenzo Simionato
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-740">CLK-740</a>].
</li>
<li class="change">
Fixed Control IDs to render underscores instead of periods
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-747">CLK-747</a>].
</li>
<li class="change">
Fixed TabbedForm and CayenneTabbedForm JavaScript validation. This
issue was raised and fixed by Tomasz Bandura
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-735">CLK-735</a>].
</li>
<li class="change">
Fixed escaping of control values and attributes to be XML friendly
in order to support Ajax requests. Previously all HTML characters was escaped,
now only the following characters are escaped: &lt;, &gt;, &quot;, &#039;, &amp;
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-674">CLK-674</a>].
</li>
<li class="change">
Added method, ClickUtils.escape(String), to escape XML characters.
</li>
<li class="change">
Improved ClickUtils.encodeUrl to default to "UTF-8" if no request
character encoding is available
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-720">CLK-720</a>].
</li>
<li class="change">
Improved page header support allowing headers to be set from page constructor
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-711">CLK-711</a>].
</li>
<li class="change">
Fixed Table controlLink which did not keep a reference to its parent
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-686">CLK-686</a>].
</li>
<li class="change">
Fixed ConcurrentModificationException when rendering cached Menus
from multiple threads
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-712">CLK-712</a>].
</li>
<li class="change">
Fixed race condition while initializing cached menus
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-713">CLK-713</a>].
</li>
<li class="change">
Fixed menu not rendering separator
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-681">CLK-681</a>].
</li>
<li class="change">
Fixed SubmitLink to use Form id instead of Form name
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-701">CLK-701</a>].
</li>
<li class="change">
Fixed Form validation to add and remove an <tt>error</tt> class
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-700">CLK-700</a>].
</li>
<li class="change">
Fixed issue where Context.createPage could lead to duplicate page-to-class
mappings. This issue was raised by Andrey Rybin and fixed by Md. Jahid Shohel
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-625">CLK-625</a>].
</li>
<li class="change">
Fixed AutoCompleteTextField not to be added to parent Page
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-707">CLK-707</a>].
</li>
<li class="change">
Fixed a potential memory leak when undeploying a click application.
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-706">CLK-706</a>].
</li>
<li class="change">
Fixed issue where setting <tt>autobinding="default"</tt> throws exception.
This issue was raised by Tsay Yaw Hann
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-714">CLK-714</a>].
</li>
<li class="change">
Fixed Select to set an initial value when populated through a
DataProvider. This issue was raised and fixed by Sander van Grieken
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-745">CLK-745</a>].
</li>
<li class="change">
Fixed table headers that used incorrect title attribute when table is sortable.
This issue was raised by Patrick Talbot
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-241">CLK-241</a>].
</li>
<li class="change">
Fixed CayenneTemplate generics to align with Cayenne DataContext
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-750">CLK-750</a>].
</li>
<li class="change">
Fixed readonly CheckList to use <tt>disabled</tt> attribute,
same as Checkbox does [<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-751">CLK-751</a>].
</li>
<li class="change">
Removed the <tt>#FIXED</tt> attributes from the <tt>click.dtd</tt>
which caused xml validation errors. This issue was raised by Ryan Holmes
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-717">CLK-717</a>].
</li>
<li class="change">
Updated Velocity library to version 1.7 [<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-748">CLK-748</a>].
</li>
<li class="change">
Update to the latest version for some of the JARs dependencies: log4j-1.2.16, freemarker-2.3.16,
commons-codec-1.4, and commons-lang-2.5, commons-io-2.0.1.
</li>
<li class="change">
Update to Velocity Tools 2.0 WebappResourceLoader
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-693">CLK-693</a>].
</li>
<li class="change">
Replace EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap with java.util.concurrent.ConcurrentHashMap.
This issue was raised and fixed by Henry Saputra
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-636">CLK-636</a>].
</li>
<li class="change">
Removed ognl.OgnlOps dependency.
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-694">CLK-694</a>].
</li>
</ul>
</dd>
<dt><a name="2.3.0-RC1"></a>Version 2.3.0 Release Candidate 1 - 30 January 2011</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
See the release notes for <a href="#2.3.0">2.3.0</a>.
</div>
</dd>
<dt><a name="2.3.0-M1"></a>Version 2.3.0-M1 - 28 November 2010</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
See the release notes for <a href="#2.3.0">2.3.0</a>.
</div>
</dd>
<dt><a name="2.2.0"></a>Version 2.2.0 - 22 May 2010</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
<b>IMPORTANT:</b> be sure to read the <a href="upgrade-path.html#2.2.0">upgrade path</a>
when upgrading from previous releases.
<p/>
Its worth highlighting that in this release we have removed the deprecated methods
<tt>Page.getHtmlImports</tt> and <tt>Control.getHtmlImports</tt>. Users
will have to migrate their code to use the new <tt>getHeadElements</tt> instead.
Please see the section, <a href="upgrade-path.html#migrate-imports">migrating imports</a>,
for more details.
</div>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
<b>New examples:</b>
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/form/dynamic/dynamic-form.htm">
Dynamic Form</a> demonstrates how to dynamically add new Fields at runtime.
</li>
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/form/dynamic/dynamic-field-set.htm">
Dynamic FieldSet</a> demonstrates how to dynamically add a FieldSet at runtime.
</li>
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/form/dynamic/dynamic-select.htm">
Dynamic Select</a> demonstrates how to dynamically add fields based on a Select field value.
</li>
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/control/disabled-demo.htm">
Disabled Demo</a> demonstrates the behavior of disabled fields.
</li>
</ul>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
<b>New features and issues resolved:</b>
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li class="change">
Added <a href="click-api/org/apache/click/dataprovider/DataProvider.html">DataProvider</a>
support for Table, Select, PickList and CheckList providing
on demand loading of data. With DataProviders, users won't have to be
concerned about which page event (onInit or onRender) to set the data on
the control
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-640">CLK-640</a>].
</li>
<li class="change">
Added <a href="click-api/org/apache/click/dataprovider/PagingDataProvider.html">PagingDataProvider</a>
interface to support large paginated result sets for Tables
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-640">CLK-640</a>].
</li>
<li class="change">
Added a <a href="extras-api/org/apache/click/extras/control/MenuFactory.html">MenuFactory</a>
for creating and loading Menus from <tt>configuration</tt> files. All the
static Menu methods have been deprecated and will be removed in a future release.
</li>
<li class="change">
Added an <a href="extras-api/org/apache/click/extras/control/MenuFactory.html#getRootMenu(boolean)">option</a>
for MenuFactory to not statically cache menus. This allows
developers to cache menus in different scopes such as HttpSession.
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-405">CLK-405</a>].
</li>
<li class="change">
Added i18n support for Menus loaded from <tt>menu.xml</tt>. The menu
DTD now includes a new <tt>name</tt> attribute. By specifying
a <tt>name</tt> attribute in <tt>menu.xml</tt>, the Menu will attempt to
load its <tt>label</tt> and <tt>title</tt> from resource bundles
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-591">CLK-591</a>].
</li>
<li class="change">
Added a <a href="click-api/org/apache/click/PageInterceptor.html">Page Interceptor</a>
facility that provides an extension point for code which can listen to
key page events and also interrupt normal page processing flow.
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-598">CLK-598</a>].
</li>
<li class="change">
Added improved dynamic Form support. Forms can now optionally bypass
validation for JavaScript based submissions using the new JavaScript
function <tt>"Click.submit(form, validate)"</tt>
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-638">CLK-638</a>].
</li>
<li class="change">
Added improved dynamic Page and Form behaviour through new helper methods
that can bind and validate Forms and Fields <tt>before</tt> the onProcess
page event e.g. in the Page constructor or <tt>"onInit"</tt> event.
The new methods are:
<ul style="margin-top: 10px;">
<li>
<a href="click-api/org/apache/click/util/ClickUtils.html#bind(org.apache.click.control.Field)">ClickUtils.bind(Field)</a>
</li>
<li>
<a href="click-api/org/apache/click/util/ClickUtils.html#bind(org.apache.click.control.Form)">ClickUtils.bind(Form)</a>
</li>
<li>
<a href="click-api/org/apache/click/util/ClickUtils.html#bind(org.apache.click.control.AbstractLink)">ClickUtils.bind(AbstractLink)</a>
</li>
<li>
<a href="click-api/org/apache/click/util/ClickUtils.html#bindAndValidate(org.apache.click.control.Field)">ClickUtils.bindAndValidate(Field)</a>
</li>
<li>
<a href="click-api/org/apache/click/util/ClickUtils.html#bindAndValidate(org.apache.click.control.Form)">ClickUtils.bindAndValidate(Form)</a>
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-638">CLK-638</a>]
</li>
</ul>
</li>
<li class="change">
Added improved disabled behavior through the following changes:
<ul style="margin-top:10px">
<li>
Disabled fields are not processed or validated
</li>
<li>
Disabled field values are not copied to domain objects
</li>
<li>
Disabled fields are automatically enabled if the field has an
incoming request parameter, indicating that the field was enabled
on the client using JavaScript. Please note that this behavior does
not apply to Checkbox or Radio fields. See the
<a href="click-api/org/apache/click/control/Field.html#setDisabled(boolean)">setDisabled()</a>
javadoc for details [<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-646">CLK-646</a>].
</li>
</ul>
</li>
<li class="change">
Added new method <a href="click-api/org/apache/click/control/Container.html#replace(org.apache.click.Control, org.apache.click.Control)">Container.replace</a>
for replacing an existing control with a new control. In previous releases,
an exception would be raised if a page or container already contained a
control with the same name as the newly added control. In 2.2.0 the
replace method is automatically called when adding a control which name
matches that of an existing control in the page or container. This behavior
will likely only benefit <tt>stateful</tt> pages since <tt>stateless</tt>
pages are recreated each request
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-666">CLK-666</a>].
</li>
<li class="change">
Added methods to Fields for styling their labels. See new methods
<a href="click-api/org/apache/click/control/Field.html#setLabelStyle(java.lang.String)">Field.setLabelStyle(String)</a>
and <a href="click-api/org/apache/click/control/Field.html#setLabelStyleClass(java.lang.String)">Field.setLabelStyleClass(String)</a>.
This issue was raised by Stefax
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-595">CLK-595</a>].
</li>
<li class="change">
Added methods to Fields for providing styling hints to their
containing elements. See new methods
<a href="click-api/org/apache/click/control/Field.html#setParentStyleHint(java.lang.String)">Field.setParentStyleHint(String)</a>
and <a href="click-api/org/apache/click/control/Field.html#setParentStyleClassHint(java.lang.String)">Field.setParentStyleClassHint(String)</a>.
This issue was raised by Stefax
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-595">CLK-595</a>].
</li>
<li class="change">
Added trim property to Field for controlling if the Field request
parameter is trimmed or not. See new method
<a href="click-api/org/apache/click/control/Field.html#setTrim(boolean)">Field.setTrim(boolean)</a>.
This issue was raised by Andrey Rybin
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-627">CLK-627</a>].
</li>
<li class="change">
Added new Context methods
<a href="click-api/org/apache/click/Context.html#hasRequestParameter(java.lang.String)">Context.hasRequestParameter(String)</a>
and <a href="click-api/org/apache/click/Context.html#hasRequestAttribute(java.lang.String)">Context.hasRequestAttribute(String)</a>.
</li>
<li class="change">
Added support to Select for a <a href="click-api/org/apache/click/control/Select.html#setDefaultOption(org.apache.click.control.Option)">default option</a>
that can be used to validate non selection against and allows the Select
to only populate its optionList at rendering time, instead of during
<tt>onProcess</tt> event.
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-641">CLK-641</a>].
</li>
<li class="change">
Improved default autobinding mode to bind both public fields and fields
annotated with @Bindable. In previous versions the default autobinding
mode only binded public Page fields
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-648">CLK-648</a>].
</li>
<li class="change">
Added mock support for user <a href="mock-api/org/apache/click/servlet/MockPrincipal.html">principals</a>
and roles. This issue was raised and fixed by Sven Pfeiffer
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-585">CLK-585</a>].
</li>
<li class="change">
Added localized Date format pattern support. This issue was raised by
Andrey Rybin
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-610">CLK-610</a>].
</li>
<li class="change">
Added Polish resource bundle for DateField. This issue was raised and
fixed by Rafal Rusin
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-624">CLK-624</a>].
</li>
<li class="change">
Migrated controls to import resources through Elements and the
<tt>getHeadElements</tt> method
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-647">CLK-647</a>].
</li>
<li class="change">
Improved SpringClickServlet to re-inject transient beans after stateful
page deserialization. This feature is only supported when the stateful
page instance is created by Click, not Spring
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-667">CLK-667</a>].
</li>
<li class="change">
Replaced Page and Control getMessage methods with varargs equivalents
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-604">CLK-604</a>].
</li>
<li class="change">
Removed Click core's dependency on Velocity. This issue was raised by by Andrey Rybin
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-606">CLK-606</a>].
</li>
<li class="change">
Replaced multiple ClickUtils close methods with a single method accepting
a <a href="click-api/org/apache/click/util/ClickUtils.html#close(java.io.Closeable)">Closeable</a>.
This issue was raised by Andrey Rybin
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-620">CLK-620</a>].
</li>
<li class="change">
Improved ClickServlet to use the response's OutputStream if the Writer
cannot be retrieved
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-644">CLK-644</a>].
</li>
<li class="change">
Fixed issue where RadioGroup label referenced a non-existing ID. RadioGroup
is now wrapped inside a span tag with the given ID. This issue was raised
and fixed by Finn Bock
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-577">CLK-577</a>].
</li>
<li class="change">
Fixed DateField to set seconds back to zero. This issue was raised by Andrey Rybin
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-664">CLK-664</a>].
</li>
<li class="change">
The menu.dtd has been published to
<a href="http://click.apache.org/dtds/menu-2.2.dtd">http://click.apache.org/dtds/menu-2.2.dtd</a>.
If you want your configuration to conform to the menu.dtd, include
the following declaration in your menu.xml:
<pre class="prettyprint">&lt;!DOCTYPE menu PUBLIC
"-//Apache Software Foundation//DTD Click Menu 2.2//EN"
"http://click.apache.org/dtds/menu-2.2.dtd"&gt; </pre>
</li>
<li class="change">
The new click-2.2.dtd has been published to
<a href="http://click.apache.org/dtds/click-2.2.dtd">http://click.apache.org/dtds/click-2.2.dtd</a>.
If you want your configuration to conform to the click.dtd, include
the following declaration in your click.xml:
<pre class="prettyprint">&lt;!DOCTYPE click-app PUBLIC
"-//Apache Software Foundation//DTD Click Configuration 2.2//EN"
"http://click.apache.org/dtds/click-2.2.dtd"&gt; </pre>
</li>
<li class="change">
Updated Velocity library to version 1.6.4.
</li>
<li class="change">
Updated Cayenne library to version 3.0.
</li>
</ul>
</dd>
<dt><a name="2.2.0-RC1"></a>Version 2.2.0-RC1 - 8 May 2010</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
See the release notes for <a href="#2.2.0">2.2.0</a>.
</div>
</dd>
<dt><a name="2.1.0"></a>
<div>Version 2.1.0 - 10 February 2010</div>
</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
IMPORTANT be sure to read the <a href="upgrade-path.html">upgrade path</a>
when upgrading from previous releases.
</div>
<div style="margin-left:-2em;margin-bottom:1em;">
<b>Please Note:</b>
This release requires Java 1.5 or later.
</div>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
<b>New examples:</b>
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/general/page-head-demo.htm">
Page HEAD elements</a> demonstrates how to add
<a href="click-api/org/apache/click/element/JsImport.html">JsImport</a>,
<a href="click-api/org/apache/click/element/JsScript.html">JsScript</a>,
<a href="click-api/org/apache/click/element/CssImport.html">CssImport</a>
and <a href="click-api/org/apache/click/element/CssStyle.html">CssStyle</a>
HEAD elements to a Page.
</li>
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/general/control-head-demo.htm">
Control HEAD elements</a> demonstrates how to add
<a href="click-api/org/apache/click/element/JsImport.html">JsImport</a> and
<a href="click-api/org/apache/click/element/CssImport.html">CssImport</a>
HEAD elements to a custom Control.
</li>
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/control/submit-link-demo.htm">
SubmitLink Demo</a> shows how to use the new <a href="extras-api/org/apache/click/extras/control/SubmitLink.html">SubmitLink</a> control.
</li>
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/table/large-dataset-demo.htm">
Large Dataset</a> is an example of a Table with a large number of rows
and how to lazily page through the rows using a custom data provider.
</li>
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/panel/reusable-panel-demo.htm">
Reusable Panel</a> is an example of a reusable Panel
which provides a Form for capturing Client details.
</li>
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/quartz/quartz-job-scheduler.htm">
Quartz Job Scheduler</a> is an example demonstrating how to integrate the Quartz Job Scheduling framework
into a Click application.
</li>
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/general/excel-table-export.htm">
Excel Table Exporter</a> example demonstrates how to export a Click Table
to an Excel spreadsheet using
<a class="external" target="_blank" href="http://poi.apache.org/">Apache POI</a>.
</li>
</ul>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
<b>New documentation:</b>
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li>
Documentation has been converted to Docbook and are made available in
three different flavors: <a href="user-guide.html">PDF, HTML (single page) and HTML (multiple pages)</a>.
Thanks to Gilberto C Andrade for doing the conversion
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-482">482</a>].
</li>
<li>
Added documentation describing the new HEAD element support.
Please see the new section on Page HEAD elements
<a href="user-guide/html/ch02s13.html">here</a> and
the section on Control HEAD elements <a href="user-guide/html/ch03s05.html">here</a>.
</li>
<li>
Added a new section, <a href="user-guide/html/ch04s03.html#deploying-restricted-env">Deploying resources in a restricted environment</a>,
describing how to deploy static resources in environments where
WAR/EAR are not unpacked or where file system permissions are
restricted, such as
<a class="external" target="_blank" href="http://code.google.com/appengine/docs/java/overview.html">Google App Engine</a>.
</li>
</ul>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
<b>Deprecated:</b>
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li class="change">
Deprecated methods: <a href="click-api/org/apache/click/Control.html#getHtmlImports()">Control.getHtmlImports()</a> and
<a href="click-api/org/apache/click/Page.html#getHtmlImports()">Page.getHtmlImports()</a>.
These methods have been deprecated in favor of
<a href="click-api/org/apache/click/Control.html#getHeadElements()">Control.getHeadElements()</a>
and <a href="click-api/org/apache/click/Page.html#getHeadElements()">Page.getHeadElements()</a>.
</li>
<li class="change">
Deprecated methods: <a href="click-api/org/apache/click/Page.html#getPageImports()">Page.getPageImports()</a>
and <a href="click-api/org/apache/click/Page.html#setPageImports(org.apache.click.util.PageImports)">Page.setPageImports()</a>.
These methods have been deprecated in favor of
<a href="click-api/org/apache/click/Page.html#getHeadElements()">Page.getHeadElements()</a>.
</li>
</ul>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
<b>New features and issues resolved:</b>
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li class="change">
Added support for <a class="external" target="_blank" href="http://code.google.com/appengine/docs/java/overview.html">Google App Engine</a>,
a free Java hosting environment from Google. This provides an ideal
environment for students and startups to easily host their Click
applications online. See <a href="extras-api/org/apache/click/extras/gae/GoogleAppEngineListener.html">GoogleAppEngineListener</a>
for details
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-560">560</a>].
</li>
<li class="change">
Added support for an in-memory <a href="extras-api/org/apache/click/extras/gae/MemoryFileUploadService.html">File Upload Service</a>
that can be used for uploading files in a <a class="external" target="_blank" href="http://code.google.com/appengine/docs/java/overview.html">Google App Engine</a>
environment.
</li>
<li class="change">
Added support for templates with custom extensions through the new
ConfigService.<a href="click-api/org/apache/click/service/ConfigService.html#isTemplate(java.lang.String)">isTemplate</a>
method. The default ConfigService implementation, XmlConfigService, provides
support for the extensions <tt>.htm</tt> and <tt>.jsp</tt>, but new extensions
can be provided in a subclass. See the <a href="click-api/org/apache/click/service/XmlConfigService.html#isTemplate(java.lang.String)">JavaDoc</a>
for details
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-568">568</a>].
</li>
<li class="change">
Added support to the Page class for conditionally including Control
<a href="click-api/org/apache/click/Page.html#getHeadElements()">head elements</a>
through the new method <a href="click-api/org/apache/click/Page.html#setIncludeControlHeadElements(boolean)">includeControlHeadElements</a>
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-571">571</a>].
</li>
<li class="change">
Added support to deploy resources inside JARs from the Servlet 3.0 compliant
location, <tt>META-INF/resources</tt>. Click's own pre-packaged resources
are now also located in the JAR under <tt>META-INF/resources</tt>
[<a target="_blank" href="https://issues.apache.org/jira/browse/CLK-570">570</a>].
</li>
<li class="change">
Added new Calendar popup to DateField. This Calendar popup uses
<a target="_blank" class="external" href="http://code.google.com/p/calendardateselect/">Calendar Date Select</a>
which is based on the Prototype JavaScript library.
<p/>
Please note if you don't want a dependency on the Prototype library
you can use the third-party
<a class="external" target="_blank" href="http://code.google.com/p/click-calendar/">Click Calendar</a>
instead.
</li>
<li class="change">
Added first class support for HEAD elements such as JavaScript and Css.
The following classes were added:
<a href="click-api/org/apache/click/element/Element.html">Element</a>,
<a href="click-api/org/apache/click/element/ResourceElement.html">ResourceElement</a>,
<a href="click-api/org/apache/click/element/JsImport.html">JsImport</a>,
<a href="click-api/org/apache/click/element/JsScript.html">JsScript</a>,
<a href="click-api/org/apache/click/element/CssImport.html">CssImport</a>
and <a href="click-api/org/apache/click/element/CssStyle.html">CssStyle</a>.
A new method was added to Page and Control: <a href="click-api/org/apache/click/Control.html#getHeadElements()">Control.getHeadElements()</a>
and <a href="click-api/org/apache/click/Page.html#getHeadElements()">Page.getHeadElements()</a>
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-501">501</a>].
</li>
<li class="change">
Added <a href="extras-api/org/apache/click/extras/control/SubmitLink.html">SubmitLink</a> control
that can submit a Form [<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-519">519</a>].
</li>
<li>
Added <a href="extras-api/org/apache/click/extras/control/HiddenList.html">HiddenList</a> control
for rendering and submitting a list of hidden fields [<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-491">491</a>].
</li>
<li class="change">
Added pluggable security access controller (<a href="extras-api/org/apache/click/extras/security/AccessController.html">AccessController</a>) to Menu class.
This pluggable interface enable use of security frameworks such as Spring Security (Acegi) or JSecurity to control user access to Menu items.
This issue was raised by Demetrios Kyriakis
[<a target='_blank' href="https://issues.apache.org/click/browse/CLK-406">406</a>].
</li>
<li class="change">
Added an Ant task, called DeployTask, for deploying static resources
at build time. This task is useful when deploying Click applications
in restricted environments. For more details see the section:
<a href="user-guide/html/ch04s03.html#deploying-restricted-env">deploying resources in a restricted environment</a>.
</li>
<li class="change">
Added a <a href="click-api/org/apache/click/service/ResourceService.html">ResourceService</a>,
for serving static resources at runtime. This service is useful when
deploying Click applications in restricted environments. For more details
see the section:
<a href="user-guide/html/ch04s03.html#deploying-restricted-env">deploying resources in a restricted environment</a>
[<a target='_blank' href="https://issues.apache.org/click/browse/CLK-564">564</a>].
</li>
<li class="change">
Added method,
<a href="click-api/org/apache/click/util/ClickUtils.html#createTemplateModel(org.apache.click.Page, org.apache.click.Context)">ClickUtils.createTemplateModel</a>,
which returns a template model containing objects such as the Context
path, Page path, HTTP request, HTTP response, HTTP session etc.
</li>
<li class="change">
Added ability to specify a custom TreeNode icon through the new method
TreeNode.<a href="extras-api/org/apache/click/extras/tree/TreeNode.html#setIcon(java.lang.String)">setIcon(String)</a>.
This issue was raised and fixed by Tim Hooper
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-494">494</a>].
</li>
<li class="change">
Added method <a href="click-api/org/apache/click/util/Format.html#url(java.lang.Object)">Format.url</a>
for encoding URL's in templates
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-399">399</a>].
</li>
<li class="change">
Added method
<a href="extras-api/org/apache/click/extras/control/FieldColumn.html#setProperty(java.lang.Object, java.lang.String, java.lang.Object)">FieldColumn.setProperty</a>
that can be overriden to provide custom binding for complex
domain objects. This issue was raised and fixed by WarnerJan Veldhuis
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-528">528</a>].
</li>
<li class="change">
Added TypeConverter configuration option to ClickServlet.
See <a href="click-api/org/apache/click/ClickServlet.html#getTypeConverter()">getTypeConverter()</a>
method for details. This issue was raised Joseph Schmidt and fixed by Adrian A.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-539">539</a>].
</li>
<li class="change">
Added <a href="extras-api/org/apache/click/extras/service/Slf4jLogService.html">Slf4jLogService</a>
for supporting multiple application servers.
This issue was raised Oliver Burn
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-555">555</a>].
</li>
<li class="change">
Added <a href="click-api/org/apache/click/util/Bindable.html">@Bindable</a>
annotation support for page field autobinding. @Bindable supports public,
protected and private Page variables
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-556">556</a>,
<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-599">599</a>
].
</li>
<li class="change">
Added property files with translation for the Russian language.
This issue was raised and fixed by Andrey Rybin
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-607">607</a>],
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-611">611</a>].
</li>
<li class="change">
Added new Tree methods
<a href="extras-api/org/apache/click/extras/tree/Tree.html#setWidth(java.lang.String)">setWidth</a> /
<a href="extras-api/org/apache/click/extras/tree/Tree.html#getWidth()">getWidth</a>
and <a href="extras-api/org/apache/click/extras/tree/Tree.html#setHeight(java.lang.String)">setHeight</a> /
<a href="extras-api/org/apache/click/extras/tree/Tree.html#getHeight()">getHeight</a>.
Also fixed rendering issues in IE6/7 for long node labels that overflow
the tree width [<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-616">616</a>].
</li>
<li class="change">
The click.dtd has been published to
<a href="http://click.apache.org/dtds/click-2.1.dtd">http://click.apache.org/dtds/click-2.1.dtd</a>.
If you want your configuration to conform to the click.dtd, include
the following declaration in your click.xml:
<pre class="prettyprint">&lt;!DOCTYPE click-app PUBLIC
"-//Apache Software Foundation//DTD Click Configuration 2.1//EN"
"http://click.apache.org/dtds/click-2.1.dtd"&gt; </pre>
</li>
<li class="change">
Improved Form validation to allow Form subclasses to override the
<a href="click-api/org/apache/click/control/Form.html#validate()">validate</a>
method and implement cross-field validation. The following
changes were made: the previous <tt>validate</tt> method was renamed
to <a href="click-api/org/apache/click/control/Form.html#validateFileUpload()">validateFileUpload</a>
and a new empty <a href="click-api/org/apache/click/control/Form.html#validate()">validate</a>
method was introduced, that can safely be overridden in subclasses
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-572">572</a>].
</li>
<li class="change">
Improved Page redirect to support parameters. See the new Page methods
<a href="click-api/org/apache/click/Page.html#setRedirect(java.lang.String, java.util.Map)">setRedirect(String, Map)</a>
and <a href="click-api/org/apache/click/Page.html#setRedirect(java.lang.Class, java.util.Map)">setRedirect(Class, Map)</a>
This issue was raised and fixed by Adrian
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-536">536</a>].
</li>
<li class="change">
Improved Link Controls to support multivalued parameters through the
new AbstractLink methods <a href="click-api/org/apache/click/control/AbstractLink.html#getParameterValues(java.lang.String)">getParameterValues()</a>
and <a href="click-api/org/apache/click/control/AbstractLink.html#setParameterValues(java.lang.String, java.lang.String[])">setParameterValues()</a>
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-554">554</a>].
</li>
<li class="change">
Improved Table to support very large datasets by promoting the methods
<a href="click-api/org/apache/click/control/Table.html#getFirstRow()">getFirstRow()</a>
and <a href="click-api/org/apache/click/control/Table.html#getLastRow()">getLastRow()</a>
as public. These methods provide the necessary information to only
retrieve the displayed rows
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-504">504</a>].
</li>
<li class="change">
Improved LinkDecorator to support target identifier property parameter names.
This issue was raised by Demetrios Kyriakis and fixed by fixed by Adrian A.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-400">400</a>].
</li>
<li class="change">
Improved PickList methods <a href="extras-api/org/apache/click/extras/control/PickList.html#getValueObject()">getValueObject()</a>
and <a href="extras-api/org/apache/click/extras/control/PickList.html#setValueObject(java.lang.Object)">setValueObject(Object)</a>
to delegate to <a href="extras-api/org/apache/click/extras/control/PickList.html#getSelectedValues()">getSelectedValues()</a>
and <a href="extras-api/org/apache/click/extras/control/PickList.html#addSelectedValue(java.lang.String)">addSelectedValue(String)</a>
respectively [<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-490">490</a>].
</li>
<li class="change">
Improved Spring integration with
<a href="extras-api/org/apache/click/extras/spring/SpringClickServlet.html">SpringClickServlet</a> and
<a href="extras-api/org/apache/click/extras/spring/PageScopeResolver.html">PageScopeResolver</a>,
supporting Spring instantiated Pages with @Component configuration
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-534">534</a>].
</li>
<li class="change">
Improved CompressionServletResponseWrapper and CompressionResponseStream classes to have
public visibility to enable use in custom servlet Filters
[<a target='_blank' href="https://issues.apache.org/click/browse/CLK-547">547</a>].
</li>
<li class="change">
Improved Menu control to render attribute class="selected" when the menu item
is selected. This issue was raised and fixed by Frederic Daoud
[<a target='_blank' href="https://issues.apache.org/click/browse/CLK-551">551</a>].
</li>
<li class="change">
Improved PerformanceFilter to implement exclude-paths filtering
[<a target='_blank' href="https://issues.apache.org/click/browse/CLK-498">498</a>].
</li>
<li class="change">
Improved XmlConfigService to scan for deployable resources inside folders
on the classpath
[<a target='_blank' href="https://issues.apache.org/click/browse/CLK-552">552</a>].
</li>
<li class="change">
Improved Cayenne DataContextFilter, including adding support for LifecycleListener
registration
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-559">559</a>].
</li>
<li class="change">
Improved <a href="click-api/org/apache/click/control/AbstractLink.html">AbstractLink</a>
to allow rendering of both icon and label in Link controls (default
behavior renders either a label or an icon)
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-535">535</a>].
</li>
<li class="change">
Improved Page and Control message handling with null args.
This issue was raised by WarnerJan Veldhuis
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-600">600</a>].
</li>
<li class="change">
Fixed resource deployment on JBoss 5 and up. The solution is based on
the work done by the <a class="external" target="_blank" href="http://www.stripesframework.org">Stripes Framework</a>
developers
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-589">589</a>].
</li>
<li class="change">
Fixed <a class="external" target="_blank" href="http://code.google.com/p/click-calendar/">Click Calendar</a>
memory leak in calendar popup with version 1.0.1 released
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-499">499</a>].
</li>
<li class="change">
Fixed Column sorting to recognize numbers inside strings.
This issue was raised by Venkatt Guhesan
[<a target='_blank' href="https://issues.apache.org/click/browse/CLK-489">489</a>].
</li>
<li class="change">
Fixed a bug where FieldSet was not set as the parent of its child controls.
This issue was raised by James P Brown
[<a target='_blank' href="https://issues.apache.org/click/browse/CLK-497">497</a>].
</li>
<li class="change">
Fixed FormTable sorting bug. Added FormTable sort methods <a href="extras-api/org/apache/click/extras/control/FormTable.html#setSortedColumn(java.lang.String)">setSortedColumn</a>,
<a href="extras-api/org/apache/click/extras/control/FormTable.html#setSortedAscending(boolean)">setSortedAscending</a>,
<a href="extras-api/org/apache/click/extras/control/FormTable.html#setPageNumber(int)">setPageNumber</a>
for programmatic sorting. This issue was raised and fixed by Ben Warner
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-527">527</a>].
</li>
<li class="change">
Fixed a bug in AutoCompleteTextField where if the field was removed
from a Form, its JavaScript resources would still be rendered.
This issue was raised by Paul Zammit
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-546">546</a>].
</li>
<li class="change">
Fixed extras <tt>pom.xml</tt> dependencies [<a target='_blank' href="https://issues.apache.org/click/browse/CLK-492">492</a>].
</li>
<li class="change">
Fixed a bug in control.js which caused the addLoadEvent event queue to
be reset if multiple control.js scripts are imported in the same page.
This issue was raised by Adrian
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-503">503</a>].
</li>
<li class="change">
Fixed PerformanceFilter and CompressionFilter to properly handle
<tt>&lt;jsp:include&gt;</tt> requests
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-557">557</a>].
</li>
<li class="change">
Fixed SubmitLink to call Form javascript validation before submitting form.
This issue was raised and fixed by Finn Bock
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-586">586</a>].
</li>
<li class="change">
Fixed DateField not to render help property twice.
This issue was raised by Finn Bock
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-574">574</a>].
</li>
<li class="change">
Fixed bug where pages in the default package was not loaded.
This issue was raised by Thiago Senna
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-575">575</a>].
</li>
<li class="change">
Fixed bug in HibernateForm that did not apply required field constraints
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-583">583</a>].
</li>
<li class="change">
Updated Velocity library to version 1.6.3.
</li>
<li class="change">
Updated Cayenne library to version 3.0M6.
</li>
<li class="change">
Updated Commons Collection library to version 3.2.1.
</li>
<li class="change">
Updated Prototype.js library to version 1.6.1.
</li>
</ul>
</dd>
<dt><a name="2.1.0-RC1"></a>Version 2.1.0-RC1 (Apache incubator) - 28 June 2009</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
See the release notes for <a href="#2.1.0">2.1.0</a>.
</div>
</dd>
<dt><a name="2.0.1"></a>Version 2.0.1 (Apache incubator) - 15 February 2009</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
IMPORTANT be sure to read the <a href="upgrade-path.html#1.5">upgrade path</a> when upgrading from Click 1.4 or earlier.
</div>
<div style="margin-top: 15px; margin-left:-2em;margin-bottom:1em;">
This is our first Apache Incubator release and is based on <a href="#1.5.1">Click 1.5.1</a>.
<p/>
Please note that because of licensing issues, certain third-party
libraries were removed and are hosted externally.
</div>
</dd>
<dt><a name="1.5.1"></a>Version 1.5.1 (pre-Apache) - 23 January 2009</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
IMPORTANT be sure to read the <a href="upgrade-path.html#1.5">upgrade path</a> when upgrading from Click 1.4 or earlier.
</div>
<div style="margin-left:-2em;margin-bottom:1em;">
Please note that this release is provided outside of the ASF and is not
endorsed or approved by the Apache Software Foundation.
</div>
<div style="margin-top: 15px; margin-left:-2em;margin-bottom:1em;">
The following issues were resolved since 1.5:
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li class="change">
Added Turkish language support. This issue was raised and fixed by Ali Ok.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-476">476</a>].
</li>
<li class="change">
Improved exception handling when a Control name is not defined
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-473">473</a>].
</li>
<li class="change">
Added new constructors to extra controls which accepts the <tt>size</tt>
attribute. This issue was raised by Christophe Foiret
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-475">475</a>].
</li>
<li class="change">
Added MessageFormat support to Format. New methods include
<a href="click-api/org/apache/click/util/Format.html#message(java.lang.String, java.lang.Object)">message(String, Object)</a>
and <a href="click-api/org/apache/click/util/Format.html#message(java.lang.String, java.util.List)">message(String, List)</a>.
This issue was raised by Yu Kobayashi
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-474">474</a>].
</li>
<li class="change">
Added new methods to CheckboxTree to improve customization. The new methods
include <a href="extras-api/org/apache/click/extras/tree/CheckboxTree.html#renderCheckbox(org.apache.click.util.HtmlStringBuffer, org.apache.click.extras.tree.TreeNode)">renderCheckbox</a>
and <a href="extras-api/org/apache/click/extras/tree/CheckboxTree.html#getInputType()">getInputType</a>.
</li>
<li class="change">
Added csv mime type. This issue was raised by Alvin Townsend.
</li>
<li class="change">
Fixed URL rendering to encode ampersand characters.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-483">483</a>].
</li>
<li class="change">
Fixed HiddenField to work with java.sql.Timestamp, java.sql.Time and java.sql.Date.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-484">484</a>].
</li>
<li class="change">
Fixed WebappLoader to reload Velocity global macro's
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-467">467</a>].
</li>
<li class="change">
Fixed Page.setRedirect to check if redirect path starts with context path.
This issue was raised by Christophe Foiret
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-468">468</a>].
</li>
<li class="change">
Fixed a regression when manually setting the Page path to a JSP.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-141">141</a>].
</li>
<li class="change">
Fixed DateField's French translation. This issue was raised by Alvin Townsend.
</li>
</ul>
</dd>
<dt><a name="1.5"></a>Version 1.5 - 2 November 2008</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
IMPORTANT be sure to read the <a href="upgrade-path.html#1.5">upgrade path</a> when upgrading from Click 1.4 or earlier.
</div>
<div style="margin-top: 15px; margin-left:-2em;margin-bottom:1em;">
The following issues were resolved since 1.5 RC3:
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li class="change">
Added Dutch language support, contributed by Christopher Highway.
</li>
<li class="change">
Improved Form to process controls even if their names is not defined.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-463">463</a>].
</li>
<li class="change">
Fixed ContainerUtils.copyTo where the wrong getter method could be used
when a domain object contains multiple overloaded getter methods. This
issue was raised by Alvin Townsend
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-461">461</a>].
</li>
<li class="change">
Fixed Column internal Comparator which does not take sort order into
consideration for non Comparable instances
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-462">462</a>].
</li>
<li class="change">
Fixed Panel.getId() to return null if name is not defined
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-464">464</a>].
</li>
<li class="change">
Fixed VelocityTemplateService to cater for custom defined Velocity loggers.
This issue was raised by Vikram Natarajan
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-465">465</a>].
</li>
</ul>
</dd>
<dt><a name="1.5-RC3"></a>Version 1.5 RC3 - 19 October 2008</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
IMPORTANT be sure to read the <a href="upgrade-path.html#1.5">upgrade path</a> when upgrading from Click 1.4 or earlier.
</div>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
New examples:
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/wizard/wizard.htm">
Wizard demo</a> shows how to leverage a <a href="user-guide/html/ch02s09.html">stateful</a>
page and <a href="click-api/org/apache/click/control/Panel.html">Panels</a>
to create a process flow. Each Step in the process is represented by a
Panel which is managed by the stateful Page.
</li>
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/control/populate-on-select.htm">
Populate on select</a> shows how items in one combo box is populated
based on the selected item in another using JavaScript.
</li>
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/table/edit-form-table.htm">
FormTable demo</a> shows how a FormTable can be used together with an
existing Form.
</li>
<li>
<a target="_blank" class="external" href="http://click.avoka.com/click-examples/tree/page-link-tree-page.htm">
Page link tree</a> provides a demonstration of using the Tree component
to link to different pages.
</li>
</ul>
<div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;">
New documentation:
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li>
Added a full <a href="click-dtd-example.html">configuration example</a>
containing all <tt>click.xml</tt> <a href="click-dtd.html">DTD</a> elements and attributes.
</li>
</ul>
<div style="margin-top: 15px; margin-left:-2em;margin-bottom:1em;">
The following issues were resolved:
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li class="change">
Added FormTable.properties containing a new property <span style="color:navy;">formtable-error</span>.
When adding FormTable to an external From, the <span style="color:navy;">formtable-error</span>
will be displayed if one of the FormTable fields contains an error.
</li>
<li class="change">
Renamed ContainerUtils method getFields to getInputFields which better reflect its behavior
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-457">457</a>].
</li>
<li class="change">
Fixed TabbedForm and TabbedCayenneForm to import JavaScript and CSS from their
superclass. This issue was raised by Christophe Foiret
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-450">450</a>].
</li>
<li class="change">
Fixed CayenneForm performing multiple inserts
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-452">452</a>].
</li>
<li class="change">
Fixed FormTable duplicate HTML imports
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-453">453</a>].
</li>
<li class="change">
Fixed XmlConfigService not deploying JAR resources
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-454">454</a>].
</li>
<li class="change">
Fixed Page.setRedirect to guard against duplicate context paths. This issue
was raised and fixed by Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-456">456</a>].
</li>
<li class="change">
Fixed CountrySelect to exclude duplicate countries. This issue was raised
and fixed by Christopher Highway
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-458">458</a>].
</li>
</ul>
</dd>
<dt><a name="1.5-RC2"></a>Development Release - Version 1.5 RC2 - 29 September 2008</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
IMPORTANT be sure to read the <a href="upgrade-path.html#1.5">upgrade path</a> when upgrading from Click 1.4 or earlier.
</div>
<ul style="padding: 0em; margin-left:0em;margin-bottom: 2em">
<li class="change">
<span style="font-weight: bold; color: navy;">Emergency Fix</span>: Click throws FileNotFoundException when deploying click-extras.jar
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-448">448</a>].
</li>
<li class="change">
Click should automatically remove a Control from its parent when adding
it to another Container. This issue was raised and fixed by Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-449">449</a>].
</li>
<li class="change">
Added utility methods <a href="click-api/org/apache/click/util/ClickUtils.html#encodeURL(java.lang.Object)">ClickUtils.encodeURL</a>
and <a href="click-api/org/apache/click/util/ClickUtils.html#decodeURL(java.lang.Object)">ClickUtils.decodeURL</a>
for encoding and decoding URL's using the "UTF-8" encoding scheme.
</li>
</ul>
</dd>
<dt><a name="1.5-RC1"></a>Development Release - Version 1.5 RC1 - 28 September 2008</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
IMPORTANT be sure to read the <a href="upgrade-path.html#1.5">upgrade path</a> when upgrading from Click 1.4 or earlier.
</div>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Refactored Paginator into a more generic interface called
<a href="click-api/org/apache/click/control/Renderable.html">Renderable</a>
which is independent of any specific Control
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-434">434</a>].
</li>
<li class="change">
Add new LinkDecorator methods <a href="extras-api/org/apache/click/extras/control/LinkDecorator.html#renderActionLink(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.AbstractLink, org.apache.click.Context, java.lang.Object, java.lang.Object)">renderActionLink</a>
and <a href="extras-api/org/apache/click/extras/control/LinkDecorator.html#renderActionButton(org.apache.click.util.HtmlStringBuffer, org.apache.click.control.ActionButton, org.apache.click.Context, java.lang.Object, java.lang.Object)">renderActionButton</a>.
This allows more fine grained control over the rendered links, for example
manipulating request parameters.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-446">446</a>].
</li>
<li class="change">
Add Table Row attribute support through new method
<a href="click-api/org/apache/click/control/Table.html#addRowAttributes(java.util.Map, java.lang.Object, int)">addRowAttributes</a>.
This issue was raised by Hans Poo
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-431">431</a>].
</li>
<li class="change">
Field error messages can now be specified per instance.
See the <a href="click-api/org/apache/click/control/Field.html#setErrorMessage(java.lang.String)">JavaDoc</a> for more details.
This issue was raised and fixed by Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-433">433</a>].
</li>
<li class="change">
Added new utility methods
<a href="click-api/org/apache/click/util/ContainerUtils.html#copyContainerToObject(org.apache.click.control.Container, java.lang.Object, java.util.List)">copyContainerToObject</a>
and <a href="click-api/org/apache/click/util/ContainerUtils.html#copyContainerToObject(org.apache.click.control.Container, java.lang.Object, java.util.List)">copyObjectToContainer</a>
to selectively exclude or include form fields when populating domain objects.
This issue was raised by Khalef Bessaih
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-440">440</a>].
</li>
<li class="change">
Encapsulate conversion logic of template extensions inside
<a href="click-api/org/apache/click/Page.html#setRedirect(java.lang.String)">Page.setRedirect(java.lang.String)</a>
which allows one to override or overload the default behavior.
This issue was raised by David Ballard
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-429">429</a>].
</li>
<li class="change">
Improved Table so that subclasses can specify a different
<a href="click-api/org/apache/click/control/Table.html#controlLink">controlLink</a>
implementation by overriding <a href="click-api/org/apache/click/control/Table.html#getControlLink()">getControlLink()</a>.
This issue was raised and fixed by Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-442">442</a>].
</li>
<li class="change">
Improved <a href="click-api/org/apache/click/util/ClickUtils.html#toLabel(java.lang.String)">ClickUtils.toLabel</a> to return empty String ("") if argument is null
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-441">441</a>].
</li>
<li class="change">
Improved DateField to return a cached Date representation on subsequent retrievals.
This issue was raised by Tore Halset
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-316">316</a>].
</li>
<li class="change">
Fixed RegexField validation to ignore empty values.
This issue was raised by Muzaffer Ozakca
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-436">436</a>].
</li>
<li class="change">
Fixed TabbedPanel to trigger the registered tab listener.
This issue was raised by Marcelo Grassi Franco Melgaço.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-432">432</a>].
</li>
<li class="change">
Improved redirect and forward to JSP templates.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-435">435</a>].
</li>
<li class="change">
Fixed HtmlFieldSet to properly close the fieldset end tag.
This issue was raised by Gilberto C. Andrade
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-427">427</a>].
</li>
<li class="change">
Fixed AbstractContainerField not to bind its request parameter.
This issue was raised by Gilberto C. Andrade
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-428">428</a>].
</li>
<li class="change">
Fixed Column which exposed its internal Comparator as public API
through <a href="click-api/org/apache/click/control/Column.html#setComparator(java.util.Comparator)">Column.setComparator(Comparator)</a>,
instead of java.util.Comparator.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-430">430</a>].
</li>
<li class="change">
Fixed LinkDecorator not to add Table parameters to PageLink, as it is redundant.
This issue was raised by Joel Schmidt
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-270">270</a>].
</li>
</ul>
</dd>
<dt><a name="1.5-M3"></a>Development Release - Version 1.5 M3 - 17 August 2008</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
IMPORTANT be sure to read the <a href="upgrade-path.html#1.5">upgrade path</a> when upgrading from Click 1.4 or earlier.
</div>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Major refactoring to improve backward compatibility and upgrade path.
This includes removing BasicForm which was included in 1.5-M1 and adding
new Controls <a href="extras-api/org/apache/click/extras/control/HtmlForm.html">HtmlForm</a>
and <a href="extras-api/org/apache/click/extras/control/HtmlFieldSet.html">HtmlFieldSet</a>.
You can find an example of HtmlForm in action <a target="_blank" href="http://click.avoka.com/click-examples/form/contact-details.htm">here</a>.
</li>
<li class="change">
Added support for multiple page package definitions in click.xml configuration.
See the configuration topic <a href="user-guide/html/ch04s02.html#application-multiple-packages">Multiple Pages Packages</a>
for more details.
This issue was raised by Ricardo R. Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-328">328</a>].
</li>
<li class="change">
Added configurable table <a href="click-api/org/apache/click/control/TablePaginator.html">Paginator</a> support
and an <a href="extras-api/org/apache/click/extras/control/TableInlinePaginator.html">InlinePaginator</a>.
A new <a target="_blank" href="http://click.avoka.com/click-examples/table/table-paginator.htm">example</a>
shows the different Paginator options available. This issue was raised by Gustav Weber
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-390">390</a>].
</li>
<li class="change">
Added readonly and disabled support to FieldSet. If enabled Fields contained
in FieldSet will be disabled or made readonly.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-423">423</a>].
</li>
<li class="change">
Added Table footer rendering support, so that column totals can be rendered in a table
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-425">425</a>].
</li>
<li class="change">
Improved Table rendering performance in the order of 25-45%.
</li>
<li class="change">
Improved rendering performance by caching the ClickUtils
<a href="click-api/org/apache/click/util/ClickUtils.html#getResourceVersionIndicator(org.apache.click.Context)">resource version indicator</a>
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-412">412</a>].
</li>
<li class="change">
Improved Page and PageImports to allow a Pages to optimize their HTML imports.
Please see Click Examples for a demonstration
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-363">363</a>].
</li>
<li class="change">
Fixed issue where Select validation can throw ClassCastException
when option list contains an OptionGroup. This issue was identifier by Christophe Foiret
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-374">374</a>].
</li>
<li class="change">
Fixed issue where Container can be added to itself. This issue was identifier by Harry Wissiak
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-414">414</a>].
</li>
<li class="change">
Fixed Page serialization issues with non serializable Format and PageImport objects.
This issue was identifier by Alexei Sokolov
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-416">416</a>].
</li>
<li class="change">
Fixed issue where CayenneForm clearValues() was hidden data object classname.
This issue was identifier by Wisking Ju Yu Wu
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-417">417</a>].
</li>
<li class="change">
Fixed issue where TabbedPanel was invoking the activePanel's onInit() method twice.
This issue was identifier by Wisking Ju Yu Wu
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-420">420</a>].
</li>
</ul>
</dd>
<dt><a name="1.5-M2"></a>Development Release - Version 1.5 M2 - 20 July 2008</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
IMPORTANT be sure to read the <a href="upgrade-path.html#1.5">upgrade path</a> when upgrading from Click 1.4 or earlier.
<p/>
Click 1.5 M2 introduced major enhancements to Control listener support.
</div>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
New Control listener support through the <a href="click-api/org/apache/click/ActionListener.html">ActionListener</a> interface.
This control listener style provides compile time safety and supports code refactoring tools.
<pre class="prettyprint">
public class MyPage extends Page {
public void onInit() {
Submit submit = new Submit("submit");
submit.setActionListener(new ActionListener() {
public boolean onAction(Control source) {
// Perform submit action and return true to continue processing
return true;
}
});
}
} </pre>
Note that the source Control is passed in as an argument to the onAction method.
For very complex scenarios it is useful to know which Control triggered the event
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-369">369</a>].
</li>
<li class="change">
Introduce a two phase listener dispatch mechanism. During the onProcess event,
Control listeners will be registered on the <a href="click-api/org/apache/click/ActionEventDispatcher.html">ActionEventDispatcher</a>
and triggered after the onProcess event finish. The net effect of this change
is that when Control listeners are triggered, all request values have been bound to Controls,
and can safely be referred to from the listener [<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-365">365</a>].
</li>
<li class="change">
Added button support to FieldSet, so that buttons can be rendered inside
FieldSets. This change has been enabled by two phase processing which
ensures all FieldSet fields are processed before button listeners are invoked
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-401">401</a>].
</li>
</ul>
<div style="margin-left:-2em;margin-bottom:1em;">
The following is a list of enhancements and bugs fixes:
</div>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added a new <a href="extras-api/org/apache/click/extras/control/PageButton.html">PageButton</a> control
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-392">392</a>].
</li>
<li class="change">
Introduced a new resource deployment strategy for <em>Jars</em> containing
Page and Control resources. When Click starts up, it scans each Jar found
in the web lib folder (webapp/WEB-INF/lib) for entries starting with 'META-INF/web/'.
All files found under 'META-INF/web/' will be copied verbatim to the web
application folder.
<p/>
See the section <a href="user-guide/html/ch04s03.html#deploying-custom-resources">Deploying Custom Resources</a>
for more detail.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-393">393</a>].
</li>
<li class="change">
Add new method <a href="extras-api/org/apache/click/extras/tree/CheckboxTree.html#setSelectChildNodes(boolean)">CheckboxTree.setSelectChildNodes</a>
that enables selecting child nodes when parent is selected. This feature
only works if the Tree's <a href="extras-api/org/apache/click/extras/tree/Tree.html#setJavascriptEnabled(boolean)">Javascript</a>
support is enabled.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-209">209</a>].
</li>
<li class="change">
Added property files with translation for the Romanian language.
This issue was raised and fixed by Marius Petrus
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-361">361</a>].
</li>
<li class="change">
Add width support to TabbedPanel control
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-376">376</a>].
</li>
<li class="change">
Add static method Context.hasThreadLocalContext().
Useful for checking if a Context is available on the Context stack
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-382">382</a>].
</li>
<li class="change">
Add ClickUtils autoPostRedirect() method to support
<a class="external" target="_blank" href="http://en.wikipedia.org/wiki/SAML">SAML</a>
integration
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-398">398</a>].
</li>
<li class="change">
Updated Container renaming method Container.add(int, Control) to Container.insert(Control, int)
to better reflect the intention
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-381">381</a>].
</li>
<li class="change">
Update Form to use control message bundles for label required prefix/suffix
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-383">383</a>].
</li>
<li class="change">
Update HtmlStringBuffer to support method chaining.
This issue was raised by Demetrios Kyriakis
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-396">396</a>].
</li>
<li class="change">
Updated Menu so that it is now only cached in production or profile modes.
In other development modes, changes to menu.xml is seen immediately.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-408">408</a>].
</li>
<li class="change">
Updated AbstractContainerField control moving it to Click Extras.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-410">410</a>].
</li>
<li class="change">
Fixed TabbedPanel bug whereby inactive panel HTML imports are included in page
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-366">366</a>].
</li>
<li class="change">
Fixed FieldSet recursive remove bug
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-367">367</a>].
</li>
<li class="change">
Fixed bug when manually invalidating HttpSession
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-371">371</a>].
</li>
<li class="change">
Fixed PropertySelect add ordering to query bug
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-372">372</a>].
</li>
<li class="change">
Fixed message properties to resolve all parent messages
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-373">373</a>].
</li>
<li class="change">
Fixed Labels not rendering in a FieldSet bug
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-377">377</a>].
</li>
<li class="change">
Fixed Form removeField throws IllegalArgumentException bug
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-378">378</a>].
</li>
<li class="change">
Fixed FieldSet restoring FieldSet ability to set number of table columns
the FieldSet is rendered with
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-379">379</a>].
</li>
<li class="change">
Fixed bug where Format is not available in template of stateful pages.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-409">409</a>].
</li>
</ul>
</dd>
<dt><a name="1.5-M1"></a>Development Release - Version 1.5 M1 - 18 May 2008</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
IMPORTANT be sure to read the <a href="upgrade-path.html#1.5">upgrade path</a> when upgrading from a previous version.
<p/>
Click 1.5 (currently in development) introduces important new features including:
<p/>
<ul style="margin-top:0.5em;">
<li class="item"><a href="user-guide/html/ch03s06.html">Container</a> - new interface for building arbitrary complex, hierarchical Controls.</li>
<li class="item"><a href="click-api/org/apache/click/service/package-summary.html#services">Services</a> - Click core has been refactored into pluggable services.</li>
<li class="item"><a href="mock-api/overview-summary.html">Mock Test Support</a> - Unit and Functional Testing.</li>
<li class="item"><a href="click-api/org/apache/click/control/AbstractControl.html">AbstractControl</a>
- AbstractControl was extended to implement all Control methods, making it easier to create custom controls.</li>
</ul>
<div style="margin-top:1.5em;margin-bottom:1em;">
New examples and documentation were added:
</div>
<ul>
<li class="change">New examples:
<ul style="padding-top: 5px;">
<li>
<a target="_blank" href="http://click.avoka.com/click-examples/form/extra-controls-form.htm">Country Select field</a>
</li>
<li>
<a target="_blank" href="http://click.avoka.com/click-examples/form/contact-details.htm">Custom Form Layout using Containers</a>
</li>
<li>
<a target="_blank" href="http://click.avoka.com/click-examples/form/extra-controls-form.htm">Virtual Keyboard field</a>
</li>
<li>
<a target="_blank" href="http://click.avoka.com/click-examples/general/excel-export.htm">Excel Export Demo</a>
</li>
<li>
<a target="_blank" href="http://click.avoka.com/click-examples/jsp/edit-customer.htm">JSP - Edit Customer</a>
</li>
<li>
<a target="_blank" href="http://click.avoka.com/click-examples/jsp/navigation-a.htm">JSP - Navigation</a>
</li>
<li>
<a target="_blank" href="http://click.avoka.com/click-examples/jsp/multi-path-demo.htm">JSP - Multi Path Demo</a>
</li>
</ul>
</li>
<li class="change">New documentation:
<ul style="padding-top: 5px;">
<li class="change">
<a href="user-guide/html/ch03s06.html#container">Container</a>
</li>
<li class="change">
<a href="user-guide/html/ch03s07.html#layout">Template vs Container layout</a>
</li>
<li class="change">
<a href="click-api/org/apache/click/service/package-summary.html">Click Runtime Services</a>
</li>
<li class="change">
<a href="mock-api/overview-summary.html">Mock Test Support</a>
</li>
</ul>
</li>
</ul>
</div>
<p/>
<div style="margin-left:-2em;margin-top:1.5em;margin-bottom:1em;">
A new <a href="click-online.html#powered">Powered by Click</a> section was added.
If you want to enlist your site, please send a mail to one of our
<a href="click-online.html#mailing-lists">Mailing Lists</a> or directly to "sabob1 at gmail.com".
<p/>
The following is a list of enhancements and bugs fixes:
</div>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added <a class="external" target="_blank" href="http://www.freemarker.org">Freemarker</a> support as an
alternative templating engine to Velocity, with new
<a href="extras-api/org/apache/click/extras/service/FreemarkerTemplateService.html">FreemarkerTemplateService</a>.
</li>
<li class="change">
Added a <a href="extras-api/org/apache/click/extras/control/CountrySelect.html">Country Select</a>
control based on the JDK's own built in Country/Locale support.
</li>
<li class="change">
Added a <a href="extras-api/org/apache/click/extras/control/VirtualKeyboard.html">Virtual Keyboard</a>
control using <a href="http://www.greywyvern.com/code/js/keyboard.html">GreyWyvern</a> JavaScript library.
</li>
<li class="change">
Added support for setting Form
<a href="click-api/org/apache/click/control/Form.html#getActionURL()">action</a>
URL attribute. This issue was raised by Erdem Gunay
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-319">319</a>].
</li>
<li class="change">
Added support for Page HTML imports with a new <tt>getHtmlImports()</tt>
method. This enables Pages to programmatically define HTML imports which
will be included in a border template using the PageImports object.
This issue was raised by David Frizelle
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-329">329</a>].
</li>
<li class="change">
Add Page <a href="click-api/org/apache/click/Page.html#setTemplate(java.lang.String)">setTemplate(String)</a>
method to enable dynamic changing of a page border template. This issue
was raised by Huy Do
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-353">353</a>].
</li>
<li class="change">
Updated <a href="click-api/org/apache/click/Page.html#setPath(java.lang.String)">Page.setPath</a> to handle JSP resources. This issue was raised and fixed by Huy Do.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-141">141</a>].
</li>
<li class="change">
Added support for Hibernate AnnotationConfiguration. This issue was fixed by Jean-Francois.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-355">355</a>].
</li>
<li class="change">
Improved FileUpload support. This issue was raised by Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-326">326</a>].
</li>
<li class="change">
Improve File Upload support with new <a href="click-api/org/apache/click/service/FileUploadService.html">FileUploadService</a> class.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-326">326</a>].
</li>
<li class="change">
Fixed PropertySelect which is not reset to original value. This is was raised by Tore Halset
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-317">317</a>].
</li>
<li class="change">
Fixed Cayenne 3.0M3 DataObjectUtils issue in CayenneForm when using JDK 1.5.
Added <a href="extras-api/org/apache/click/extras/cayenne/CayenneUtils.html">CayenneUtils</a> helper class
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-342">342</a>].
</li>
<li class="change">
Upgraded the following libraries:
<ul style="margin-top:1em;">
<li>commons-lang 2.1 -> commons-io 2.4</li>
<li>commons-io 1.3 -> commons-io 1.4</li>
<li>commons-fileupload 1.2 -> commons-fileupload 1.2.1</li>
<li>Hibernate 3.1.3 -> Hibernate 3.2.6</li>
<li>Spring 1.2.9 -> Spring 2.5.4</li>
</ul>
</li>
<li class="change">Removed support for Cayenne 1.2.x.</li>
</ul>
</dd>
<p/>
<dt><a name="1.4.2"></a>Version 1.4.2 - 12 April 2008</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Fixed ExcludePage should be a public class
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-346">346</a>].
</li>
<li class="change">
Fixed Maven artifacts packaging
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-348">348</a>].
</li>
<li class="change">
Fixed slight performance degradation
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-349">349</a>].
</li>
<li class="change">
Fixed PageLink to change extension <tt>jsp</tt> to <tt>htm</tt>
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-352">352</a>].
</li>
<li class="change">
Fixed DateField and ChartFields to include the javascript <tt>control.js</tt>
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-354">354</a>].
</li>
<li class="change">
Fixed DateField which produced duplicate stylesheet links.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-356">356</a>].
</li>
</ul>
</dd>
<dt><a name="1.4.1"></a>Version 1.4.1 - 30 March 2008</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;"> Developer
<a target="blank" href="http://sourceforge.net/users/sabob/">Bob Schellink</a>
accepts new Project Leader role for the Click project.<br/>
New developer <a target="blank" href="ricardolecheta@users.sourceforge.net">Ricardo Lecheta</a> joins the Click project.
</div>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added new method <a href="click-api/org/apache/click/Context.html#isAjaxRequest()">Context.isAjaxRequest()</a>
which enables conditional checking for Ajax requests.
</li>
<li class="change">
Upgraded to Scriptaculous 1.8.1 to fix auto form submit. This issue was raised by Andy Key.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-336">336</a>].
</li>
<li class="change">
Fixed deployment of resources when servlet container does not unpack war.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-340">340</a>].
</li>
<li class="change">
Fixed sendRedirect to convert <em>.jsp</em> extension to <em>.htm</em> when redirecting to a JSP page.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-338">338</a>].
</li>
<li class="change">
Fixed Form <tt>clearValues()</tt> to exclude certain HiddenFields from being cleared.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-337">337</a>].
</li>
<li class="change">
Fixed Form action incorrect when using JSP. This issue was raised by Chas Erickson.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-334">334</a>].
</li>
<li class="change">
Fixed <a href="click-api/org/apache/click/control/Form.html#onSubmitCheck(org.apache.click.Page, java.lang.String)">Form.onSubmitCheck()</a>
to ignore Ajax calls. This issue was raised by Ivan Furdi.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-333">333</a>].
</li>
<li class="change">
Fixed Form and FieldSet column layout bug
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-331">331</a>].
</li>
<li class="change">
Fixed Table column sorting issue with string values.
This issue was raised by Ben Young
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-344">344</a>].
</li>
<li class="change">
Fixed Table style issues with sorted columns
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-345">345</a>].
</li>
</ul>
</dd>
<p/>
<dt><a name="1.4"></a>Version 1.4 - 2 March 2008</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Updated Cayenne controls to support Cayenne version 3.0.
</li>
<li class="change">
Fixed CayenneForm <tt>save()</tt> method inserting multiple new entries bug.
This issue was raised and fixed Tore Halset
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-307">307</a>].
</li>
<li class="change">
Fixed Table invalid handling params bug.
This issue was raised and fixed by Satoshi Takata
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-308">308</a>].
</li>
<li class="change">
Fixed DateField readonly JavaScript bug.
This issue was raised by Tore Halset
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-309">309</a>].
</li>
<li class="change">
Fixed DateField Dutch Calendar translation.
This issue was raised by Harry Wissiak
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-310">310</a>].
</li>
<li class="change">
Fixed DateField <tt>$imports</tt> usage JavaScript bug.
This issue was raised by Itou Akihiro
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-311">311</a>].
</li>
<li class="change">
Fixed bug where charset encoding being set after request parameters are read.
This issue was raised and fixed by Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-312">312</a>].
</li>
<li class="change">
Fixed ThreadLocal Context forwarding bug on Jetty 5.1.*.
This issue was raised by Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-314">314</a>].
</li>
<li class="change">
Fixed 'script.aculo.us' Ajax.Autocompleter bug with IE.
This issue was raised by Itou Akihiro
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-322">322</a>].
</li>
<li class="change">
Fixed CompressionServletResponseWrapper NPE bugs on WebSphere and Jetty.
This issue was raised by Ricardo Lecheta and Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-323">323</a>].
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 1.4 RC3 - 6 February 2008</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added <a href="extras-api/org/apache/click/extras/filter/PerformanceFilter.html">PerformanceFilter</a>
to significantly improve the performance of Click applications
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-284">284</a>, <a target='_blank' href="https://issues.apache.org/jira/browse/CLK-290">290</a>].
<p/>
Click Framework now supports
<a href="http://developer.yahoo.com/performance/rules.html">Exceptional Performance</a>
best practices for speeding up your web site.
This filter combined with framework changes enable Click applications to get
an Grade A rating with Yahoo's YSlow.
</li>
<li class="change">
Added <a href="user-guide/html/ch02s09.html">Stateful Pages</a> topic and
completed framework support for serializing stateful Pages and their controls.
</li>
<li class="change">
Added new AJAX <a href="extras-api/org/apache/click/extras/control/AutoCompleteTextField.html">AutoCompleteTextField</a> which provides Google suggest style lookups.
</li>
<li class="change">
Added new Table CSS class styles: <tt>blue1, blue2, orange1, orange2</tt>
</li>
<li class="change">
Updated <tt>Form.copyFrom()</tt> to align with special Map handling of <tt>Form.copyTo()</tt>.
This issue was raised and fixed by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-278">278</a>].
</li>
<li class="change">
Updated Form submit check to handle multiple forms per page.
This issue was raised and fixed by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-279">279</a>].
</li>
<li class="change">
Updated Table to nullify rowList property.
This issue was raised and fixed by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-283">283</a>].
</li>
<li class="change">
Updated <tt>Controls</tt> to use the new API
<a href="click-api/org/apache/click/control/AbstractControl.html#addStyleClass(java.lang.String)">addStyleClass(String)</a> and
<a href="click-api/org/apache/click/control/AbstractControl.html#setStyle(java.lang.String, java.lang.String)">setStyle(String, String)</a>
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-286">286</a>].
</li>
<li class="change">
Updated JS addLoadEvent() to use Prototype Fixed exception when using <tt>Form.onSecurtyCheck</tt> in a stateful form.
This issue was raised by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-245">245</a>].
</li>
<li class="change">
Fixed Table <tt>isi</tt> style rendering problems. This issue was raised by J.F. Zarama
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-196">196</a>].
</li>
<li class="change">
Fixed DateField JavaScript format pattern bug.
This issue was raised by Itou Akihiro and fixed by Itou Akihiro and Naoki Takezoe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-250">250</a>].
</li>
<li class="change">
Fixed exception when using <tt>Form.onSecurityCheck</tt> in a stateful form.
This issue was raised by Joel Schmidt
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-267">267</a>].
</li>
<li class="change">
Fixed PickList multiple selection bug.
This issue was raised by Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-280">280</a>].
</li>
<li class="change">
Fixed Context leak under heavy usage.
This issue was raised and fixed by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-282">282</a>].
</li>
<li class="change">
Fixed Page automapping bug.
This issue was raised by Sep and Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-277">277</a>,
<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-294">294</a>].
</li>
<li class="change">
Fixed Linux ResourceBundle classloading bug.
This issue was raised by Victor
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-293">293</a>].
</li>
<li class="change">
Fixed Tree encodeURL bug.
This issue was identified by Thomas Bernhard
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-301">301</a>].
</li>
<li class="change">
Fixed Table memory allocation bug for large paged rowLists.
This issue was identified by Naoki Takezoe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-305">305</a>].
</li>
<li class="change">
Updated Cayenne library to version 2.0.4, which fixes a memory leak in
version 2.03. This issue was raised by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-281">281</a>].
</li>
<li class="change">
Updated the JavaScript Prototype library to version 1.5.0 and 'script.aculo.us' to version 1.7.0.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 1.4 RC2 - 2 January 2008</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added property files with translation for the Czech language.
This issue was raised and fixed by David Marko
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-238">242</a>].
</li>
<li class="change">
Added facility to load <tt>click.xml</tt> from class path if not found
user <tt>WEB-INF</tt>.
This issue was raised and fixed by Andre Bremer
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-273">273</a>].
</li>
<li class="change">
Added Calendar property and JS files with translation for the Dutch language.
This issue was raised and fixed by Harry Wissiak
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-275">275</a>].
</li>
<li class="change">
Added Table property <tt>clearRowListOnDestroy</tt>.
This issue was raised by Joel Schmidt
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-268">268</a>].
</li>
<li class="change">
Updated ExternalLink control renaming method <tt>setPageClass</tt> to <tt>setTargetPath</tt>.
This issue was raised by Itou Akihiro
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-244">244</a>].
</li>
<li class="change">
Updated FieldSet to support rendering without a Legend.
This issue was raised by Joel Schmidt
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-257">257</a>].
</li>
<li class="change">
Updated MessageMap to improve cache key.
This issue was raised and fixed by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-274">274</a>].
</li>
<li class="change">
Fixed bug where double "class" attributes are rendered in HTML for Field
controls if validation is failed.
This issue was raised Shuo Geng and fixed by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-233">233</a>].
</li>
<li class="change">
Fixed translation errors for French properties.
This issue was raised and fixed by Patrick Talbot
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-238">238</a>].
</li>
<li class="change">
Fixed ClickUtils <tt>copyFormToObject()</tt> method <tt>Map</tt> support.
This issue was raised by Harry Wissiak and fixed by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-239">239</a>].
</li>
<li class="change">
Fixed JSP page recursion bug when not border template defined.
This issue was raised and fixed by Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-237">237</a>].
</li>
<li class="change">
Fixed DataContextFilter always creating HttpSession bug.
This issue was raised by Florin T.PATRASCU
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-240">240</a>].
</li>
<li class="change">
Fixed ClickApp NPE bug on OC4J application server.
This issue was raised by Harry Wissiak
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-248">248</a>].
</li>
<li class="change">
Fixed Context handling of multivalue parameters on multipart file upload requests.
This issue was raised by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-252">252</a>].
</li>
<li class="change">
Fixed classloader issue when click JARS not contained in web application.
This issue was raised by Harry Wissiak
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-256">256</a>].
</li>
<li class="change">
Fixed missing language properties.
This issue was raised by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-269">269</a>,
<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-271">271</a>].
</li>
<li class="change">
Fixed FormTable missing field imports bug.
This issue was raised by François-Xavier Guillemette
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-272">CLK-272</a>].
</li>
<li class="change">
Fixed ClickUtils <tt>getMimeType()</tt> not supporting upper case file extensions.
This issue was raised by Ben Warner
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-276">CLK-276</a>].
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 1.4 RC1 - 15 September 2007</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Important Change
the Page <a href="click-api/org/apache/click/Page.html#stateful">stateful</a> property
added to support persistence.
</li>
<li class="change">
Important Change
the <a href="click-api/org/apache/click/Context.html">Context</a> object
is now available in Page and Control constructors.
</li>
<li class="change">
Important Change
added Control <a href="click-api/org/apache/click/Control.html#onInit()">onInit()</a>
initialization event handler.
As the <tt>setContext()</tt> method has been
removed any control initialization code contained in this method should be
migrated to the new control <tt>onInit()</tt> method.
</li>
<li class="change">
Important Change
the XML configured root Menu item is obtained via the static method
<a href="extras-api/org/apache/click/extras/control/Menu.html#getRootMenu()">getRootMenu()</a>.
</li>
<li class="change">
Important Change
multipart file upload requests are now processed using a globally configured Commons FileUpload
class. Please see the
<a href="click-api/org/apache/click/service/CommonsFileUploadService.html">CommonsFileUploadService</a>
for more details. This change enables for request parameter auto binding
on multipart file upload requests.
</li>
<li class="change">
Important Change
Click Extras now supports Apache Cayenne 2.x rather than Objectstyle Cayenne 1.2.x
by default. Note backward compatibility Cayenne 1.2.x JARS are provide in the dist directory.
</li>
<li class="change">
Added Control <a href="click-api/org/apache/click/Control.html#onRender()">onRender()</a>
render event handler. This method is useful for Panel controls populating tables.
</li>
<li class="change">
Added Control <a href="click-api/org/apache/click/Control.html#onDestroy()">onDestroy()</a>
destroy event handler. This method is useful for controls to free resources, when the controls
are contained in stateful pages.
</li>
<li class="change">
Added <a href="extras-api/org/apache/click/extras/control/ExternalLink.html">ExternalLink</a> control.
</li>
<li class="change">
Added AbstractControl <a href="click-api/org/apache/click/control/AbstractControl.html#getPage()">getPage()</a> method.
</li>
<li class="change">
Added Context <a href="click-api/org/apache/click/Context.html#getRequestParameterValues()">getRequestParameterValues()</a> method.
</li>
<li class="change">
Added Context <a href="click-api/org/apache/click/Context.html#isGet()">isGet()</a> method.
</li>
<li class="change">
Added Field <a href="click-api/org/apache/click/control/Field.html#help">help</a> property
to render help text to the right hand side of fields.
</li>
<li class="change">
Added Menu <a href="extras-api/org/apache/click/extras/control/Menu.html#imageSrc">imageSrc</a> property
to support for rendering img icons in menus.
</li>
<li class="change">
Renamed Context method <tt>getRequestParameters</tt> to
<a href="click-api/org/apache/click/Control.html#getRequestParameterMap()">getRequestParameterMap</a>.
</li>
<li class="change">
Update localization click-control_pt_BR.properties provided by Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-221">221</a>].
</li>
<li class="change">
Updated Select, CheckList and PickList controls to use standard
<tt>getSelectedValues()</tt> method. This issue was raised by Christophe FOIRET
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-221">226</a>].
</li>
<li class="change">
Removed Page and Control <tt>setContext()</tt> methods.
</li>
<li class="change">
Removed FileField <tt>fileUpload</tt> property.
</li>
<li class="change">
Fixed Page control autobinding bug.
This issue was raised Christophe FOIRET
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-195">195</a>, <a target='_blank' href="https://issues.apache.org/jira/browse/CLK-195">212</a>].
</li>
<li class="change">
Fixed ClickApp not picking up new Page classes dynamically.
This issue was raised and fixed by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-222">222</a>].
</li>
<li class="change">
Fixed Form isFormSubmission() method fails when called twice with multi-part request bug
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-224">224</a>].
</li>
<li class="change">
Fixed macro.vm is only available if war is unpacked bug. This issue was
raised by Andrus Adamchik and fixed by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-230">230</a>].
</li>
<li class="change">
Fixed OGNL Double to BigDecimal type conversion bug. This issue was raised
by Ben Warner [<a target='_blank' href="http://jira.opensymphony.com/browse/OGNL-122">OGNL-122</a>].
</li>
<li class="change">
Updated Cayenne library to version 2.0.3.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 1.3.1 - 11 June 2007</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Updated <a href="extras-api/org/apache/click/extras/cayenne/CayenneForm.html">CayenneForm</a>
to handle non integer primary key values. This issue was raised by Tore Halset
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-211">211</a>].
</li>
<li class="change">
Fixed RadioGroup is still active when set it to disabled bug.
This issue was raised by Christophe FOIRET
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-218">218</a>].
</li>
<li class="change">
Fixed Form file upload character encoding NPE. This issue was raised by David Rosenstark
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-220">220</a>].
</li>
<li class="change">
Updated Commons FileUpload library to version 1.2. Fixes bug where file
names are being converted into lowercase.
</li>
<li class="change">
Updated Commons IO library to version 1.3.
</li>
<li class="change">
Updated Cayenne library to version 1.2.3.
</li>
<li class="change">
Updated Spring library to version 1.2.9.
</li>
</ul>
</dd>
<p/>
<dt>Version 1.3 - 5 June 2007</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Important Change
the <a href="user-guide/html/ch02s02.html#activity-diagram">Pages</a> event execution order
has changed with the <tt>onSecurityCheck()</tt> method now invoked before
the <tt>onInit()</tt> method. The benefit of this is that the <tt>onInit()</tt>
is only invoked if the request has passed the <tt>onSecurityCheck()</tt>.
</li>
<li class="change">
Added
<a href="extras-api/org/apache/click/extras/control/PickList.html">PickList</a> control.
This control was created by Naoki Takezoe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-194">194</a>].
</li>
<li class="change">
Added <a href="extras-api/org/apache/click/extras/tree/Tree.html">Tree</a> control client side javascript functionality.
This was provided by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-186">186</a>].
</li>
<li class="change">
Added <a href="user-guide/html/ch04s02.html#application-autobinding">autobinding</a> configuration option.
This issue was raised by Ahmed Mohombe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-199">199</a>].
</li>
<li class="change">
Added <tt>tabindex</tt> support to
<a href="click-api/org/apache/click/control/AbstractLink.html">AbstractLink</a> and
<a href="click-api/org/apache/click/control/Field.html">Field</a> controls.
</li>
<li class="change">
Added Form
<a href="click-api/org/apache/click/control/Form.html#defaultFieldSize">defaultFieldSize</a> property.
</li>
<li class="change">
Improved <tt>trace</tt> level logging to detail <a href="click-api/org/apache/click/Page.html">Page</a> event execution order.
</li>
<li class="change">
Improved <a href="extras-api/org/apache/click/extras/control/EmailField.html">EmailField</a> validation.
</li>
<li class="change">
Changed default <a href="click-api/org/apache/click/control/Form.html">Form</a> errorPosition from <tt>"middle"</tt> to <tt>"top"</tt>.
</li>
<li class="change">
Fixed <a href="extras-api/org/apache/click/extras/cayenne/CayenneForm.html">CayenneForm</a>
handling of new objects bug. This issue was raised by Andrus Adamchik
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-73">73</a>].
</li>
<li class="change">
Fixed <a href="click-api/org/apache/click/control/FileField.html">FileField</a>
configurations not be applied in certain scenarios.
This issue was raised and fixed by Sadanori Ito
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-179">179</a>].
</li>
<li class="change">
Fixed Page with two <a href="click-api/org/apache/click/control/Table.html">Table</a>
controls produces unneeded css style text bug.
This issue was raised by J.F. Zarama
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-197">197</a>].
</li>
<li class="change">
Fixed <a href="extras-api/org/apache/click/extras/control/LinkDecorator.html">LinkDecorator</a> table sorting support.
This issue was raised by Louis Martin and fixed by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-207">207</a>].
</li>
<li class="change">
Fixed <a href="click-api/org/apache/click/control/Table.html">Table</a> column sorting bug.
This issue was raised by Louis Martin and fixed by Naoki Takezoe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-208">208</a>].
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 1.2 - 22nd March 2007</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:0.5em;"> New developer
<a target="blank" href="http://sourceforge.net/users/sabob/">Bob Schellink</a>
joins the Click project.</div>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added controls
<a href="extras-api/org/apache/click/extras/tree/Tree.html">Tree</a> and
<a href="extras-api/org/apache/click/extras/tree/CheckboxTree.html">CheckboxTree</a>.
These controls were created by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-160">160</a>].
</li>
<li class="change">
Added controls JSBarChart, JSLineChart and JSPieChart.
These controls were created by Ahmed Mohombe.
<span class="red">Update:</span> these controls were moved to the
<a class="external" target="_blank" href="http://code.google.com/p/click-charts/">Click Charts</a>
project.
</li>
<li class="change">
Added Field convenience methods for setting style, text-align and width HTML attributes.
</li>
<li class="change">
Added support for multiple ActionButton parameters, see
<a href="click-api/org/apache/click/control/ActionButton.html#setParameter(java.lang.String, java.lang.String)">setParameter()</a>
for details.
</li>
<li class="change">
Added AbstractLink
<a href="click-api/org/apache/click/control/AbstractLink.html#imageSrc">imageSrc</a>
property for rendering img icons inside links.
</li>
<li class="change">
Added class hierarchy messages inheritance to <a href="click-api/org/apache/click/util/MessagesMap.html">MessagesMap</a>.
This issue was raised by Andrus Adamchik
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-74">74</a>].
</li>
<li class="change">
Added ActionButton support to <a href="extras-api/org/apache/click/extras/control/LinkDecorator.html">LinkDecorator</a>.
This issue was raised by Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-135">135</a>].
</li>
<li class="change">
Added ordering support to <a href="extras-api/org/apache/click/extras/cayenne/PropertySelect.html">PropertySelect</a>.
This issue was raised by David Frizelle
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-154">154</a>].
</li>
<li class="change">
Added FieldSet <a href="click-api/org/apache/click/control/FieldSet.html#columns">columns</a> property.
This issue was raised by Lorenzo Orselli
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-158">158</a>].
</li>
<li class="change">
Added optional property to <a href="extras-api/org/apache/click/extras/cayenne/QuerySelect.html#optional">QuerySelect</a> and
<a href="extras-api/org/apache/click/extras/cayenne/PropertySelect.html#optional">PropertySelect</a> controls.
This issue was raised by Lorenzo Orselli
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-156">156</a>].
</li>
<li class="change">
Added support for NamedQuery objects in
<a href="extras-api/org/apache/click/extras/cayenne/PropertySelect.html#namedQuery">PropertySelect</a>.
This issue was raised by David Frizelle
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-166">166</a>].
</li>
<li class="change">
Added Italian and French ColorPicker and TelephoneField properties provided by Lorenzo Orselli
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-171">171</a>].
</li>
<li class="change">
Added Chinese localization properties provided by Larry Li
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-177">177</a>].
</li>
<li class="change">
Added <a href="click-api/org/apache/click/util/ClickUtils.html">ClickUtils</a>
cookie handling methods, and convenience methods in the Context class.
These methods were derived from the Atlassian
<a target="blank" class="external" href="http://opensource.atlassian.com/seraph/apidocs/com/atlassian/seraph/util/CookieUtils.html">CookieUtils</a>
class.
</li>
<li class="change">
Added <a href="extras-api/org/apache/click/extras/control/Menu.html">Menu</a> properties
external and target, and changed <tt>toString()</tt> method to render an HTML anchor tag.
These changes simplify menu Velocity macros.
Please note the <tt>isUserInRoles()</tt> method now returns false if there are no roles
defined for the menu item.
</li>
<li class="change">
Added <a href="extras-api/org/apache/click/extras/cayenne/DataContextFilter.html">DataContextFilter</a> support for
session or request scope DataContext objects, and controlling the use of the Cayenne shared cache.
</li>
<li class="change">
Added Cayenne DAO/Service base class <a href="extras-api/org/apache/click/extras/cayenne/CayenneTemplate.html">CayenneTemplate</a>
to Click Extras.
</li>
<li class="change">
Added automapping support for /click/error.htm pages.
</li>
<li class="change">
Added ClickServlet <a href="click-api/org/apache/click/ClickServlet.html#createClickLogger()">createClickLogger()</a>
method to support customizing Click runtime engine logging. This issue was raised by Bob Schellink.
</li>
<li class="change">
Added Column <a href="click-api/org/apache/click/control/Column.html#titleProperty">titleProperty</a>
attribute to support rendering &lt;td&gt; title attributes. This issue was raised by David Frizelle.
</li>
<li class="change">
Added <a href="click-ide.html">ClickIDE</a> documentation.
</li>
<li class="change">
Added Page <a href="user-guide/html/ch02s03.html#request-param-auto-binding">Request Param Auto Binding</a> documentation topic.
</li>
<li class="change">
Added Best Practices <a href="user-guide/html/ch05s02.html#packages-classes">Packages and Classes</a> documentation topic.
</li>
<li class="change">
Improved usability of Field labels, providing field label focus support.
This issue was raise and fixed by Sadanori Ito
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-159">159</a>].
</li>
<li class="change">
Improved <a href="click-api/org/apache/click/control/ImageSubmit.html#src">ImageSubmit</a>
src rendering by prefixing context path
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-165">165</a>].
</li>
<li class="change">
Improved <a href="click-api/org/apache/click/control/Column.html#getHeaderTitle()">Column</a>
i18n support for header titles. This issue was raised by Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-176">176</a>].
</li>
<li class="change">
Improved Form
<a href="click-api/org/apache/click/control/Form.html#endTag()">endTag()</a>
rendering to include JavaScript focus and validation code.
</li>
<li class="change">
Improved Table column sorting.
</li>
<li class="change">
Improved error reporting for IllegalArgumentExceptions.
</li>
<li class="change">
Improved AbstractLink rendering of disabled links, now render as a span element.
</li>
<li class="change">
Refactored DoubleField, IntegerField and LongField to subclass
<a href="extras-api/org/apache/click/extras/control/NumberField.html">NumberField</a>.
This issue was raised by Ahmed Mohombe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-120">120</a>].
</li>
<li class="change">
Removed support for logging to Servlet log.
</li>
<li class="change">
Fixed ActionLink setValueObject() not setting null values.
This issue was raised by David Frizelle
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-150">150</a>].
</li>
<li class="change">
Fixed multiple Form support in pages with an file upload form
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-152">152</a>].
</li>
<li class="change">
Fixed readonly support in <a href="click-api/org/apache/click/control/Checkbox.html">Checkbox</a>,
<a href="click-api/org/apache/click/control/Radio.html">Radio</a> and
<a href="click-api/org/apache/click/control/Select.html">Select</a> controls.
These issues were raised by Lorenzo Orselli and David Frizelle
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-155">155</a>,
<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-164">164</a>].
</li>
<li class="change">
Fixed error position support in <a href="extras-api/org/apache/click/extras/control/TabbedForm.html">TabbedForm</a> control.
This issue was raised by Lorenzo Orselli
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-157">157</a>].
</li>
<li class="change">
Fixed differences of Java/JavaScript error message.
This issue was raised and fixed by Sadanori Ito
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-161">161</a>].
</li>
<li class="change">
Fixed first day of week bug in <a href="extras-api/org/apache/click/extras/control/DateField.html">DateField</a> control.
This issue was raised and fixed by Sadanori Ito
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-170">170</a>].
</li>
<li class="change">
Fixed Form
<a href="click-api/org/apache/click/control/Form.html#copyTo(java.lang.Object)">copyTo</a>
Map support. This issue was raised by Louis Martin
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-172">172</a>].
</li>
<li class="change">
Fixed FileField JavaScript validation bug. This issue was raised and fixed
by Sadanori Ito
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-178">178</a>].
</li>
<li class="change">
Fixed PropertySelect applies ordering twice bug. This issue was raised by Larry Bunton
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-183">183</a>].
</li>
<li class="change">
Fixed wrong form HTML generation. This issue was raised by Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-189">189</a>].
</li>
<li class="change">
Update Velocity library to version 1.5-beta2.
</li>
<li class="change">
Updated Cayenne library to version 1.2.2.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 1.1 - 22 November 2006</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:0.5em;"> New developer
<a target="blank" href="http://sourceforge.net/users/shaberman/">Stephen Haberman</a>
joins the Click project.</div>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added Form field width grid layout rendering option. See the Form
<a href="click-api/org/apache/click/control/Form.html#add(org.apache.click.control.Field, int)">add(field, width)</a> method.
</li>
<li class="change">
Added Table Column sorting support. See the Column
<a href="click-api/org/apache/click/control/Column.html#sortable">sortable</a> property.
</li>
<li class="change">
Added Column convenience methods for setting width, text-align,
vertical-align attributes, and setting data and header styles.
</li>
<li class="change">
Added auto binding of request values to public Page fields. See the ClickServlet method
<a href="click-api/org/apache/click/ClickServlet.html#processPageRequestParams(org.apache.click.Page, javax.servlet.http.HttpServletRequest)">processPageRequestParams()</a>
for details. This addition was raised by Stephen Haberman.
</li>
<li class="change">
Added Form
<a href="click-api/org/apache/click/control/Form.html#clearValues()">clearValues()</a>
method.
</li>
<li class="change">
Added ClickUtils
<a href="click-api/org/apache/click/util/ClickUtils.html#getMimeType(java.lang.String)">getMimeType()</a>
method.
</li>
<li class="change">
Added support for overriding Click Application mode by defining a System property <tt>click.mode</tt>.
For example: <tt>-Dclick.mode=trace</tt>
</li>
<li class="change">
Improved Table paging across very large lists.
</li>
<li class="change">
Improved Table rendering performance.
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-136">136</a>].
</li>
<li class="change">
Improved OGNL form binding performance.
</li>
<li class="change">
Improved Click configuration defaults:
<ul style="margin-top:0.5em;">
<li class="change">page automapping is enabled by default</li>
<li class="change">global no cache headers are used if no headers defined</li>
</ul>
</li>
<li class="change">
Updated ClickServlet to use response Writer to support the
<a href="http://messadmin.sourceforge.net/">MessAdmin</a> session monitoring tool.
This issue was identified by Sven Herschel and a patch was provided by
Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-146">146</a>].
</li>
<li class="change">
Fixed NPE in PropertySelect when label is null. This issue was raised by David Frizelle
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-132">132</a>].
</li>
<li class="change">
Fixed OgnlException in Column when evaluating null property paths.
This issue was raised by David Frizelle
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-133">133</a>].
</li>
<li class="change">
Fixed Ognl Null property evaluation bug when handling Date properties.
This issue was raised by David Frizelle
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-137">137</a>].
</li>
<li class="change">
Fixed JSP page automapping bug. This issue was identified and fixed by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-142">142</a>].
</li>
<li class="change">
Fixed HibernateForm not working for CGLib proxies. This issue was identified
and fixed by Caroline Briffa
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-144">144</a>].
</li>
<li class="change">
Fixed CayenneForm bug where FOID was not being updated for recently committed DataObject.
This issue was raised by David Frizelle
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-145">145</a>].
</li>
<li class="change">
Added dependency on Dough Lea's Concurrent Utilities library version 1.3.4.
</li>
<li class="change">
Update Velocity 1.5-dev library to SVN revision 467179.
</li>
<li class="change">
Updated OGNL library to version 2.6.9.
</li>
<li class="change">
Updated documentation and examples. Click Quickstart has also been added
as an example application.
</li>
</ul>
</dd>
<p/>
<dt>Version 1.0 - 3rd October 2006</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added <a target='_blank' href="click-cheat-sheet.pdf">Cheat Sheet</a> guide.
This feature was raised by Ahmed Mohombe and Ricardo Lecheta.
</li>
<li class="change">
Added Column <a href="click-api/org/apache/click/control/Column.html#maxLength">maxLength</a> property
to limit the number characters displayed.
</li>
<li class="change">
Fixed NPE in Table ActionLink pagination. This issue was raised by Ricardo Lecheta
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-124">124</a>].
</li>
<li class="change">
Fixed custom ErrorPage not resolving. This issue was raised by Glen Stampoultzis
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-126">126</a>].
</li>
<li class="change">
Fixed NumberFormatException in LinkDecorator
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-127">127</a>].
</li>
<li class="change">
Fixed NumberFormatException when using Form.onSubmitCheck() with a FileField.
This issue was identified by Satoshi Takata
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-127">128</a>].
</li>
<li class="change">
Fixed CayenneForm bug with required property set on Checkbox.
This issue was identified by David Frizelle
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-129">129</a>].
</li>
<li class="change">
Fixed PropertySelect bug where first item displays twice under certain conditions.
This issue was identified by David Frizelle
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-130">130</a>].
</li>
<li class="change">
Updated and verified Click Framework and Extras codebase against <a target='_blank' href="http://findbugs.sourceforge.net/index.html">FindBugs</a>.
</li>
<li class="change">
Updated Cayenne library to version 1.2.1.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 1.0 RC2 - 6th September 2006</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added <a href="click-api/org/apache/click/util/FlashAttribute.html">FlashAttribute</a>
class providing flash scope session attributes. Once a flash attribute
has been accessed from the session it is removed.
</li>
<li class="change">
Added <a href="extras-api/org/apache/click/extras/control/LinkDecorator.html">LinkDecorator</a>
class for rendering action links in column tables. This class was inspired
by Richardo Lecheta's <tt>ViewDecorator</tt> pattern.
</li>
<li class="change">
Added paging support to
<a href="extras-api/org/apache/click/extras/control/FormTable.html">FormTable</a>
control.
</li>
<li class="change">
Added <a href="click-api/org/apache/click/control/Form.html">Form</a>
startTag() and endTag() methods to support laying out forms manually.
</li>
<li class="change">
Added Form
<a href="click-api/org/apache/click/control/Form.html#clearErrors()">clearErrors()</a>
method.
</li>
<li class="change">
Added Page templating support for JSP pages. This issue was raise by Huy Do.
</li>
<li class="change">
Added Taiwan properties file provided by Huang.
</li>
<li class="change">
Added new Click Logo provided by Ahmed Mohombe.
</li>
<li class="change">
Improved Form client side JavaScript validation provided by Naoki Takezoe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-115">115</a>].
</li>
<li class="change">
Updated <a href="click-api/org/apache/click/control/Column.html">Column</a>
class to escape HTML characters by default. This issue was raised by
Glen Stampoultzis
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-118">118</a>].
</li>
<li class="change">
Updated
<a href="click-api/org/apache/click/util/HtmlStringBuffer.html">HtmlStringBuffer</a>
to improve HTML character escaping performance, removing Apache Commons Lang's use.
</li>
<li class="change">
Updated <a target="blank" href="http://fisheye3.cenqua.com/browse/click/">FishEye</a> project view
provided by <a target="blank" href="http://www.cenqua.com">Cenqua</a>.
</li>
<li class="change">
Updated Cayenne library to version 1.2.
</li>
<li class="change">
Updated Hibernate library to version 3.1.3.
</li>
<li class="change">
Fixed <a href="extras-api/org/apache/click/extras/filter/CompressionFilter.html">CompressionFilter</a>
to compress response by default and to automatically set any configured Click charset.
These issues were raised by Ricardo Lecheta and Naoki Takezoe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-119">119</a>].
</li>
<li class="change">
Fixed NPE in DateField when setting value to null. This issue was raised by Geoff Hopson
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-121">121</a>].
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 1.0 RC1 - 31th July 2006</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added
<a href="extras-api/org/apache/click/extras/control/FormTable.html">FormTable</a>
data grid control and associated
<a href="extras-api/org/apache/click/extras/control/FieldColumn.html">FieldColumn</a>
class.
</li>
<li class="change">
Added
<a href="extras-api/org/apache/click/extras/control/PageSubmit.html">PageSubmit</a>
control for redirecting to target pages.
</li>
<li class="change">
Added Page
<a href="click-api/org/apache/click/Page.html#setForward(java.lang.Class)">setForward(Class)</a> method.
</li>
<li class="change">
Added
<a href="quick-start.html">Quick Start</a> topic to Click documentation.
</li>
<li class="change">
Modified Form
<a href="click-api/org/apache/click/control/Form.html#isFormSubmission()">isFormSubmission()</a>
method to only return true if the submission is from this form.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.21 - 19th July 2006</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:0.5em;">
Final new features release for Click 1.0.</div>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added Page
<a href="click-api/org/apache/click/Page.html#onRender()">onRender()</a>
method. This addition was raised by Stephen Haberman
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-105">105</a>].
</li>
<li class="change">
Auto add public Page fields to the model.
See the ClickServlet methods
<a href="click-api/org/apache/click/ClickServlet.html#initPage(java.lang.String, java.lang.Class, javax.servlet.http.HttpServletRequest)">initPage()</a>
and
<a href="click-api/org/apache/click/ClickServlet.html#createVelocityContext(org.apache.click.Page)">createVelocityContext()</a>
for details. This addition was raised by Stephen Haberman
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-109">109</a>,
<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-112">112</a>].
</li>
<li class="change">
Refactored panel package with BasicPanel renamed
<a href="click-api/org/apache/click/control/Panel.html">Panel</a> and moved
into the core control package, and removing the Panel interface.
The
<a href="extras-api/org/apache/click/extras/panel/ListPanel.html">ListPanel</a>
and
<a href="extras-api/org/apache/click/extras/panel/TabbedPanel.html">TabbedPanel</a>
classes have been revised to take advantage of the new Panel capabilities.
<p/>
Panels are now rendered as <tt>$panel</tt> rather than <tt>#parse($panel)</tt>
<p/>
Panels can now define Velocity templates on the classpath as well as the web file system.
</li>
<li class="change">
Added
<a href="click-api/org/apache/click/control/PageLink.html">PageLink</a>
control. This addition was raised by Stephen Haberman
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-106">106</a>].
</li>
<li class="change">
Added OGNL support for rendering <a href="click-api/org/apache/click/control/Column.html">Column</a>
values.
</li>
<li class="change">
Added support for multiple ActionLink parameters, see
<a href="click-api/org/apache/click/control/AbstractLink.html#setParameter(java.lang.String, java.lang.String)">setParameter()</a>
for details.
</li>
<li class="change">
Added Menu
<a href="extras-api/org/apache/click/extras/control/Menu.html#isUserInRoles()">isUserInRoles()</a>
method.
</li>
<li class="change">
Added
<a href="user-guide/html/ch05.html">Best Practices</a> topic to Click
documentation.
</li>
<li class="change">
Fixed Tomcat deployment issue where Tomcat ClassLoader was locking Click
JARs preventing application redeployment. Due locking on URL streams,
the deployment technique has reverted back to using uniquely named files (pre 0.19).
This issue was raised by Doychi
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-82">82</a>].
</li>
<li class="change">
Fixed MessagesMap cache permissions issue. This issue was identified by David Felis
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-99">99</a>].
</li>
<li class="change">
Fixed Field setFocus() bug. This issue was identified by David Felis
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-102">102</a>].
</li>
<li class="change">
Fixed Context session Locale bug. This issue was identified by Steven Van Hoof
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-107">107</a>].
</li>
<li class="change">
Fixed Select validation bug when no options are defined. This issue was identified by David Frizelle
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-110">110</a>].
</li>
<li class="change">
Fixed DoubleField validation bug with "0" value. This issue was identified by David Frizelle
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-111">111</a>].
</li>
<li class="change">
Moved ActionButton control from Click Extras to core controls package.
</li>
<li class="change">
Removed depreciated Context sessionObject methods.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.20 - 7th June 2006</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added client side JavaScript
<a href="click-api/org/apache/click/control/Form.html#form-validation">Form Validation</a>
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-16">16</a>].
</li>
<li class="change">
Added new Click extras controls
<a href="extras-api/org/apache/click/extras/control/CheckList.html">CheckList</a> and
<a href="extras-api/org/apache/click/extras/control/ColorPicker.html">ColorPicker</a>.
These controls were added by Christian Essel
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-81">81</a>].
</li>
<li clas="change">
Added support for a global page message bundle, see Page
<a href="click-api/org/apache/click/Page.html#getMessage(java.lang.String)">getMessage()</a>
for details. This issue raised by Claudio Rossetto
[<a href="https://issues.apache.org/jira/browse/CLK-72">72</a>].
<li class="change">
Added <a href="click-api/org/apache/click/Control.html">Control</a>
<tt>parent</tt> property
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-88">88</a>].
</li>
<li class="change">
Added support table Column support for <tt>java.util.Map</tt> row objects.
This issue raised by J.F. Zarama
[<a href="https://issues.apache.org/jira/browse/CLK-91">91</a>].
</li>
<li class="change">
Added option to place Table banner on top.
See Table
<a href="click-api/org/apache/click/control/Table.html#bannerPosition">bannerPosition</a>
Javadoc for details. This issue raised by J.F. Zarama
[<a href="https://issues.apache.org/jira/browse/CLK-92">92</a>].
</li>
<li class="change">
Add configurable application Locale. See
<a href="user-guide/html/ch04s02.html#click-app">Click App</a> for
details [<a href="https://issues.apache.org/jira/browse/CLK-96">96</a>].
</li>
<li class="change">
Added support for 'Page' suffix when automapping path -> classname.
See <a href="user-guide/html/ch04s02.html#application-automapping">automapping</a>
topic for details. This issue raised by Stephen Haberman.
</li>
<li class="change">
Added Page <a href="click-api/org/apache/click/Page.html#setRedirect(java.lang.Class)">setRedirect(pageClass)</a>
method.
</li>
<li class="change">
Added Format <a href="click-api/org/apache/click/util/Format.html#currentDate()">currentDate()</a>
methods.
</li>
<li class="change">
Added request parameter to ClickServlet
<a href="click-api/org/apache/click/ClickServlet.html#newPageInstance(java.lang.String, java.lang.Class, javax.servlet.http.HttpServletRequest)">newPageInstance()</a>
method.
</li>
<li class="change">
Added Brazilian properties files provided by
Ricardo Lecheta [<a href="https://issues.apache.org/jira/browse/CLK-86">86</a>].
</li>
<li class="change">
Added <a target="blank" class="external" href="http://cayenne.apache.org/">Cayenne</a>
integration example to Examples.
</li>
<li class="change">
Added <a target="blank" class="external" href="http://www.springsource.org/">Spring</a>
integration example to Examples and improved
<a href="extras-api/org/apache/click/extras/spring/SpringClickServlet.html">SpringClickServlet</a>
documentation.
</li>
<li class="change">
Improved Velocity rendering performance. This issue was identified and
fixed by Stephen Haberman
[<a target='_blank' href='http://issues.apache.org/jira/browse/VELOCITY-438'>VELOCITY-438</a>].
</li>
<li class="change">
Improved
<a href="click-api/org/apache/click/util/HtmlStringBuffer.html">HtmlStringBuffer</a>
performance with unsynchronized append methods.
</li>
<li class="change">
Improved CSS link rendering to enable alternate style sheets. This
issue was raised by Enrico Donelli
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-81">81</a>].
</li>
<li class="change">
Fixed <tt>UnsupportedEncodingException</tt> in ClickUtils.encodeUrl() when
application charset is undefined
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-87">87</a>].
</li>
<li class="change">
Fixed file deployment issue on servers with restricted permissions.
This issue was raised by David Felis
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-95">95</a>].
</li>
<li>
Removed Control <tt>parentMessages</tt> property which was effectively
replaced by new <tt>parent</tt> and <tt>messages</tt> properties.
</li>
<li class="change">
Removed Form support for Struts style error message rendering.
</li>
<li class="change">
Updated Velocity 1.5-dev JAR snapshot to revision 390735, with
patch VELOCITY-438 applied.
</li>
<li class="change">
Updated packaging: <tt>click-documentation.war</tt> replaced by
<tt>documentation</tt> directory and <tt>webapps/click-examples</tt>
moved to <tt>examples</tt> directory.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.19 - 8th April 2006</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:0.5em;"> New developer
<a target="blank" href="http://sourceforge.net/users/chrisichris/">Christian Essl</a>
joins the Click project.</div>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
New <a href="http://www.sunvolt.com/confluence/display/CLKT/ClickIDE">ClickIDE</a>
Eclipse WTP plug-in released by Naoki Takezoe.
</li>
<li class="change">
Added new Click Extras controls
<a href="click-api/org/apache/click/control/ActionButton.html">ActionButton</a>,
<a href="extras-api/org/apache/click/extras/control/LongField.html">LongField</a>,
<a href="extras-api/org/apache/click/extras/control/NumberField.html">NumberField</a>,
<a href="extras-api/org/apache/click/extras/control/TabbedForm.html">TabbedForm</a> and
<a href="extras-api/org/apache/click/extras/control/TelephoneField.html">TelephoneField</a>.
</li>
<li class="change">
Added new Click Extras Cayenne controls
<a href="extras-api/org/apache/click/extras/cayenne/PropertySelect.html">PropertySelect</a>,
<a href="extras-api/org/apache/click/extras/cayenne/QuerySelect.html">QuerySelect</a> and
<a href="extras-api/org/apache/click/extras/cayenne/TabbedCayenneForm.html">TabbedCayenneForm</a>.
Also added web
<a href="extras-api/org/apache/click/extras/cayenne/DataContextFilter.html">DataContextFilter</a>.
</li>
<li class="change">
Added Context page path lookup method
<a href="click-api/org/apache/click/Context.html#getPagePath(java.lang.Class)">getPagePath()</a>.
This feature was suggested by Christian Essl
[<a href="https://issues.apache.org/jira/browse/CLK-68">68</a>].
</li>
<li class="change">
Added support for
<a href="click-api/org/apache/click/control/Form.html#data-binding">data binding</a>
of nested objects in form fields using
<a target="blank" href="http://www.ognl.org">OGNL</a> library.
</li>
<li class="change">
Added Form buttonStyle, fieldStyle and labelStyle attributes to support
customised form
<a href="click-api/org/apache/click/control/Form.html#auto-layout">auto layouts</a>.
</li>
<li class="change">
Added support for Control Velocity templates using new Context
<a href="click-api/org/apache/click/Context.html#renderTemplate(java.lang.Class, java.util.Map)">renderTemplate()</a>
methods. See Click Examples 'Rich Text Area' and 'Tabbed Form' for
demonstrations.
</li>
<li class="change">
Added page automapping
<a href="user-guide/html/ch04s02.html#application-excludes">excludes</a>.
This issue was identified by Ahmed Mohombe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-52">52</a>].
</li>
<li class="change">
Added Table control mouseover row highlight.
This issue was identified by Ahmed Mohombe and resolved by Christian Essl
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-57">57</a>].
</li>
<li clas="change">
Added French and Italian properties files provided by
Lorenzo Orselli [<a href="https://issues.apache.org/jira/browse/CLK-65">65</a>,
<a href="https://issues.apache.org/jira/browse/CLK-66">66</a>].
</li>
<li class="change">
Improved
<a href="extras-api/org/apache/click/extras/spring/SpringClickServlet.html">SpringClickServlet</a>
configuration options and documentation.
</li>
<li class="change">
Improved <a href="click-api/org/apache/click/util/Format.html">Format</a>
class now uses request context Locale.
Please note this change requires modification to Format subclass
constructors.
This issue was raised by Christian Essl
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-79">79</a>].
</li>
<li class="change">
Updated Velocity library to latest 1.5-dev build.
</li>
<li class="change">
Updated Cayenne library to version 1.2B1.
</li>
<li class="change">
Fixed <a href="extras-api/org/apache/click/extras/cayenne/CayenneForm.html">CayenneForm</a>
duplicate insert bug. This issue was identified by
Bob Schellink [<a href="https://issues.apache.org/jira/browse/CLK-63">63</a>].
</li>
<li clas="change">
Fixed DateField internationalization bug. Issue identified by
Lorenzo Orselli and fix provided by Naoki Takezoe
[<a href="https://issues.apache.org/jira/browse/CLK-60">60</a>].
</li>
<li clas="change">
Fixed ClickUtils invokeListener on anonymous inner classes bug.
This issue identified and fixed by Christian Essl
[<a href="https://issues.apache.org/jira/browse/CLK-77">77</a>].
</li>
<li class="change">
Fixed ActionLink parameter encoding bug. This issue was identified by
Steven Van Hoof and fixed by Christian Essl
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-78">78</a>].
</li>
<li class="change">
Removed example <tt>click-blank</tt> and <tt>click-cayenne</tt> applications
from main distribution. These examples will be released as separate
packages under sourceforge.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.18 - 15th January 2006</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:0.5em;"> New developer
<a target="blank" href="http://sourceforge.net/users/takezoe/">Naoki Takezoe</a>
joins the Click project.</div>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Created new package
<a href="extras-api/org/apache/click/extras/control/package-summary.html">org.apache.click.extras.control</a>
for extended HTML controls. The following controls have been moved
into this package: CreditCardField, DateField, DoubleField, EmailField,
IntegerField and Menu.
<p/>
Table control promoted to core <a href="click-api/org/apache/click/control/package-summary.html">org.apache.click.control</a>.
<p/>
Added Control methods
<a href="click-api/org/apache/click/Control.html#getHtmlImports()">getHtmlImports()</a> and
<a href="click-api/org/apache/click/Control.html#onDeploy(javax.servlet.ServletContext)">onDeploy()</a>.
</li>
<li class="change">
Added
<a href="click-api/org/apache/click/util/PageImports.html">PageImports</a>
object to automatically render control HTML header imports.
</li>
<li class="change">
Added form back button support. See Form
<a href="click-api/org/apache/click/control/Form.html#onSubmitCheck(org.apache.click.Page, java.lang.String)">onSubmitCheck()</a>
API for details.
</li>
<li class="change">
Added full JSP Click Page integration
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-24">24</a>].
</li>
<li class="change">
Added
<a href="extras-api/org/apache/click/extras/control/RegexField.html">RegexField</a>
provided by Naoki Takezoe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-46">46</a>].
</li>
<li class="change">
Added
<a href="extras-api/org/apache/click/extras/cayenne/PropertySelect.html">PropertySelect</a>
provided by Ahmed Mohombe. Please see Click Cayenne web application for
a demonstration.
</li>
<li class="change">
Added Japanese message resources provided by Naoki Takezoe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-44">44</a>].
</li>
<li class="change">
Added German message resources provided by Christian Essl
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-55">55</a>].
</li>
<li class="change">
Added click-examples Table with Form fields demonstration provided by
Christian Essl.
</li>
<li class="change">
Improved UTF-8 charset handling provided by Naoki Takezoe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-56">56</a>].
</li>
<li class="change">
Improved Form &lt;-&gt; DAO auto-loading to handle primitive types.
Provided by Christian Essl
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-53">53</a>].
</li>
<li class="change">
Updated commons-fileupload to version 1.1 [<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-49">49</a>].
</li>
<li class="change">
Fixed null Column Decorator bug. This issue was identified by Geoff Hopson
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-40">40</a>].
</li>
<li class="change">
Fixed Table paging bug. This issue was identified by Ahmed Mohombe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-41">41</a>].
</li>
<li class="change">
Fixed TextField constructor bug. This issue was identified by Bob Schellink
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-42">42</a>].
</li>
<li class="change">
Fixed JSCalendar problem in Japanese. This fix was provided by
Naoki Takezoe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-43">43</a>].
</li>
<li class="change">
Fixed Form FieldSet FileField enctype bug. This issue was identified by
Christian Essl
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-48">48</a>].
</li>
<li class="change">
Fixed session rewrite bug when using absolute redirects.
This issue was identified by Maik Jablonski
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-51">51</a>].
</li>
<li class="change">
Fixed Velocity RuntimeException handling bug
[<a target='_blank' href="http://issues.apache.org/jira/browse/VELOCITY-424">VELOCITY-424</a>].
</li>
<li class="change">
Fixed Velocity 1.5-dev and Cayenne 1.2 interoperability bug
[<a target='_blank' href="http://issues.apache.org/jira/browse/VELOCITY-426">VELOCITY-426</a>].
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.17 - 5th December 2005</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Modified <a href="click-api/org/apache/click/ClickServlet.html">ClickServlet</a>
to enable direct ServletResponse handling by
Pages. See Click Examples Direct Page for a demonstration.
</li>
<li class="change">
Modified <a href="extras-api/org/apache/click/extras/spring/SpringClickServlet.html">SpringClickServlet</a>
to set Spring ApplicationContext in pages implementing
<tt>ApplicationContextAware</tt> interface.
</li>
<li class="change">
Fixed Click 0.16 integration issues with Velocity 1.5-dev snapshot and
Cayenne 1.2.
</li>
<li class="change">
Registered Click JARs with
<a target="blank" href="http://www.ibiblio.org/maven/net.sf.click/jars/">Ibiblio Maven</a> Repository.
</li>
</ul>
</dd>
<p/>
<dt>Version 0.16 - 2nd December 2005</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Improved control localization support, please see
<a href="click-api/org/apache/click/control/Field.html#getLabel()">Field</a>
Javadoc and <a href="faq.html#localization">FAQ</a> for details.
<p/>
This feature based on a concept developed by Ahmed Mohombe,
and replaces the <tt>"msg:"</tt> prefix localization functionality
introduced in release 0.13.
</li>
<li class="change">
Added Hibernate data aware Form control
<a href="extras-api/org/apache/click/extras/hibernate/HibernateForm.html">HibernateForm</a>,
and supporting
<a href="extras-api/org/apache/click/extras/hibernate/SessionContext.html">SessionContext</a> and
<a href="extras-api/org/apache/click/extras/hibernate/SessionFilter.html">SessionFilter</a> classes.
</li>
<li class="change">
Added Menu
<a href="extras-api/org/apache/click/extras/control/Menu.html#pages">pages</a>
property for selecting menu items. This feature was provided by
Geoff Hopson
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-39">39</a>].
<p/>
Refactored <a href="extras-api/org/apache/click/extras/control/Menu.html">Menu</a>
to implement Control interface to improve Page subclassing.
</li>
<li class="change">
Improved Form rendering flexibility with new properties
<a href="click-api/org/apache/click/control/Form.html#getLabelRequiredPrefix()">labelRequiredPrefix</a>
and
<a href="click-api/org/apache/click/control/Form.html#getLabelRequiredSuffix()">labelRequiredSuffix</a>.
</li>
<li class="change">
Added
<a href="click-api/org/apache/click/control/Select.html#setMultipleValues(java.util.List)">Select</a>
<tt>setMultipleValues()</tt> method. This issue was identified by
Geoff Hopson
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-34">34</a>].
</li>
<li class="change">
Added Context
<a href="click-api/org/apache/click/Context.html#createPage(java.lang.Class)">createPage()</a>
method enabling you to specify the target page by class.
</li>
<li class="change">Added custom rich text area control demonstration
in Click Examples Email Form page.
</li>
<li class="change">
Fixed Column null value handling bug. This issue was identified by
Geoff Hopson
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-32">32</a>].
</li>
<li class="change">
Fixed ActionLink value escaping bug. This issue was identified by
Geoff Hopson
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-33">33</a>].
</li>
<li class="change">
Fixed DateField I18N issue and improved rendering. These issues were
identified by Antoni Aloy and Ahmed Mohombe
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-36">36</a>,
<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-27">27</a>].
</li>
<li class="change">
Modified Format
<a href="click-api/org/apache/click/util/Format.html#getEmptyString()">getEmptyString()</a>
to return "" strings to better support AJAX rendering.
This issue was identified by Andrus Adamchik.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.15 - 25th October 2005</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Fixed escaping quote characters in controls. This issue was identified by
Mike Organek
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-31">31</a>].<br/>
Added new
<a href="click-api/org/apache/click/util/HtmlStringBuffer.html">HtmlStringBuffer</a>
class for control rendering.
</li>
<li class="change">
Added click-cayenne <a href="examples.html">example</a> web application.
This application was contributed by Andrus Adamchik.
</li>
<li class="change">
Refactored <a href="click-api/org/apache/click/control/Form.html">Form</a>
align and position constants to remove ambiguity.
</li>
<li class="change">
Fixed ClickApp NPE when initializing
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-30">30</a>],
related Velocity Engine patches applied
[<a target='_blank' href="http://issues.apache.org/jira/browse/VELOCITY-412">412</a>].
</li>
<li class="change">
Refactored Ant build system.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<dt>Version 0.14 - 17th October 2005</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:0.5em;"> New developer
<a target="blank" href="http://sourceforge.net/users/amohombe/">Ahmed Mohombe</a>
joins the Click project.</div>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Fixed FieldSet Form processing bug. The bug was identified by by Paul Rule
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-25">25</a>].
</li>
<li class="change">
Removed JDOM dependency.
</li>
<li class="change">
Velocity Engine error reporting patches applied
[<a target='_blank' href="http://issues.apache.org/jira/browse/VELOCITY-373">373</a>].
</li>
<li class="change">
Modified Ant build script to download JAR dependencies from
<a href="http://www.ibiblio.org/maven/">Ibiblio</a> Maven repository.
</li>
</ul>
</dd>
<dt>Version 0.13 - 13th October 2005</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added Spring integration servlet
<a href="extras-api/org/apache/click/extras/spring/SpringClickServlet.html">SpringClickServlet</a>.
</li>
<li class="change">
Added Cayenne data aware Form control
<a href="extras-api/org/apache/click/extras/cayenne/CayenneForm.html">CayenneForm</a>.
</li>
<li class="change">
Improved JSP support. See
<a href="faq.html#jsp-support">FAQ</a>
for details and Click Examples for a demonstration.
</li>
<li class="change">
Improved
<a href="click-api/org/apache/click/control/Field.html#setLabel(java.lang.String)">Field</a>
localization support, see <a href="faq.html#localization">FAQ</a> for details.
Based on a concept by Iain Shigeoka.
</li>
<li class="change">
Fixed FieldSet Form &lt;-&gt; DAO auto-loading bug. The fix was provided
by Paul Rule
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-20">23</a>].
</li>
<li class="change">
Fixed WebSphere's bundled JDOM 0.7 compatibility issue. This issue was
identified by Oliver Burn
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-20">25</a>].
</li>
<li class="change">
Updated Jakarta Commons JARs to latest versions to support Hibernate
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-19">19</a>].
</li>
<li class="change">
Removed Commons Logging dependency in Click Extras to avoid WebSphere
class loading issues
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-20">20</a>].
</li>
<li class="change">
Updated Velocity 1.5 dev build to use recent snapshot
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-21">21</a>].
</li>
<li class="change">
Fixed NPE bug in ErrorReport. This fix was provided by Steve Cowx.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.12 - 1st October 2005</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added <a href="click-api/org/apache/click/control/FieldSet.html">FieldSet</a>
control. See Javadoc for details and Click Examples for a demonstration
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-4">CLK-4</a>].
</li>
<li class="change">
Add Field <tt>"name"</tt> and <tt>"label"</tt> constructors added to
make Form &lt;-&gt; DAO auto-loading easier to use.
</li>
<li class="change">
Changed controls to render valid XHTML, instead of HTML 4.01, enabling
Firefox and Mac OS X browsers to render AJAX responses containing Control
HTML
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-3">CLK-3</a>].
<div style="margin-top:0.5em;">
For example the TextField HTML &nbsp; <tt>&lt;input type='text' disabled&gt;</tt>
&nbsp; now renders as <br/> <tt>&lt;input type='text' disabled='disabled'/&gt;</tt> </div>
</li>
<li class="change">
Fixed bug where multipart form parameters not available during
<tt>Page.onInit()</tt>
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-1">CLK-1</a>].
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.11 - 16th September 2005</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added <a href="extras-api/org/apache/click/extras/control/Menu.html">Menu</a> component.
See Javadoc for details and Click Examples for a demonstration
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-12">CLK-12</a>].
</li>
<li class="change">
Added runtime <a href="user-guide/html/ch04s02.html#page-auto-loading">Page Auto Loading</a>
when the application is in
<tt>"development"</tt>, <tt>"debug"</tt> or <tt>"trace"</tt> mode
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-18">CLK-18</a>].
</li>
<li class="change">
Added Form &lt;-&gt; DAO auto-loading feature.
See <a href="click-api/org/apache/click/control/Form.html#copyFrom(java.lang.Object)">Form</a>
Javadoc for details [<a target="blank" href="https://issues.apache.org/jira/browse/CLK-2">CLK-2</a>].
</li>
<li class="change">
Fixed blank page gzip compression bug. The Click embedded gzip compression
functionality has been replaced with a
<a href="extras-api/org/apache/click/extras/filter/CompressionFilter.html">CompressionFilter</a>
derived from Jarkata Tomcat
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-5">CLK-5</a>].
</li>
<li class="change">
Added <tt>email()</tt> and <tt>link()</tt> formatter methods and
<tt>getEmptyString()</tt> method to
<a href="click-api/org/apache/click/util/Format.html#email(java.lang.String)">Format</a> class
[<a target='_blank' href="https://issues.apache.org/jira/browse/CLK-15">CLK-15</a>].
</li>
<li class="change">
Modified <a href="click-api/org/apache/click/control/Form.html">Form</a>
control to render a class error attribute &lt;label class="error"&gt;
in the labels of invalid fields. You can now override the <tt>control.css</tt>
style <tt>label.error</tt> to modify the display of field error labels.
</li>
<li class="change">
Modified <a href="click-api/org/apache/click/control/Form.html#Form(java.lang.String)">Form</a>
constructor to only require form name parameter. The context can be
set later. Note this will require modifications to exiting code.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.10 - 1st September 2005</dt>
<dd>
<div style="margin-left:-2em;margin-bottom:0.5em;"> New developer
<a target="blank" href="http://sourceforge.net/users/pbarnes/">Phil Barnes</a>
joins the Click project.</div>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added <a href="extras-api/org/apache/click/extras/panel/package-summary.html">Panel</a>
components by Phil Barnes. See Javadoc for details and Click Examples for a demonstration.
</li>
<li class="change">
Added <a href="click-api/org/apache/click/control/Table.html">Table</a> control.
See Javadoc for details and Click Examples for a demonstration
[<a target='_blank' href="http://sourceforge.net/tracker/index.php?func=detail&aid=1243243&group_id=82095&atid=565027">1243243</a>].
</li>
<li class="change">
Added <a href="click-api/org/apache/click/control/ImageSubmit.html">ImageSubmit</a>
control by Phil Barnes. See Javadoc for details and Click Examples for a demonstration.
</li>
<li class="change">
Localization/I18N changes include:
<div style="margin-top:0.5em;">
Added Chinese localization properties (zh_CN) provided by Xi Ping Wang. </div>
<div style="margin-top:0.5em;">
Added Page <a href="click-api/org/apache/click/util/MessagesMap.html">MessagesMap</a>
adaptor to Velocity Context.
<div style="margin-top:0.5em;">
Added new <a href="click-api/org/apache/click/Context.html#getLocale()">getLocale()</a>
and <a href="click-api/org/apache/click/Context.html#setLocale(java.util.Locale)">setLocale()</a>
methods to Context class to enable overriding the default request Locale. </div>
</li>
<li class="change">
New <a href="extras-api/overview-summary.html">Click Extras</a> module and JAR provided for
contributions and non-core framework components.
</li>
<li class="change">
New Rico inspired AJAX Live Grid example provided by Phil Barnes.
</li>
<li class="change">
Click Examples, Confluence WIKI and JIRA applications are now available online.
<div style="margin-top:0.5em;">
Special thanks to Phil Barns for hosting these applications. </div>
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.9 - 7th August 2005</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added application reloading feature to reload "click.xml" without
restarting the web application.
See
<a href="click-api/org/apache/click/ClickServlet.html#app-reloading">ClickServlet</a>
Javadoc for details and the Click Examples for a demonstration
[<a target='_blank' href="http://sourceforge.net/tracker/index.php?func=detail&aid=1250978&group_id=82095&atid=565027">1237942</a>].
<div style="margin-top:0.5em;">
This concept was defined by <a target="blank" href="http://sourceforge.net/users/hansbaeckerm/">Hans Baecker-Mayer</a>. </div>
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.8 - 2nd August 2005</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Added <a href="click-api/org/apache/click/service/LogService.html">LogService</a>
which logs to the console by default.
See the Click and Velocity <a href="user-guide/html/ch04s02.html#click-logging">Logging</a>
topic.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.7 - 28th July 2005</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">Added
<a href="click-api/org/apache/click/control/FileField.html">FileField</a>
control for uploading files and modified Form control to support
"multipart/form-data" requests. See the Click Examples
File Upload page for a demonstration [<a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1237942&group_id=82095&atid=565027">1237942</a>].
</li>
<li class="changes">
Added pages <a href="user-guide/html/ch04s02.html#application-automapping">Auto Mapping</a>
configuration option. This feature can automatically map HTML page
templates to Page classes so you don't have to declare them manually in
the click.xml configuration file.
<div style="margin-top:0.5em;">
This concept was defined by <a target="blank" href="http://sourceforge.net/users/amohombe/">Ahmed Mohombe</a>. </div>
</li>
<li class="changes">
Added
<a href="user-guide/html/ch02s05.html#page-forwarding">Page Forwarding</a>
enabling you to configure the Page to forward the request to.
This provides similar functionality as Tapestry's <tt>cycle.getPage()</tt>
interpage calling technique. See the Examples Page
Flow for a demonstration.
</li>
<li class="changes">
Added
ClickServlet <a href="click-api/org/apache/click/ClickServlet.html#newPageInstance(java.lang.Class, javax.servlet.http.HttpServletRequest)">newPageInstance()</a>
method to support IoC applications. See the
<a href="faq.html#spring-integration">Spring Integration</a> FAQ topic for more details.
<div style="margin-top:0.5em;">
This concept was defined by <a target="blank" href="http://sourceforge.net/users/pbarnes/">Phil Barnes</a>. </div>
</li>
<li class="changes">
Form rendering improved to include CSS classes "fields", "errors" and "buttons"
in the respective table &lt;tr&gt; and &lt;td&gt; elements. This enables greater
control of Form display using CSS styles.
</li>
<li class="change">
Added "trace" application mode to provide more detailed logging.
See the Configuration <a href="user-guide/html/ch04s02.html#application-mode">Mode</a> topic.
</li>
<li class="change">
Added
<a href="click-api/org/apache/click/util/Format.html#limitLength(java.lang.String, int)">limitLength()</a>
methods to the Format class.
</li>
<li class="change">
Improved Submit controls processing of HTML characters.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.6 - 2nd July 2005</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">Added AJAX Dynamic HTML and XML request example using
the using Rico Ajax library. See the Click Examples AJAX page for a demonstration.
</li>
<li class="change">
<a href="click-api/org/apache/click/control/Option.html">Option</a> and
<a href="click-api/org/apache/click/control/OptionGroup.html">OptionGroup</a>
refactored into standalone classes.
</li>
<li class="change">
Added Page
<a href="click-api/org/apache/click/Page.html#setHeader(java.lang.String, java.lang.Object)">setHeader()</a>
method.
</li>
<li class="change">Fixed NPE when Fields, with no parent Form, are processed
and rendered.
</li>
<li class="change">Added FAQ, and updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.5 - 1st June 2005</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">Form control encodes the form <tt>"action"</tt> URL attribute using
<a class="external" target="_blank" href="http://java.sun.com/products/servlet/2.3/javadoc/javax/servlet/http/HttpServletResponse.html#encodeURL(java.lang.String)">encodeURL(String)</a>
to ensure session ID is set.
</li>
<li class="change">Added optional Form validation. A
<a href="click-api/org/apache/click/control/Form.html#validate">validate</a>
property has been added to Form and a <a href="click-api/org/apache/click/control/Field.html#validate()">validate()</a>
method to Field. Field subclasses have been modified to support optional
validation. See the Click Examples Form Properties page for a demonstration.
</li>
<li class="change">Added Session Object utility methods to Context, see
<a href="click-api/org/apache/click/Context.html#getSessionObject(java.lang.Class)">getSessionObject</a>.
</li>
<li class="change">Added error message block horizontal alignment property
<a href="click-api/org/apache/click/control/Form.html#errorsAlign">errorsAlign</a>
to Form.
</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.4 - May 2005</dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">Implemented <a href="user-guide/html/ch02s06.html#page-templating">Page Templating</a>
capability. Enabling you to create a standardized look and feel for your web
application and greatly reducing the amount of HTML you need to maintain.
</li>
<li class="change">Improved Error handling. Application exceptions render
error source line when Java source available. For example a
<a href="error-npe.html">NullPointerException</a>.
</li>
<li class="change">Integrated the DHTML Calendar widget by <a href="http://www.dynarch.com/">Dyna.com</a>
into <a href="extras-api/org/apache/click/extras/control/DateField.html">DateField</a> control.
</li>
<li class="change">Added Form and Field <a href="click-api/org/apache/click/control/Field.html#readonly">readonly</a>
property. Modified Field subclasses to render their HTML readonly attribute. If the Form is set to
readonly all its fields will also be readonly.
</li>
<li class="change">Added Control <a href="click-api/org/apache/click/Control.html#getId()">getId()</a>
method. Modified control classes to render their HTML id attribute.
</li>
<li class="change">Added Form <a href="click-api/org/apache/click/control/Form.html#columns">columns</a>
property to render forms in multi column table layout.
</li>
<li class="change">Added page <a href="click-api/org/apache/click/Page.html#path">path</a>
property to Velocity context.
</li>
<li class="change">Fixed SourceViewer missing resource bug which occurred on Orion server.</li>
<li class="change">Updated documentation and examples.</li>
</ul>
</dd>
<p/>
<dt>Version 0.3 - March 2005</dt>
<dd>Preliminary release for public review.
</dd>
<p/>
<dt>Version 0.2 - 2004</dt>
<dd>
Major rewrite, replacing command pattern with Page oriented design. Click
application descriptor rationalized and simplified.
</dd>
<p/>
<dt>Version 0.1 - 2003</dt>
<dd>Initial Click version. Uses Command pattern and Velocity templating engine.
<p/>
Click team blogging application deployed on Tomcat 4.0 and Oracle 9i application servers.
</dd>
<p/>
</dl>
<!-- FOOTER -->
<div id="footer">
<hr/>
<p>
<a target='_blank' href='http://www.apache.org' title='Apache Software Foundation'>
<img id="asf-logo" src="http://www.apache.org/images/asf-logo.gif" alt="Apache Software Foundation"/>
</a>
Copyright &copy; 2001-2013 Apache Software Foundation. Apache Click,
Click, Apache, the Apache feather logo, and the Apache Click project logo are
trademarks of The Apache Software Foundation.
<a href="http://cayenne.apache.org/privacy-policy.html">Privacy policy.</a>
</p>
</div>
</body>
</html>