Monday, May 18, 2009

Click 1.5.2 now available

Click 1.5.2 is another maintenance release in the 1.5 series. It also includes some new features such as a plug-able security access controller and improved Spring integration.

Please note that this is a non-Apache release. For new projects use Apache Click which is continuing the development of this framework.

Changes are:
  • Added plug-able security access controller (AccessController) to Menu class. This plug-able interface enable use of security frameworks such as ACEGI or JSecurity to control user access to Menu items. This issue was raised by Demetrios Kyriakis [406].
  • Improved performance in situations where many controls are added to a page by decreasing the buffer size used for including HTML imports.
  • Improved Column decorator error handling [495].
  • Improved PerformanceFilter to implement exclude-paths filtering [498].
  • Improved Spring integration with SpringClickServlet [534].
  • Improved CompressionServletResponseWrapper and CompressionResponseStream classes to have public visibility to enable use in custom servlet Filters [547].
  • Fixed Column sorting to recognize numbers inside strings. This issue was raised by Venkatt Guhesan [489].
  • Fixed a bug where FieldSet was not set as the parent of its child controls. This issue was raised by James P Brown [497].
  • Fixed DateField setup to destroy the DHTML calendar instance when the popup is closed. This fixes a memory leak where calendar instances are not cleaned up [499].
  • Fixed FormTable sorting bug. Added FormTable sort methods setSortedColumn, setSortedAscending, setPageNumber for programmatic sorting. This issue was raised and fixed by Ben Warner [527].
  • Fixed a bug in AutoCompleteTextField where if the field was removed from a Form, its JavaScript resources would still be rendered. This issue was raised by Paul Zammit [546].
  • Fixed extras pom.xml dependencies [492].
  • Updated Velocity library to version 1.6.2.
Enjoy.

The Click team.

Wednesday, March 11, 2009

Documentation ported to Docbook

Gilberto C. Andrade recently ported Click's documentation to Docbook using Michael Fuchs HTML to Docbook converter.

This is really great news as we can now generate the documentation in both PDF and HTML formats.

Below is a screenshot of how the PDF looks like:



And here is how the HTML version looks like:



To generate the docs we use a modified version of the Velocity Docbook Framework. The modifications include upgrading to the latest versions of Apache FOP and Docbook XLS.

To achieve syntax highlighting for our source code we include the XSLTHL library.

The only issue I encountered was that XSLTHL doesn't work with the latest official Docbook XLS release. Luckily the latest snapshot of Docbook XLS resolved the issue.

We hope the new format will make it easier to read and learn Click.

The Click team.

Sunday, February 15, 2009

Apache Click 2.0.1 now available

Apache Click 2.0.1 is the first release from the Apache Software Foundation Incubator and is based on the 1.5.1 code base.

Both 1.5.1 and 2.0.1 are considered stable and only bug fixes will be applied to these branches. New development will happen on 2.1.0, the next major version of Apache Click.


For this release we had to make some changes especially around incompatible licensed third-party software. Below is a short summary of these changes. More details and upgrade notes can be found in Roadmap and Changes.

Changes are:
  • Packages were renamed to 'org.apache.click'. When upgrading from older releases you will need to convert from 'net.sf.click' to 'org.apache.click'.
  • DateField used the incompatibly licensed JSCalendar which had to be dropped. Don't worry though, DateField still exists and has been converted to a TextField which understands how to parse and format Date objects. Further a new Click Calendar project was created which is a port of the old DateField functionality. The Click Calendar jar contains a single class called CalendarField which subclasses DateField and has the same API and functionality as the old DateField. When upgrading you can just rename your old DateField to CalendarField to get the popup calendar working.
  • The Chart controls was also using an incompatible licensed JavaScript library and these components was removed. A new project called Click Charts was created for these components. They still use the 'net.sf.click' package so no code changes will be necessary.
The next major release will be 2.1.0 and a new feature roadmap is being determined.

Enjoy.

The Click team.

---

Apache Click is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

Friday, January 23, 2009

Click 1.5.1 now available

Click 1.5.1 is a minor maintenance release which includes Turkish language support, improved exception handling and some minor bug fixes.

Changes are:
  • Added Turkish language support. This issue was raised and fixed by Ali Ok. [476].
  • Improved exception handling when a Control name is not defined [473].
  • Added new constructors to extra controls which accepts the size attribute. This issue was raised by Christophe Foiret [475].
  • Added MessageFormat support to Format through the methods message(String, Object) and message(String, List). This issue was raised by Yu Kobayashi [474].
  • Added new methods to CheckboxTree for improved customization. The new methods include renderCheckbox and getInputType.
  • Added csv mime type. This issue was raised by Alvin Townsend.
  • Fixed URL rendering to encode ampersand characeters. [483].
  • Fixed HiddenField to work with java.sql.Timestamp, java.sql.Time and java.sql.Date. [484].
  • Fixed WebappLoader to reload Velocity global macro's [467].
  • Fixed Page.setRedirect to check if redirect path starts with context path. This issue was raised by Christophe Foiret [468].
  • Fixed a regression when manually setting the Page path to a JSP. [141].
  • Fixed DateField's French translation. This issue was raised by Alvin Townsend.
Enjoy.

The Click team.

Sunday, November 9, 2008

ClickIDE 2.1.0 released: support Click 1.5

A new version of ClickIDE is available. This release supports Click 1.5 and Eclipse 3.4/WTP 3.0.

Important links:

Enjoy Click!

Saturday, November 1, 2008

Click 1.5 final is released!

Click 1.5 is production ready and available for download.

This is our biggest release yet with numerous new features, enhancements, documentation and examples.

We would like to thank everyone for their contributions to the 1.5 release.

Important links:

Highlights for 1.5 include:
  • Container - new interface for building arbitrary complex, hierarchical Controls.
  • ActionListener - new interface provides compile time safety and support for code refactoring tools.
  • Performance have been enhanced by rendering markup from a single buffer. In previous releases each Control managed its own internal String buffer. Our tests indicate performance gains of up to 40%.
  • Services - Click core has been refactored into pluggable services.
  • Added Freemarker support as an alternative templating engine to Velocity. See FreemarkerTemplateService for configuration details.
  • Provide three logging service implementations: ConsoleLogService, JdkLogService and Log4JLogService
  • Mock Test Support - introduces an easy to use package to write Unit and Functional Tests.
  • ControlRegistry - enables two phase listener dispatch, which allows Controls to bind request parameters before listeners are fired.
  • A new deployment strategy allows deployment of resources directly from jars.
  • New Renderable interface allows alternative paginator implementations for Table. Two implementations are available with Click 1.5: TablePaginator and TableInlinePaginator.
  • A new Powered by Click section was added. If you would like to add your own site to this list, please drop us a mail at one of our Mailing Lists, or directly to "sabob1gmailcom".
New documentation:

New examples:
Issues resolved since RC3:
  • Added Dutch language support, contributed by Christopher Highway.
  • Improved Form to process controls even if their names is not defined. [463].
  • Fixed ContainerUtils.copyTo where the wrong getter method could be used when a domain object contains multiple overloaded getter methods. This issue was raised by Alvin Townsend [461].
  • Fixed Column internal Comparator which does not take sort order into consideration for non Comparable instances [462].
  • Fixed Panel.getId() to return null if name is not defined [464].
  • Fixed VelocityTemplateService to cater for custom defined Velocity loggers. This issue was raised by Vikram Natarajan [465].

Enjoy Click!

The Click team.

Monday, October 20, 2008

Click 1.5 RC 3 is here!

This marks the third (and final) release candidate as Click is rapidly progressing towards a stable 1.5.

We urge everyone to try out RC3 and provide feedback via our mailing lists and issue tracker.

New examples for this release:
  • Wizard demo shows how to leverage a stateful page and Panels to create a process flow. Each Step in the process is represented by a Panel which is managed by the stateful Page.
  • Populate on select shows how items in one combo box is populated based on the selected item in another using JavaScript.
  • FormTable demo shows how a FormTable can be used together with an existing Form.
  • Page link tree provides a demonstration of using the Tree component to link to different pages.
New documentation:
Issues resolved for RC3:
  • Added FormTable.properties containing a new property formtable-error. When adding FormTable to an external From, the formtable-error will be displayed if one of the FormTable fields contains an error.
  • Renamed ContainerUtils method getFields to getInputFields which better reflect its behavior [457].
  • Fixed TabbedForm and TabbedCayenneForm to import JavaScript and CSS from their superclass. This issue was raised by Christophe Foiret [450].
  • Fixed CayenneForm performing multiple inserts [452].
  • Fixed FormTable duplicate HTML imports [453].
  • Fixed XmlConfigService not deploying JAR resources [454].
  • Fixed Page.setRedirect to guard against duplicate context paths. This issue was raised and fixed by Ricardo Lecheta [456].
  • Fixed CountrySelect to exclude duplicate countries. This issue was raised and fixed by Christopher Highway [458].
Enjoy Click.

The Click team.