Saturday, October 24, 2009

Netbeans plugin released for Apache Click

Hantsy Bai has announced the release of a Netbeans plugin for Apache Click. Netbeans users can now enjoy the same features provided by ClickIDE, the Eclipse based plugin.

Please note the plugin targets Netbeans 6.7.1 and might not work with earlier versions.

Features of the plugin includes:

  • Wizard for creating a new Click project
  • Wizard for creating new pages and templates
  • Quickly switch between a Page class, template and property (you can also define keyboard shortcuts for these functions)
  • Provides basic code completion, error checking, hyperlinking and refactoring for click.xml and menu.xml

Not sure if its a feature of the plugin or of Netbeans itself, but the plugin automatically recognized my existing Click projects which is a nice touch.

Here are some screenshots of the plugin in action.


• Create a new Click project:


• Create a new Click page and template:


• Switch to the Page template:


• Switch to the Page class:


• Define keyboard shortcuts for the "Go to Page Class", "Go to Page Template" and "Go to Page Properties" functions:

Sunday, July 19, 2009

Click Calendar 1.0.2 now available

Click Calendar 1.0.2 has been released fixing a bug in DateField that can disable Fields when the popup is closed.

Changes are:
  • Fixed DateField calendar popup which blocked keyboard input events after popup was destroyed. This issue was raised by Christophe FOIRET [567].
The Click team.

Saturday, July 18, 2009

Click 1.5.3 now available

Click 1.5.3 is the latest maintenance release in the 1.5 series. It fixes a bug in DateField that can disable Fields when the popup is closed.

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:
  • Fixed DateField calendar popup which blocked keyboard input events after popup was destroyed. Only Internet Explorer is affected. This issue was raised by Christophe FOIRET [567].
  • Fixed maven pom to refer to the correct Velocity groupId.
  • Updated Velocity documentation to version 1.6.2.
The Click team.

Saturday, June 13, 2009

Click 2.1.0-RC1 now available

The Apache Click team is proud to announce the first release candidate of Click 2.1.0. This is our first release that requires Java 5.

All bugs fixes from 1.5.2 are included as well as a slew of new features, examples and documentation. The documentation has been converted to the Docbook format and are made available in three different flavors: PDF, HTML (single page) and HTML (multiple pages).

New features:
  • Added new Calendar popup to DateField. This Calendar popup uses Calendar Date Select which is based on the Prototype JavaScript library. Please note if you don't want a dependency on the Prototype library you can use the third-party Click Calendar instead.
  • Added first class support for HEAD elements such as JavaScript and Css. The following classes were added: Element, ResourceElement, JsImport, JsScript, CssImport and CssStyle. A new method was added to Page and Control: Control.getHeadElements() and Page.getHeadElements() [501].
  • Added SubmitLink control that can submit a Form [519].
  • Added HiddenList control for rendering and submitting a list of hidden fields [491].
  • Added plug-able security access controller (AccessController) to Menu class. This plubable interface enable use of security frameworks such as Spring Security (Acegi) or JSecurity to control user access to Menu items. This issue was raised by Demetrios Kyriakis [406].
  • Added method, ClickUtils.createTemplateModel, that returns a template model containing objects such as the Context path, Page path, HTTP request, HTTP response, HTTP session etc. This method is useful when rendering custom templates.
  • Added ability to specify a custom TreeNode icon through the new method TreeNode.setIcon(String). This issue was raised and fixed by Tim Hooper [494].
  • Added method Format.url for encoding URL's in templates [399].
  • Added method FieldColumn.setProperty that can be overriden to provide custom binding for complex domain objects. This issue was raised and fixed by WarnerJan Veldhuis [528].
  • Added TypeConverter configuration option to ClickServlet. See getTypeConverter() method for details. This issue was raised Joseph Schmidt and fixed by Adrian A. [539].
  • Added Slf4jLogService for supporting multiple application servers. This issue was raised Oliver Burn [555].
  • Added @Bindable annotation support for page field autobinding [556].
  • Improved Page redirect to support parameters. See the new Page methods setRedirect(String, Map) and setRedirect(Class, Map) This issue was raised and fixed by Adrian [536].
  • Improved Link Controls to support multivalued parameters through the new AbstractLink methods getParameterValues() and setParameterValues() [554].
  • Improved Table to support very large datasets by promoting the methods getFirstRow() and getLastRow() as public. These methods provide the necessary information to only retrieve the displayed rows [504].
  • Improved LinkDecorator to support target identfier property parameter names. This issue was raised by Demetrios Kyriakis and fixed by fixed by Adrian A. [400].
  • Improved PickList methods getValueObject() and setValueObject(Object) to delegate to getSelectedValues() and addSelectedValue(String) respectively [490].
  • Improved Spring integration with SpringClickServlet and PageScopeResolver, supporting Spring instantiated Pages with @Component configuration [534].
  • Improved CompressionServletResponseWrapper and CompressionResponseStream classes to have public visibility to enable use in custom servlet Filters [547].
  • Improved Menu control to render attribute class="selected" when the menu item is selected. This issue was raised and fixed by Frederic Daoud [551].
  • Improved PerformanceFilter to implement exclude-paths filtering [498].
  • Improved XmlConfigService to scan for deployable resources inside folders on the classpath [552].
  • Improved Cayenne DataContextFilter, including adding support for LifecycleListener registration [559].
  • Fixed PerformanceFilter and CompressionFilter to properly handle requests [557].

Deprecated:

Updated third-party libraries:
  • Update Velocity library to version 1.6.2.
  • Update Cayenne library to version 3.0M6.
  • Update Prototype.js library to version 1.6.1_RC2.

New Documentation:

New examples:

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.

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.