blob: 094e8a8136a2f96d5fba0b9afd2c468c60e24c45 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<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="Click Java web application framework"/>
<meta name="keywords" lang="en" content="Click Framework, Java, JEEE, web application framework, open source"/>
<title>Click Framework</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 {
background: #EEEEEE;
padding: 4px;
border: 1px solid #99A4DF;
}
</style>
<script type="text/javascript" src="../syntax-highlighter.js"></script>
</head>
<!--Activate syntax highlighting-->
<body onload="prettyPrint();">
<h1>Road Map and Changes</h1>
<h2>Road Map</h2>
The next scheduled Click Framework release (version 1.5 M2) will include
new features including Module support, bug fixes, documentation and example updates.
<p>&nbsp;</p>
<h2>Changes</h2>
<dl>
<dt><a name="1.4.2"></a><a name="stable-release" href="#"></a><div class="release-header">Latest Stable Release - Version 1.4.2 - 12 April 2008</div></dt>
<dd>
<ul style="padding: 0em; margin-left:0em;">
<li class="change">
Fixed ExcludePage should be a public class
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-346">346</a>].
</li>
<li class="change">
Fixed Maven artifacts packaging
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-348">348</a>].
</li>
<li class="change">
Fixed slight performance degradation
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-352">352</a>].
</li>
<li class="change">
Fix DateField and ChartFields to include the javascript <tt>control.js</tt>
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-354">354</a>].
</li>
<li class="change">
Fix DateField which produced duplicate stylesheet links.
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-356">356</a>].
</li>
</ul>
</dd>
<dt><a name="1.5-M1"></a><div class="release-header">Latest Development Release - Version 1.5 M1 - 18 May 2008</div></dt>
<dd>
<div style="margin-left:-2em;margin-bottom:1em;">
<b>IMPORTANT</b> be sure to read the <a href="#1.5-M1-upgrade-path">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="controls.html#container">Container</a> - new interface for building arbitrary complex, hierarchical Controls.</li>
<li class="item"><a href="click-api/net/sf/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/net/sf/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://www.avoka.com/click-examples/form/extra-controls-form.htm">Country Select field</a>
</li>
<li>
<a target="_blank" href="http://www.avoka.com/click-examples/form/contact-details.htm">Custom Form Layout using Containers</a>
</li>
<li>
<a target="_blank" href="http://www.avoka.com/click-examples/form/extra-controls-form.htm">Virtual Keyboard field</a>
</li>
<li>
<a target="_blank" href="http://www.avoka.com/click-examples/general/excel-export.htm">Excel Export Demo</a>
</li>
<li>
<a target="_blank" href="http://www.avoka.com/click-examples/jsp/edit-customer.htm">JSP - Edit Customer</a>
</li>
<li>
<a target="_blank" href="http://www.avoka.com/click-examples/jsp/navigation-a.htm">JSP - Navigation</a>
</li>
<li>
<a target="_blank" href="http://www.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="controls.html#container">Container</a>
</li>
<li class="change">
<a href="controls.html#layout">Template vs Container layout</a>
</li>
<li class="change">
<a href="click-api/net/sf/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="http://sourceforge.net/mail/?group_id=82095">Mailing Lists</a> or directly to "sabob1 at gmail.com".
<p/>
The following is a list of enhancements and bugsfixes:
</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/net/sf/click/extras/service/FreemarkerTemplateService.html">FreemarkerTemplateService</a>.
</li>
<li class="change">
Added a <a href="extras-api/net/sf/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/net/sf/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/net/sf/click/control/Form.html#getActionURL()">action</a>
URL attribute. This issue was raised by Erdem Gunay
[<a target='blank' href="http://www.avoka.com/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 programatically 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="http://www.avoka.com/jira/browse/CLK-329">329</a>].
</li>
<li class="change">
Add Page <a href="click-api/net/sf/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="http://www.avoka.com/jira/browse/CLK-353">353</a>].
</li>
<li class="change">
Updated <a href="click-api/net/sf/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="http://www.avoka.com/jira/browse/CLK-141">141</a>].
</li>
<li class="change">
Added support for Hibernate AnnocationConfiguration. This issue was fixed by Jean-Francois.
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-355">355</a>].
</li>
<li class="change">
Improved FileUpload support. This issue was raised by Ricardo Lecheta
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-326">326</a>].
</li>
<li class="change">
Improve File Upload support with new <a href="click-api/net/sf/click/service/FileUploadService.html">FileUploadService</a> class.
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/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/net/sf/click/extras/cayenne/CayenneUtils.html">CayenneUtils</a> helper class
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-342">342</a>].
</li>
<li class="change">
<b>Upgraded</b> 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>
<br/>
<a name="1.5-M1-upgrade-path" href="#"></a>
<span style="margin-left:-2em;margin-bottom:1em; color:brown; font-weight:bold">Upgrade Path</span>
<ul style="padding: 0em; margin-left:0em;">
<li class="upgrade">
<b>Please Note</b> Click version 1.5 is <b>not</b> binary compatible with version 1.4. To upgrade your
applications to use version Click 1.5 you will need to:
<ol style="margin-top:1em;">
<li>Recompile your application with the 1.5 Click libraries.</li>
<li>Retrofit the new Control
<a href="click-api/net/sf/click/Control.html#render(net.sf.click.util.HtmlStringBuffer)">render()</a>
method to any on your custom controls.</li>
<li>Replace any Control <tt>toString()</tt> methods with an equivalent <a href="click-api/net/sf/click/Control.html#render(net.sf.click.util.HtmlStringBuffer)">render()</a>
method. For further details see the example below.</li>
</ol>
Note that Click 1.5 is still compatible with Java JDK 1.4 or later.
</li>
<li class="upgrade">
Deprecated methods: <a href="click-api/net/sf/click/Control.html#setListener(java.lang.Object, java.lang.String)">Control.setListener(Object, String)</a>,
<a href="click-api/net/sf/click/Control.html#getId()">Control.getId</a> and
<a href="click-api/net/sf/click/Control.html#getContext()">Control.getContext()</a>.
These methods have been deprecated on the Control interface as they are not required for ClickServlet -> Control API.
This refactoring is part of making the Control interface as small as possible,
which allows more flexibility in future releases.
<p/>
Note these methods are still available on <a href="click-api/net/sf/click/control/AbstractControl.html">AbstractControl</a>,
so this change should have minimal impact on existing code bases.
</li>
<li class="upgrade">
Upgrade custom Control rendering code to use new
<a href="click-api/net/sf/click/Control.html#render(net.sf.click.util.HtmlStringBuffer)">render</a>
method. This method allows improved rendering performance, because all controls can be
rendered from a single buffer that is created when rendering starts.
<p/>
If your created custom controls override <em>toString()</em>, please adapt it to the following pattern. From this:
<pre class="prettyprint">
public class HtmlTable extends AbstractControl {
...
public String toString() {
int estimatedControlSize = 1000;
HtmlStringBuffer buffer = new HtmlStringBuffer(estimatedControlSize);
// Rendering Start
buffer.elementStart(<span style="font-weight:bold;color:#000099">"table"</span>);
appendAttributes(buffer);
buffer.elementClose();
renderRows(buffer);
buffer.closeElement(<span style="font-weight:bold;color:#000099">"table"</span>);
// Rendering End
return buffer.toString();
}
} </pre>
to this:
<pre class="prettyprint">
public class HtmlTable extends AbstractControl {
...
public void render(HtmlStringBuffer buffer) {
// Rendering Start
buffer.elementStart(<span style="font-weight:bold;color:#000099">"table"</span>);
appendAttributes(buffer);
buffer.elementClose();
renderRows(buffer);
buffer.closeElement(<span style="font-weight:bold;color:#000099">"table"</span>);
<span style="color:green">// Rendering End</span>
}
public String toString() {
int estimatedControlSize = 1000;
HtmlStringBuffer buffer = new HtmlStringBuffer(estimatedControlSize);
render(buffer);
return buffer.toString();
}
} </pre>
Note, the code between the commented section, was moved from <em>toString</em> to the <em>render</em> method.
<p/>
Also note that invoking a Control's <a href="click-api/net/sf/click/control/AbstractControl.html#toString()">toString()</a>
method still outputs the same HTML representation, as toString() delegates to the
<a href="click-api/net/sf/click/Control.html#render(net.sf.click.util.HtmlStringBuffer)">render</a>
method.
</li>
<li class="upgrade">
Certain controls were retrofitted as containers including <a href="click-api/net/sf/click/control/FieldSet.html">FieldSet</a>.
Unfortunately this change breaks backwards compatibility because FieldSet does not extend from Field anymore.
<p/>
If FieldSet is added to a Form, that Form will render the FieldSet fields.
This allows the Form to apply its properties to the FieldSet fields. For example the Form's column
count will be applied to the FieldSet fields as well.
<p/>
If FieldSet is added to a BasicForm however, FieldSet will layout its own child controls.
</li>
<li class="upgrade">
Click 1.5 M1 introduces two new properties: <span style="color:navy;">file-size-limit-exceeded-error</span>
and <span style="color:navy;">post-size-limit-exceeded-error</span>.
For those building i18n applications remember to add these two properties
to your <span style="color:navy;">click-control_&lt;lang&gt;.properties.</span>
<br>If you send us patches for your preferred language we will include them in the distribution.
</li>
<li class="upgrade">
ClickLogger has been replaced with <a href="click-api/net/sf/click/service/LogService.html">LogService</a>.
LogService is an interface with a default implementation <a href="click-api/net/sf/click/service/ConsoleLogService.html">ConsoleLogService</a>.
There are also alternative implementations <a href="extras-api/net/sf/click/extras/service/Log4JLogService.html">Log4JLogService</a>
and <a href="extras-api/net/sf/click/extras/service/JdkLogService.html">JdkLogService</a>.
<p/>
It is possible to write your own LogService instance or extend from
an existing implementation. To setup Click to use an alternative instance you have to
specify the LogService implementation in <em>click.xml</em>:
<pre class="prettyprint">
&lt;click-app charset="UTF-8"&gt;
&lt;pages package="net.sf.click.examples.page"/&gt;
&lt;log-service classname="net.sf.click.extras.service.JdkLogService"/&gt;
&lt;/click-app&gt; </pre>
<p/>
While it is generally not recommended to use the Click LogService in your application code, you can retrieve it using the ClickUtils method
<a href="click-api/net/sf/click/util/ClickUtils.html#getLogService()">getLogService()</a>.
</li>
</ul>
</dd>
<p/>
<dt><div class="release-header">Archives</div></dt>
<dt>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/net/sf/click/Context.html#isAjaxRequest()">Context.isAjaxRequest()</a>
which enables conditional checking for Ajax requests.
</li>
<li class="change">
Upgradeded to Scriptaculous 1.8.1 to fix auto form submit. This issue was raised by Andy Key.
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-334">334</a>].
</li>
<li class="change">
Fixed <a href="click-api/net/sf/click/control/Form.html#onSubmitCheck(net.sf.click.Page, java.lang.String)">Form.onSubmitCheck()</a>
to ignore Ajax calls. This issue was raised by Ivan Furdi.
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-333">333</a>].
</li>
<li class="change">
Fixed Form and FieldSet column layout bug
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-344">344</a>].
</li>
<li class="change">
Fixed Table style issues with sorted columns
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-345">345</a>].
</li>
</ul>
</dd>
<dt>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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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/net/sf/click/extras/filter/PerformanceFilter.html">PerformanceFilter</a>
to significantly improve the performance of Click applications
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-284">284</a>, <a target='blank' href="http://www.avoka.com/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="pages.html#page-stateful">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/net/sf/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-283">283</a>].
</li>
<li class="change">
Updated <tt>Controls</tt> to use the new API
<a href="click-api/net/sf/click/control/AbstractControl.html#addStyleClass(java.lang.String)">addStyleClass(String)</a> and
<a href="click-api/net/sf/click/control/AbstractControl.html#setStyle(java.lang.String, java.lang.String)">setStyle(String, String)</a>
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-250">250</a>].
</li>
<li class="change">
Fixed exception when using <tt>Form.onSecurtyCheck</tt> in a stateful form.
This issue was raised by Joel Schmidt
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-277">277</a>,
<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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 Schellick
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-256">256</a>].
</li>
<li class="change">
Fixed missing language properties.
This issue was raised by Bob Schellick
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-269">269</a>,
<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-272">CLK-272</a>].
</li>
<li class="change">
Fixed ClickUtils <tt>getMimieType()</tt> not supporting upper case file extensions.
This issue was raised by Ben Warner
[<a target='blank' href="http://www.avoka.com/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">
<span style="font-weight:bold;color:navy;">Important Change</span>
the Page <a href="click-api/net/sf/click/Page.html#stateful">stateful</a> property
added to support persistence.
</li>
<li class="change">
<span style="font-weight:bold;color:navy;">Important Change</span>
the <a href="click-api/net/sf/click/Context.html">Context</a> object
is now available in Page and Control constructors.
</li>
<li class="change">
<span style="font-weight:bold;color:navy;">Important Change</span>
added Control <a href="click-api/net/sf/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">
<span style="font-weight:bold;color:navy;">Important Change</span>
the XML configured root Menu item is obtained via the static method
<a href="extras-api/net/sf/click/extras/control/Menu.html#getRootMenu()">getRootMenu()</a>.
</li>
<li class="change">
<span style="font-weight:bold;color:navy;">Important Change</span>
multipart file upload requests are now processed using a globally configured Commons FileUpload
class. Please see the
<a href="configuration.html#application-file-item-factory">File Item Factory</a>
topic for more details. This change enables for request parameter auto binding
on multipart file upload requests.
</li>
<li class="change">
<span style="font-weight:bold;color:navy;">Important Change</span>
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/net/sf/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/net/sf/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/net/sf/click/extras/control/ExternalLink.html">ExternalLink</a> control.
</li>
<li class="change">
Added AbstractControl <a href="click-api/net/sf/click/control/AbstractControl.html#getPage()">getPage()</a> method.
</li>
<li class="change">
Added Context <a href="click-api/net/sf/click/Context.html#getRequestParameterValues()">getRequestParameterValues()</a> method.
</li>
<li class="change">
Added Context <a href="click-api/net/sf/click/Context.html#isGet()">isGet()</a> method.
</li>
<li class="change">
Added Field <a href="click-api/net/sf/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/net/sf/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/net/sf/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-195">195</a>, <a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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/net/sf/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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">
<span style="font-weight:bold;color:navy;">Important Change</span>
the <a href="pages.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/net/sf/click/extras/control/PickList.html">PickList</a> control.
This control was created by Naoki Takezoe
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-194">194</a>].
</li>
<li class="change">
Added <a href="extras-api/net/sf/click/extras/tree/Tree.html">Tree</a> control client side javascript functionality.
This was provided by Bob Schellink
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-186">186</a>].
</li>
<li class="change">
Added <a href="configuration.html#application-autobinding">autobinding</a> configuration option.
This issue was raised by Ahmed Mohombe
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-199">199</a>].
</li>
<li class="change">
Added <tt>tabindex</tt> support to
<a href="click-api/net/sf/click/control/AbstractLink.html">AbstractLink</a> and
<a href="click-api/net/sf/click/control/Field.html">Field</a> controls.
</li>
<li class="change">
Added Form
<a href="click-api/net/sf/click/control/Form.html#defaultFieldSize">defaultFieldSize</a> property.
</li>
<li class="change">
Improved <tt>trace</tt> level logging to detail <a href="click-api/net/sf/click/Page.html">Page</a> event execution order.
</li>
<li class="change">
Improved <a href="extras-api/net/sf/click/extras/control/EmailField.html">EmailField</a> validation.
</li>
<li class="change">
Changed default <a href="click-api/net/sf/click/control/Form.html">Form</a> errorPostion from <tt>"middle"</tt> to <tt>"top"</tt>.
</li>
<li class="change">
Fixed <a href="extras-api/net/sf/click/extras/cayenne/CayenneForm.html">CayenneForm</a>
handling of new objects bug. This issue was raised by Andrus Adamchik
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-73">73</a>].
</li>
<li class="change">
Fixed <a href="click-api/net/sf/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="http://www.avoka.com/jira/browse/CLK-179">179</a>].
</li>
<li class="change">
Fixed Page with two <a href="click-api/net/sf/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="http://www.avoka.com/jira/browse/CLK-197">197</a>].
</li>
<li class="change">
Fixed <a href="extras-api/net/sf/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="http://www.avoka.com/jira/browse/CLK-207">207</a>].
</li>
<li class="change">
Fixed <a href="click-api/net/sf/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="http://www.avoka.com/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/net/sf/click/extras/tree/Tree.html">Tree</a> and
<a href="extras-api/net/sf/click/extras/tree/CheckboxTree.html">CheckboxTree</a>.
These controls were created by Bob Schellink
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-160">160</a>].
</li>
<li class="change">
Added controls
<a href="extras-api/net/sf/click/extras/graph/JSBarChart.html">JSBarChart</a>,
<a href="extras-api/net/sf/click/extras/graph/JSLineChart.html">JSLineChart</a> and
<a href="extras-api/net/sf/click/extras/graph/JSPieChart.html">JSPieChart</a>.
These controls were created by Ahmed Mohombe.
</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/net/sf/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/net/sf/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/net/sf/click/util/MessagesMap.html">MessagesMap</a>.
This issue was raised by Andrus Adamchik
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-74">74</a>].
</li>
<li class="change">
Added ActionButton support to <a href="extras-api/net/sf/click/extras/control/LinkDecorator.html">LinkDecorator</a>.
This issue was raised by Ricardo Lecheta
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-135">135</a>].
</li>
<li class="change">
Added ordering support to <a href="extras-api/net/sf/click/extras/cayenne/PropertySelect.html">PropertySelect</a>.
This issue was raised by David Frizelle
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-154">154</a>].
</li>
<li class="change">
Added FieldSet <a href="click-api/net/sf/click/control/FieldSet.html#columns">columns</a> property.
This issue was raised by Lorenzo Orselli
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-158">158</a>].
</li>
<li class="change">
Added optional property to <a href="extras-api/net/sf/click/extras/cayenne/QuerySelect.html#optional">QuerySelect</a> and
<a href="extras-api/net/sf/click/extras/cayenne/PropertySelect.html#optional">PropertySelect</a> controls.
This issue was raised by Lorenzo Orselli
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-156">156</a>].
</li>
<li class="change">
Added support for NamedQuery objects in
<a href="extras-api/net/sf/click/extras/cayenne/PropertySelect.html#namedQuery">PropertySelect</a>.
This issue was raised by David Frizelle
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-171">171</a>].
</li>
<li class="change">
Added Chinese localization properties provided by Larry Li
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-177">177</a>].
</li>
<li class="change">
Added <a href="click-api/net/sf/click/util/ClickUtils.html">ClickUtils</a>
cookie handling methods, and convenience methods in the Context class.
These methods were derrived 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/net/sf/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/net/sf/click/extras/cayenne/DataContextFilter.html">DataContextFilter</a> support for
session or request scope DataContext objects, and controling the use of the Cayenne shared cache.
</li>
<li class="change">
Added Cayenne DAO/Service base class <a href="extras-api/net/sf/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/net/sf/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/net/sf/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="pages.html#page-param-auto-binding">Request Param Auto Binding</a> documentation topic.
</li>
<li class="change">
Added Best Practices <a href="best-practices.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="http://www.avoka.com/jira/browse/CLK-159">159</a>].
</li>
<li class="change">
Improved <a href="click-api/net/sf/click/control/ImageSubmit.html#src">ImageSubmit</a>
src rendering by prefixing context path
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-165">165</a>].
</li>
<li class="change">
Improved <a href="click-api/net/sf/click/control/Column.html#getHeaderTitle()">Column</a>
i18n support for header titles. This issue was raised by Ricardo Lecheta
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-176">176</a>].
</li>
<li class="change">
Improved Form
<a href="click-api/net/sf/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/net/sf/click/extras/control/NumberField.html">NumberField</a>.
This issue was raised by Ahmed Mohombe
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-152">152</a>].
</li>
<li class="change">
Fixed readonly support in <a href="click-api/net/sf/click/control/Checkbox.html">Checkbox</a>,
<a href="click-api/net/sf/click/control/Radio.html">Radio</a> and
<a href="click-api/net/sf/click/control/Select.html">Select</a> controls.
These issues were raised by Lorenzo Orselli and David Frizelle
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-155">155</a>,
<a target='blank' href="http://www.avoka.com/jira/browse/CLK-164">164</a>].
</li>
<li class="change">
Fixed error position support in <a href="extras-api/net/sf/click/extras/control/TabbedForm.html">TabbedForm</a> control.
This issue was raised by Lorenzo Orselli
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-161">161</a>].
</li>
<li class="change">
Fixed first day of week bug in <a href="extras-api/net/sf/click/extras/control/DateField.html">DateField</a> control.
This issue was raised and fixed by Sadanori Ito
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-170">170</a>].
</li>
<li class="change">
Fixed Form
<a href="click-api/net/sf/click/control/Form.html#copyTo(java.lang.Object)">copyTo</a>
Map support. This issue was raised by Louis Martin
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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/net/sf/click/control/Form.html#add(net.sf.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/net/sf/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/net/sf/click/ClickServlet.html#processPageRequestParams(net.sf.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/net/sf/click/control/Form.html#clearValues()">clearValues()</a>
method.
</li>
<li class="change">
Added ClickUtils
<a href="click-api/net/sf/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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/net/sf/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="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-126">126</a>].
</li>
<li class="change">
Fixed NumberFormatException in LinkDecorator
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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/net/sf/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/net/sf/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/net/sf/click/extras/control/FormTable.html">FormTable</a>
control.
</li>
<li class="change">
Added <a href="click-api/net/sf/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/net/sf/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="http://www.avoka.com/jira/browse/CLK-115">115</a>].
</li>
<li class="change">
Updated <a href="click-api/net/sf/click/control/Column.html">Column</a>
class to escape HTML characters by default. This issue was raised by
Glen Stampoultzis
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-118">118</a>].
</li>
<li class="change">
Updated
<a href="click-api/net/sf/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/net/sf/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="http://www.avoka.com/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="http://www.avoka.com/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/net/sf/click/extras/control/FormTable.html">FormTable</a>
data grid control and associated
<a href="extras-api/net/sf/click/extras/control/FieldColumn.html">FieldColumn</a>
class.
</li>
<li class="change">
Added
<a href="extras-api/net/sf/click/extras/control/PageSubmit.html">PageSubmit</a>
control for redirecting to target pages.
</li>
<li class="change">
Added Page
<a href="click-api/net/sf/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/net/sf/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/net/sf/click/Page.html#onRender()">onRender()</a>
method. This addition was raised by Stephen Haberman
[<a target='blank' href="http://www.avoka.com/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/net/sf/click/ClickServlet.html#initPage(java.lang.String, java.lang.Class, javax.servlet.http.HttpServletRequest)">initPage()</a>
and
<a href="click-api/net/sf/click/ClickServlet.html#createVelocityContext(net.sf.click.Page)">createVelocityContext()</a>
for details. This addition was raised by Stephen Haberman
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-109">109</a>,
<a target='blank' href="http://www.avoka.com/jira/browse/CLK-112">112</a>].
</li>
<li class="change">
Refactored panel package with BasicPanel renamed
<a href="click-api/net/sf/click/control/Panel.html">Panel</a> and moved
into the core control package, and removing the Panel interface.
The
<a href="extras-api/net/sf/click/extras/panel/ListPanel.html">ListPanel</a>
and
<a href="extras-api/net/sf/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/net/sf/click/control/PageLink.html">PageLink</a>
control. This addition was raised by Stephen Haberman
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-106">106</a>].
</li>
<li class="change">
Added OGNL support for rendering <a href="click-api/net/sf/click/control/Column.html">Column</a>
values.
</li>
<li class="change">
Added support for multiple ActionLink parameters, see
<a href="click-api/net/sf/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/net/sf/click/extras/control/Menu.html#isUserInRoles()">isUserInRoles()</a>
method.
</li>
<li class="change">
Added
<a href="best-practices.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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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/net/sf/click/control/Form.html#form-validation">Form Validation</a>
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-16">16</a>].
</li>
<li class="change">
Added new Click extras controls
<a href="extras-api/net/sf/click/extras/control/CheckList.html">CheckList</a> and
<a href="extras-api/net/sf/click/extras/control/ColorPicker.html">ColorPicker</a>.
These controls were added by Christian Essel
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-81">81</a>].
</li>
<li clas="change">
Added support for a global page message bundle, see Page
<a href="click-api/net/sf/click/Page.html#getMessage(java.lang.String)">getMessage()</a>
for details. This issue raised by Claudio Rossetto
[<a href="http://www.avoka.com/jira/browse/CLK-72">72</a>].
<li class="change">
Added <a href="click-api/net/sf/click/Control.html">Control</a>
<tt>parent</tt> property
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-91">91</a>].
</li>
<li class="change">
Added option to place Table banner on top.
See Table
<a href="click-api/net/sf/click/control/Table.html#bannerPosition">bannerPosition</a>
Javadoc for details. This issue raised by J.F. Zarama
[<a href="http://www.avoka.com/jira/browse/CLK-92">92</a>].
</li>
<li class="change">
Add configurable application Locale. See
<a href="configuration.html#application-click-app">Click App</a> for
details [<a href="http://www.avoka.com/jira/browse/CLK-96">96</a>].
</li>
<li class="change">
Added support for 'Page' suffix when automapping path -> classname.
See <a href="configuration.html#application-automapping">automapping</a>
topic for details. This issue raised by Stephen Haberman.
</li>
<li class="change">
Added Page <a href="click-api/net/sf/click/Page.html#setRedirect(java.lang.Class)">setRedirect(pageClass)</a>
method.
</li>
<li class="change">
Added Format <a href="click-api/net/sf/click/util/Format.html#currentDate()">currentDate()</a>
methods.
</li>
<li class="change">
Added request parameter to ClickServlet
<a href="click-api/net/sf/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="http://www.avoka.com/jira/browse/CLK-86">86</a>].
</li>
<li class="change">
Added <a target="blank" class="external" href="www.objectstyle.org/cayenne/">Cayenne</a>
integration example to Examples.
</li>
<li class="change">
Added <a target="blank" class="external" href="www.springframework.org">Spring</a>
integration example to Examples and improved
<a href="extras-api/net/sf/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/net/sf/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="http://www.avoka.com/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="http://www.avoka.com/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="http://www.avoka.com/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="extras-api/net/sf/click/extras/control/ActionButton.html">ActionButton</a>,
<a href="extras-api/net/sf/click/extras/control/LongField.html">LongField</a>,
<a href="extras-api/net/sf/click/extras/control/NumberField.html">NumberField</a>,
<a href="extras-api/net/sf/click/extras/control/TabbedForm.html">TabbedForm</a> and
<a href="extras-api/net/sf/click/extras/control/TelephoneField.html">TelephoneField</a>.
</li>
<li class="change">
Added new Click Extras Cayenne controls
<a href="extras-api/net/sf/click/extras/cayenne/PropertySelect.html">PropertySelect</a>,
<a href="extras-api/net/sf/click/extras/cayenne/QuerySelect.html">QuerySelect</a> and
<a href="extras-api/net/sf/click/extras/cayenne/TabbedCayenneForm.html">TabbedCayenneForm</a>.
Also added web
<a href="extras-api/net/sf/click/extras/cayenne/DataContextFilter.html">DataContextFilter</a>.
</li>
<li class="change">
Added Context page path lookup method
<a href="click-api/net/sf/click/Context.html#getPagePath(java.lang.Class)">getPagePath()</a>.
This feature was suggested by Christian Essl
[<a href="http://www.avoka.com/jira/browse/CLK-68">68</a>].
</li>
<li class="change">
Added support for
<a href="click-api/net/sf/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/net/sf/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/net/sf/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="configuration.html#application-excludes">excludes</a>.
This issue was identified by Ahmed Mohombe
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-57">57</a>].
</li>
<li clas="change">
Added French and Italian properties files provided by
Lorenzo Orselli [<a href="http://www.avoka.com/jira/browse/CLK-65">65</a>,
<a href="http://www.avoka.com/jira/browse/CLK-66">66</a>].
</li>
<li class="change">
Improved
<a href="extras-api/net/sf/click/extras/spring/SpringClickServlet.html">SpringClickServlet</a>
configuration options and documentation.
</li>
<li class="change">
Improved <a href="click-api/net/sf/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="http://www.avoka.com/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/net/sf/click/extras/cayenne/CayenneForm.html">CayenneForm</a>
duplicate insert bug. This issue was identified by
Bob Schellink [<a href="http://www.avoka.com/jira/browse/CLK-63">63</a>].
</li>
<li clas="change">
Fixed DateField internationaliztion bug. Issue identified by
Lorenzo Orselli and fix provided by Naoki Takezoe
[<a href="http://www.avoka.com/jira/browse/CLK-60">60</a>].
</li>
<li clas="change">
Fixed ClickUtils invokeListener on anonyoumous inner classes bug.
This issue identified and fixed by Christian Essl
[<a href="http://www.avoka.com/jira/browse/CLK-77">77</a>].
</li>
<li class="change">
Fixed ActionLink parameter encoding bug. This issue was idendified by
Steven Van Hoof and fixed by Christian Essl
[<a target='blank' href="http://www.avoka.com/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/net/sf/click/extras/control/package-summary.html">net.sf.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/net/sf/click/control/package-summary.html">net.sf.click.control</a>.
<p/>
Added Control methods
<a href="click-api/net/sf/click/Control.html#getHtmlImports()">getHtmlImports()</a> and
<a href="click-api/net/sf/click/Control.html#onDeploy(javax.servlet.ServletContext)">onDeploy()</a>.
</li>
<li class="change">
Added
<a href="click-api/net/sf/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/net/sf/click/control/Form.html#onSubmitCheck(net.sf.click.Page, java.lang.String)">onSubmitCheck()</a>
API for details.
</li>
<li class="change">
Added full JSP Click Page integration
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-24">24</a>].
</li>
<li class="change">
Added
<a href="extras-api/net/sf/click/extras/control/RegexField.html">RegexField</a>
provided by Naoki Takezoe
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-46">46</a>].
</li>
<li class="change">
Added
<a href="extras-api/net/sf/click/extras/cayenne/RelationshipSelect.html">RelationshipSelect</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="http://www.avoka.com/jira/browse/CLK-44">44</a>].
</li>
<li class="change">
Added German message resources provided by Christian Essl
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-55">55</a>].
</li>
<li class="change">
Added click-examples Table with Form fields demonistration provided by
Christian Essl.
</li>
<li class="change">
Improved UTF-8 charset handling provided by Naoki Takezoe
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-53">53</a>].
</li>
<li class="change">
Updated commons-fileupload to version 1.1 [<a target='blank' href="http://www.avoka.com/jira/browse/CLK-49">49</a>].
</li>
<li class="change">
Fixed null Column Decorator bug. This issue was idendified by Geoff Hopson
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-40">40</a>].
</li>
<li class="change">
Fixed Table paging bug. This issue was idendified by Ahmed Mohombe
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-41">41</a>].
</li>
<li class="change">
Fixed TextField constructor bug. This issue was idendified by Bob Schellink
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-43">43</a>].
</li>
<li class="change">
Fixed Form FieldSet FileField enctype bug. This issue was idendified by
Christian Essl
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/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/net/sf/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/net/sf/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/net/sf/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/net/sf/click/extras/hibernate/HibernateForm.html">HibernateForm</a>,
and supporting
<a href="extras-api/net/sf/click/extras/hibernate/SessionContext.html">SessionContext</a> and
<a href="extras-api/net/sf/click/extras/hibernate/SessionFilter.html">SessionFilter</a> classes.
</li>
<li class="change">
Added Menu
<a href="extras-api/net/sf/click/extras/menu/Menu.html#pages">pages</a>
property for selecting menu items. This feature was provided by
Geoff Hopson
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-39">39</a>].
<p/>
Refactored <a href="extras-api/net/sf/click/extras/menu/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/net/sf/click/control/Form.html#getLabelRequiredPrefix()">labelRequiredPrefix</a>
and
<a href="click-api/net/sf/click/control/Form.html#getLabelRequiredSuffix()">labelRequiredSuffix</a>.
</li>
<li class="change">
Added
<a href="click-api/net/sf/click/control/Select.html#setMultipleValues(java.util.List)">Select</a>
<tt>setMultipleValues()</tt> method. This issue was idendified by
Geoff Hopson
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-34">34</a>].
</li>
<li class="change">
Added Context
<a href="click-api/net/sf/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 idendified by
Geoff Hopson
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-32">32</a>].
</li>
<li class="change">
Fixed ActionLink value escaping bug. This issue was idendified by
Geoff Hopson
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-33">33</a>].
</li>
<li class="change">
Fixed DateField I18N issue and improved rendering. These issues were
idendified by Antoni Aloy and Ahmed Mohombe
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-36">36</a>,
<a target='blank' href="http://www.avoka.com/jira/browse/CLK-27">27</a>].
</li>
<li class="change">
Modified Format
<a href="click-api/net/sf/click/util/Format.html#getEmptyString()">getEmptyString()</a>
to return "" strings to better support AJAX rendering.
This issue was idendified 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 idendified by
Mike Organek
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-31">31</a>].<br/>
Added new
<a href="click-api/net/sf/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/net/sf/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="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-25">25</a>].
</li>
<li class="change">
Removed JDOM depencency.
</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/net/sf/click/extras/spring/SpringClickServlet.html">SpringClickServlet</a>.
</li>
<li class="change">
Added Cayenne data aware Form control
<a href="extras-api/net/sf/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/net/sf/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="http://www.avoka.com/jira/browse/CLK-20">23</a>].
</li>
<li class="change">
Fixed WebSphere's bundled JDOM 0.7 compatability issue. This issue was
identified by Oliver Burn
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-20">25</a>].
</li>
<li class="change">
Updated Jakarta Commons JARs to latest versions to support Hibernate
[<a target='blank' href="http://www.avoka.com/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="http://www.avoka.com/jira/browse/CLK-20">20</a>].
</li>
<li class="change">
Updated Velocity 1.5 dev build to use recent snapshot
[<a target='blank' href="http://www.avoka.com/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/net/sf/click/control/FieldSet.html">FieldSet</a>
control. See Javadoc for details and Click Examples for a demonstration
[<a target='blank' href="http://www.avoka.com/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 eaiser 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="http://www.avoka.com/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="http://www.avoka.com/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/net/sf/click/extras/menu/Menu.html">Menu</a> component.
See Javadoc for details and Click Examples for a demonstration
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-12">CLK-12</a>].
</li>
<li class="change">
Added runtime <a href="configuration.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="http://www.avoka.com/jira/browse/CLK-18">CLK-18</a>].
</li>
<li class="change">
Added Form &lt;-&gt; DAO auto-loading feature.
See <a href="click-api/net/sf/click/control/Form.html#copyFrom(java.lang.Object)">Form</a>
Javadoc for details [<a target="blank" href="http://www.avoka.com/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/net/sf/click/extras/filter/CompressionFilter.html">CompressionFilter</a>
derived from Jarkata Tomcat
[<a target='blank' href="http://www.avoka.com/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/net/sf/click/util/Format.html#email(java.lang.String)">Format</a> class
[<a target='blank' href="http://www.avoka.com/jira/browse/CLK-15">CLK-15</a>].
</li>
<li class="change">
Modified <a href="click-api/net/sf/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/net/sf/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/net/sf/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="extras-api/net/sf/click/extras/table/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/net/sf/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/net/sf/click/util/MessagesMap.html">MessagesMap</a>
adaptor to Velocity Context.
<div style="margin-top:0.5em;">
Added new <a href="click-api/net/sf/click/Context.html#getLocale()">getLocale()</a>
and <a href="click-api/net/sf/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.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 avilable 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/net/sf/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/net/sf/click/util/ClickLogger.html">ClickLogger</a>
which logs to the console by default.
See the Click and Velocity <a href="configuration.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/net/sf/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="configuration.html#application-automapping">Auto Mapping</a>
configuration option [<a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1237397&group_id=82095&atid=565027">1237397</a>].
This feature can automatically map HTML page
templates to Page classes so you dont 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="pages.html#page-forwarding">Page Fowarding</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/net/sf/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="configuration.html#application-mode">Mode</a> topic.
</li>
<li class="change">
Added
<a href="click-api/net/sf/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/net/sf/click/control/Option.html">Option</a> and
<a href="click-api/net/sf/click/control/OptionGroup.html">OptionGroup</a>
refactored into standalone classes.
</li>
<li class="change">
Added Page
<a href="click-api/net/sf/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 href="servlet-api/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/net/sf/click/control/Form.html#validate">validate</a>
property has beed added to Form and a <a href="click-api/net/sf/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/net/sf/click/Context.html#getSessionObject(java.lang.Class)">getSessionObject</a>.
</li>
<li class="change">Added error message block horizontal alignment proeprty
<a href="click-api/net/sf/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="pages.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="click-api/net/sf/click/control/DateField.html">DateField</a> control.
</li>
<li class="change">Added Form and Field <a href="click-api/net/sf/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/net/sf/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/net/sf/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/net/sf/click/Page.html#path">path</a>
property to Velocity context.
</li>
<li class="change">Fixed SourceViewer missing resource bug which occured 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>
</body>
</html>