[Tapestry Logo] Tapestry

Release 2.3-alpha-1

Tapestry is now available under the terms of the Apache Software License. Previous releases were released under the LGPL, but are now retroactively licensed under the ASL as well.

Added a Developers Page.

Removed code dependency on Log4J, using Jakarta's commons-logging wrapper layer instead. Use the Enum implementation from Jakarta's commons-lang library.

Rework dynamic code loading so that a subclass of ApplicationServlet is no longer necessary.

Add methods to INamespace and IPage to make dealing with namespaces and qualified page names easier.

Joe Panico has contributed the PopupLink component.

<jwc id="..."> is no longer allowed in HTML templates.

Upgrade to OGNL 2.3.0.

[ 619481 ] use jakarta commons lang Enum
[ 627478 ] Don't require servlet subclass
[ 614324 ] Add a param "raw" in addition to "key"
[ 627332 ] NPE in BaseValidator (form without body)
[ 557332 ] Use a search path for properties
[ 625721 ] Forms never stateful
[ 637048 ] Add PopLink
[ 643239 ] Add EmailValidator
[ 633608 ] ServiceLink docs missing service param
[ 644235 ] Body component ignores element
[ 643728 ] user supplied RequestContext
[ 643729 ] user supplied MultipartDecoder 
[ 628153 ] add getAttribute to RequestContext
[ 633073 ] Rollover doesn't work in form
[ 631764 ] AbstractComponent API

Release 2.2

Use the version of Jetty that's compatible with JDK 1.2.
[ 619444 ] Contrib:DateField min/max params broken
[ 620496 ] JS net/sf/tapestry/form/Calendar.js

Release 2.2-rc-1

[ 616489 ] IPublicBean not accessible.
[ 616377 ] DatePicker value error
[ 582614 ] ValidField doesn't call getValidator()
[ 617327 ] Contrib:DateField specification invalid
[ 616851 ] Can't redirect to a library page
[ 617867 ] ImageSubmit null image
[ 618317 ] Contrib:NumericField missing type param
[ 618342 ] NPE in AbstractComponent toString

Release 2.2-beta-3

Upgrade to Jetty 4.1.0 and OGNL 2.1.4.

Mind Bridge has contributed a Table component (really, a complete framework for creating sortable tables that present data in page-sized blocks).

We now boldly present our code coverage reports online.

[ 608368 ] DataSqueezer / ClassLoader
[ 608764 ] Work around errant valueUnbound()
[ 608162 ] ExternalService allows only 1 parameter
[ 611551 ] DTD validation error with XML Spy
[ 613441 ] SelectPropertySelectionRenderer HTML
[ 604194 ] Specify charset by Shell component
[ 610376 ] Expose Foreach's index as a property

Release 2.2-beta-2

The ValidField now performs client-side validation of input. If a field is in error when the form is submitted, then an alert is displayed and the field is selected.

Begin making more use of OGNL expressions in place of Java code.

Malcom Edgar has contributed a DatePicker component.

Some more refactorings: IComponent methods addWrapped()/renderWrapped() -> addBody()/renderBody().

Tapestry documentation is now available in PDF format.

[ 602881 ] Add hooks for ValidField client-side
[ 603023 ] StaleSession.page has error
[ 603208 ] Support parameter direction "form"
[ 603269 ] ListEdit improvements
[ 603362 ] Inconsistency in Tapestry_1_3.dtd
[ 603132 ] Add a service similar to ExternalService
[ 582436 ] Script / Required Symbols
[ 604834 ] InspectorButton disabled param
[ 604646 ] ImageSubmit ignores disabledImage
[ 603260 ] make Form "listener" not required
[ 603826 ] IUploadFile provide Mime Type
[ 604944 ] Add DateEdit component
[ 603130 ] Add an initPage() method to AbstractPage
[ 607074 ] Make IMarkupWriter a bit smarter
[ 604201 ] Markup Writer should output XHTML
[ 607451 ] log error when unmatched components

Release 2.2-beta-1

Tapestry has now replaced its simple property path support with the far more powerful Object Graph Navigation Library expressions. This promises to greatly extend the expressiveness of the specifications and further reduce the need for Java code. The property-path attribute of the <binding> element has been renamed to expression (this only affects the latest, 1.3, version of the DTD).

There are some small costs to using OGNL; the largest being a restriction in bean names, component ids and asset names. All of these must now be valid Java identifiers, and so cannot contain the dash ('-') character, which was previously permitted. This affects all specifications, including older versions.

Malcolm Edgar has lead the push to provide an excellent Tapestry Component Reference.

You can now control the exact location of a component template by declaring an asset named $template (which is not normally a legal asset name, due to the dollar sign). If such an asset exists, then it is used as the template.

A number of poorly named components have been renamed:

  • Action -> ActionLink
  • Direct -> DirectLink
  • InsertBlock -> RenderBlock
  • InsertWrapped -> RenderBody
  • Page -> PageLink
  • Service -> ServiceLink
  • ShowInspector -> InspectorButton
  • Text -> TextArea

Previous names will be maintained until at least release 2.3.

In addition, the documentation has been brought (largely) up to date with the significant changes so far in release 2.2.

[ 582421 ] Way to specify template location
[ 596929 ] NumericField params require java-type
[ 597314 ] Problems with URLs
[ 595985 ] Tapestry behind firewall
[ 598609 ] NumericField displayWidth inconsistent
[ 598371 ] Radio and RadioGroup broken
[ 599608 ] App startup exception
[ 599663 ] Disallow spec path a comp. type
[ 601018 ] Use OGNL instead of home brew

Release 2.2-alpha-4

Update to latest versions of JCommon, JFreeChart and Log4J. Added the <extension> element to the application and library specifications.
[ 584040 ] Add hooks for custom configuration
[ 579081 ] getApplicationSpecification
[ 587683 ] Frameset tag for JavaScript
[ 589818 ] Forward, not redirect, to local resource
[ 591352 ] <bean> should allow <property>
[ 592289 ] helper bean: render lifecycle
[ 591801 ] Exception changing log priority

Release 2.2-alpha-3

Tapestry now supports libraries, which can provide components, pages and engine services to an application. Libraries can also include libraries. The application specification has been ammended to include a new <library> element, and a new type of specification, the library specification, has been added.

Renamed all page specifications from ".jwc" to ".page".

[ 584466 ] Cant set bean prop from localized string
[ 494453 ] invalid-date-format message string wrong
[ 584731 ] Text's value parameter required
[ 579843 ] PageLoader INFO msg wrong
[ 586171 ] Add namespace/library support

Release 2.2-alpha-2

Revamp how services construct and parse URLs. Rework service parameters to be typed objects, instead of simple strings (this is a change which may break some existing code).

A new version of the DTD may now be used which distinguishes between page specifications and component specifications (page specifications do not specify several attributes and elements related to component parameters).

[ 581199 ] Slashes in service parameters
[ 581160 ] Wrong case in WAR file name
[ 579583 ] Simplify PropertySelection
[ 581691 ] Object not String for service parameters
[ 582614 ] ValidField doesn't call getValidator()
[ 583665 ] ValidatingTextField specification wrong
[ 583693 ] Extend Block/InsertBlock
[ 534055 ] Make page-spec and comp-spec distinct

Release 2.2-alpha-1

Update to Jetty 4.0.4.
[ 576523 ] Better syntax for Script documents
[ 562964 ] Non-unique app name problems
[ 578869 ] InsertComponent/DateField, null values
[ 578921 ] Error in listener map error message
[ 579131 ] Load order problem with string-binding
[ 579642 ] Rename Direct context param
[ 579689 ] Hidden should convert values
[ 579141 ] IOExceptions related to exception page

More ...

 
©2000-2002 Howard Lewis Ship. All rights reserved.