_posts/2010-11-28-apache_click_v2_3_0.html (152 lines of code) (raw):

--- layout: post status: PUBLISHED published: true title: Apache Click v2.3.0 Milestone 1 now available excerpt: Click 2.3.0 Milestone 1&nbsp; is available for download. This milestone contains important new features including <a href="http://click.apache.org/docs/user-guide/html/ch04.html">Ajax</a> support, <a href="http://click.apache.org/docs/user-guide/html/ch02s07.html">Page Actions</a> and light-weight <a href="http://click.apache.org/docs/click-api/org/apache/click/Stateful.html">stateful controls</a>. In addition there are new documentation, examples and other minor enhancements. id: 07b09530-df81-4e3e-b1f2-16aae06c04c7 date: '2010-11-28 08:12:06 -0500' categories: click tags: - release - 2.3.0 permalink: click/entry/apache_click_v2_3_0 --- <p>Click 2.3.0 Milestone 1&nbsp; is available for download. This milestone contains important new features including <a href="http://click.apache.org/docs/user-guide/html/ch04.html">Ajax</a> support, <a href="http://click.apache.org/docs/user-guide/html/ch02s07.html">Page Actions</a> and light-weight <a href="http://click.apache.org/docs/click-api/org/apache/click/Stateful.html">stateful controls</a>. In addition there are new documentation, examples and other minor enhancements.</p></p> <ul> <li><a href="http://click.apache.org/">Click Home</a></li> <li><a href="http://click.apache.org/docs/roadmap-changes.html#2.3.0">Roadmap and Changes</a> - full list of new features, improvements and bug fixes</li> <li><a href="http://click.apache.org/docs/upgrade-path.html#2.3.0">Upgrade Path</a> - please see the upgrade path when upgrading from 2.2.0 or earlier.</li> <li><a href="http://www.apache.org/dyn/closer.cgi/click/click/2.3.0-M1/click-2.3.0-M1.zip">Download Click 2.3.0-M1</a></li> <li><a href="http://repo1.maven.org/maven2/org/apache/click/">Maven bundles</a> </li> <li><a href="http://click.avoka.com/click-examples/">Live examples</a></li> </ul> <p> <b>New features and improvement<br /></b></p> <div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;"> </div> <ul> <li><a href="http://click.apache.org/docs/user-guide/html/ch04.html">Ajax</a> support.</li> <li><a href="http://click.apache.org/docs/user-guide/html/ch02s07.html">Page Action</a> support. </li> <li><a href="http://click.apache.org/docs/click-api/org/apache/click/Stateful.html">Stateful</a> Controls.</li> <li>Improve fields to only be processed if they have an incoming request<br /> parameter. This improvement streamlines dynamic forms since fields<br /> added at runtime during s POST request won't bind their values and<br /> won't be validated for that request. In subsequent requests the Field<br /> will have an incoming parameter and so will have it's value bound and<br /> validated. Another advantage is that dynamically added Fields won't<br /> have their default value overridden in the POST request they were added in.<br /> This issue has been raised by Nirmal Solanki<br /> [<a href="https://issues.apache.org/jira/browse/CLK-722" target="_blank">CLK-722</a>]. </li> <li> Added automapping support for GAE with a caveat that page templates<br /> must be placed under the folders <tt>page</tt> or <tt>pages</tt>.<br /> This issue was raised by Ke Sun<br /> [<a href="https://issues.apache.org/jira/browse/CLK-639" target="_blank">CLK-639</a>]. </li> <li> Added <a href="http://click.apache.org/docs/click-api/org/apache/click/service/MessagesMapService.html">MessagesMapService</a><br /> interface to support pluggable messages map implementations<br /> [<a href="https://issues.apache.org/jira/browse/CLK-655" target="_blank">CLK-655</a>]. </li> <li> Improved <a href="http://click.apache.org/docs/click-api/org/apache/click/util/MessagesMap.html">MessagesMap</a><br /> to be extendable and customizable<br /> [<a href="https://issues.apache.org/jira/browse/CLK-728" target="_blank">CLK-728</a>]. </li> <li> Added support for loading <a href="http://click.apache.org/docs/extras-api/org/apache/click/extras/control/DateField.html">DateField</a><br /> translations for month and day names from the JDK.<br /> [<a href="https://issues.apache.org/jira/browse/CLK-650" target="_blank">CLK-650</a>]. </li> <li> Added support for Menus that do not have <tt>roles</tt> defined.<br /> If no roles are defined,<br /> <a href="http://click.apache.org/docs/extras-api/org/apache/click/extras/control/Menu.html#isUserInRoles%28%29">IsUserInRoles</a><br /> passes a <tt>null</tt> argument to<br /> <a href="http://click.apache.org/docs/extras-api/org/apache/click/extras/security/AccessController.html#hasAccess%28javax.servlet.http.HttpServletRequest,%20java.lang.String%29">hasAccess</a><br /> to determine whether access is permitted to menus without roles<br /> [<a href="https://issues.apache.org/jira/browse/CLK-724" target="_blank">CLK-724</a>]. </li> <li>&nbsp;Added support for absolute page classnames when configuring pages<br /> in <tt>click.xml</tt>. Absolute classnames aids with IDE hot-linking<br /> and is less confusing to use.<br /> [<a href="https://issues.apache.org/jira/browse/CLK-704" target="_blank">CLK-704</a>].&nbsp;</li> <li>Fixed escaping of control values and attributes to be XML friendly<br /> in order to support Ajax requests. Previously all HTML characters was escaped,<br /> now only the following characters are escaped: <, >, ", ', &amp;<br /> [<a href="https://issues.apache.org/jira/browse/CLK-674" target="_blank">CLK-674</a>].&nbsp;</li> </ul> <p> <b>New documentation:</b> </p> <ul> <li>Added a section covering the new<br /> <a href="http://click.apache.org/docs/user-guide/html/ch03s08.html">Behavior</a> support.</li> <li>Added a chapter on <a href="http://click.apache.org/docs/user-guide/html/ch04.html">Ajax</a>,<br /> covering <a href="http://click.apache.org/docs/user-guide/html/ch04s02.html">AjaxBehaviors</a>,<br /> <a href="http://click.apache.org/docs/user-guide/html/ch04s03.html">Ajax execution flow</a><br /> and a full <a href="http://click.apache.org/docs/user-guide/html/ch04s04.html">example</a>.</li> <li>Added a section covering the new<br /> <a href="http://click.apache.org/docs/user-guide/html/ch02s07.html">Page Action</a> support. </li> </ul> <div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;"> <b>New examples:</b> </div> <ul> <li>Added <a href="http://click.avoka.com/click-examples/" class="external" target="_blank">examples</a><br /> showcasing the new Ajax support. See the Ajax Menu for the full list<br /> of examples.</li> <li>Added an example showing how to integrate a <a href="http://click.avoka.com/click-examples/panel/tabbed-panel-with-controls.htm" class="external" target="_blank">TabbedPanel, Form and Table</a>.</li> <li>Added an example showing a <a href="http://click.avoka.com/click-examples/panel/stateful-tabbed-panel-demo.htm" class="external" target="_blank">Stateful TabbedPanel</a>.</li> <li>Added an example <a target="_blank" href="http://click.avoka.com/click-examples/control/field-separator-demo.htm">FieldSeparator Control</a> and example usage page<br /> [<a href="https://issues.apache.org/jira/browse/CLK-544" target="_blank">CLK-544</a>].&nbsp;</li> </ul> <p><b>Removed:</b> </p> <ul> <li>Removed the ability to automatically <tt>bypass validation</tt> for<br /> Forms through JavaScript. This ability was added in 2.2.0 but raised<br /> concerns over security and was dropped for 2.3.0. If you used this<br /> feature in existing applications, please see the<br /> <a href="http://click.apache.org/docs/upgrade-path.html#removed-bypass-validation">Upgrade path</a><br /> for a safe alternative to <tt>bypass validation</tt>. We apologize for<br /> the inconvenience. </li> </ul> <div style="margin-left: -2em; margin-top: 1.5em; margin-bottom: 1em;"> <p><b>Deprecated:</b> </p> </p></div> <ul> <li>Deprecated stateful page support: <a href="http://click.apache.org/docs/click-api/org/apache/click/Page.html#setStateful%28boolean%29">Page.setStateful()</a>. </li> <li class="change"> <p> Stateful pages had the following issues: </p> <ul> <li> Stateful pages was introduced to make it easier to store page state across<br /> multiple HTTP requests. However developing a stateful page is very different<br /> from developing a stateless one and this lead to Click applications that are<br /> inconsistent and harder to maintain. </li> <li> In addition stateful page support has never been implemented consistently<br /> across the framework and some components did not work correctly. </li> <li> Stateful pages are very coarse grained, making it difficult to control<br /> which objects are stored in the session. </li> <li> Stateful pages have also introduced unnecessary complexity in the framework<br /> itself, which can now be phased out. </li> </ul> <p> Unfortunately there is no direct upgrade path from a stateful page.<br /> However the majority of use cases are catered for by the new stateful<br /> support in the controls: Table, Form, TabbedPanel, Field and AbstractLink.</p> </li> </ul> <p>The Apache Click team</p>