Planned Enhancements

Bugs To Fix

In IE and FF, tabbing out of Start Date to Cancel doesn't trigger CustomError validation.

In IE, tabbing out of Select component does not trigger CustomError validation except in "With Layout" and "Components CRUD" examples.

In IE7, error messages are misaligned to the left and are missing the dot-point decoration.

Modify CustomForm to support autofocus.

Bugs That Won't Be Fixed

During Selenium tests of v2.0.0, a JavaScript error occurs repeatedly: "dojo is not defined".
It doesn't seem to break anything but it appears to be the reason that the v2.0.0 tests run
slower than v1.5.0.

v5.7.0 (15 Apr 12)

Improved: Optimistic lock handling revisited - updated every example that edits an entity.
Previously, it was possible in many examples to push past an error message about optimistic locking just by submitting the form again.

Improved: Modified all "change" session bean methods to handle the vagaries of EntityManage#merge(): Previously, if an entity you were
changing had been deleted by others then the merge() would add it again (with a new id). This is now detected and an exception thrown.

Improved: In components, replaced t:container with t:content throughout to improve previewability of components.

Improved: Replaced StringBuffer with StringBuilder throughout since Tapestry and EJBs are both thread-safe.

v5.5.1 (26 Dec 11)

Fixed: Small fixes to ZoneUpdater.java and StylingLinksAndSubmits1.tml.

Improved: Small tweaks to several other examples.

v5.5.0 (12 Nov 11)

Improved: Tweaks to "What is Called and When" and "AJAX: What is Called and When".

Improved: Uses full JavaEE API, 5.0.3. Was using 5.0-3 which is missing javax.mail.

Improved: Uses latest Joda Time, 2.0. Was 1.6.2.

v5.4.23 (23 Oct 11)

Improved: Small tweaks to some descriptions and comments.

Improved: Added informal parameter support to CustomForm.

v5.4.22 (19 Oct 11)

Modified: Replaced BeanEditForm with Form in "Sharing Across Multiple Pages" because this example now appears before BeanEditForm is introduced.

Fixed: Several typos.

v5.4.21 (17 Oct 11)

Fixed: The "Grid with Delete Column" and "Loop with Delete Column" examples can't do optimistic locking because toValue(...) is not
returning a person and it builds up a list of personIds, not persons.

v4.12.2 (5 Aug 10)

v4.12.1 (31 Jul 10)

Fixed: When confirming delete in the Ajax Filter Crud example, clicking cancel resulted in a submit, not a cancel.

Improved: General code and comment improvements to the CRUD examples that involve components.

Improved: General code and comment improvements to ReturnTypes1 and RunJetty.

v4.12.0 (26 Jun 10)

Added "AJAX Validators" example.

Improved: Explicit use of the GridPager in the CRUD examples so that the range parameter can be set (thanks Petros).

v4.11.1 (22 Jun 10)

Fixed: Creating a fresh project failed to use your package name in some classes, would not run correctly in JBoss because LogIn.tml should be Login.tml, and integration test was failing while waiting for the site to start running.

Fixed: The highlight in the list in the AJAX CRUD examples sometimes stopped. It's still a problem when the GridPager has inplace="true". See https://issues.apache.org/jira/browse/TAP5-1162.

Fixed: Simpler, more robust handling of bi-directional relationships with a pattern from http://blog.xebia.com/2009/03/16/jpa-implementation-patterns-bidirectional-assocations/. The previous technique sometimes tripped up on hibernate proxies.

v4.8.0 (17 May 10)

Added Components CRUD example.

Added AJAX Filter CRUD example.

Added AJAX Components CRUD example.

Added AJAX Graceful CRUD example.

v4.7.2 (09 May 10)

Improved: better handling of disabled javascript by adding checks for form errors to the start of many onValidateForm() methods.

Improved: Handling a Bad Context has replaced Persisting Through the Redirection. It's a sounder approach.

New: Interfacing to EJB3 explained.

New: Examples of handling associations, aggregation, and composition in the business layer and to a degree in the web layer.

New: Business layer tests that cover every business exception class and entity relationships.

v3.12.0 Min (13 Aug 08)

New: Upgraded to use the newly released Tapestry 5.0.14.

v3.11.0 Min (1 Aug 08)

New: Creating validators and translators.

New: Example of ApplicationState.

New: How to return to previous page.

Improved: Explanations (thanks, Howard).

New: Demo mode, so jumpstart can be demonstrated with certain functions restricted.

v3.10.1 Min (12 Jul 08)

Fixed: Misleading version number shown on LogIn screen.

v3.10.0 Min (12 Jul 08)

Improved: Moved templates and properties to same location as their corresponding java
(this breaks convention, but I have found no good reason to be jumping endlessly between the webapp/
and java/ sub-trees. "Give the web designers access to main/java/" says I!)

Improved: re-implemented DateMidnightField and LocalDateField as wrappers around DateField.

Fixed: BaseEntityAutoGenId.equals(...) was flawed. A better equals() is now in all entities.

Fixed: Date pickers would reject all dates when the input format was set to use a 2-digit year.

Improved: General code improvements.

v1.6.1 and
v1.5.1 (2 Aug 07)

Fixed: DateMidnightPicker not working in IE or Firefox. (Max 1.6)

Fixed: Some search pages using the Table component (Max only) erroneously logged an error:
"setId(java.lang.String) not found in jumpstart.max.business.domain.base.BaseEntity".
Occurred with Windows JDKs but not OS X (strange).
Solved by renaming BaseEntity's abstract method getId() to getIdForMessages().
(Applied same fix to Max and Min in 1.5 and 1.6).

v1.6.0 (23 Jul 07)

New: Upgraded to Tapestry 4.1.2, using features only available from 4.1.2 onwards.

v1.5.0 (23 Jul 07)

Improved: Adopted Maven-style project structure.

Improved: Using an Ant builder to populate the exploded EAR file.
Had been waiting on Eclipse to solve this in 3.3 without Ant, but 3.3 has arrived without it
(see https://bugs.eclipse.org/bugs/show_bug.cgi?id=127994).

Improved: Selenium incorporated into the EAR. (Max)
Previously used the "chrome" proxy, but changes to dojo have
exposed weaknesses
in this approach.

v1.4.1 (04 Jun 07)

Improved: Enabled use of JBoss 4.2.0, which supports EJB3 natively.
The changes are (1) in build.properties, replaced jboss-4.0.5.GA with jboss-4.2.0.GA, and
(2) in build.xml, replaced log4j-1.2.8 with log4j-1.2.14.

Fixed: Web test TestFrontPage was failing because it checked for v1.3, not v1.4, on the front page.

v1.4.0 (03 Jun 07)

New: Borders example.

New: Feedback link.

v1.3.1 (01 Jun 07)

Fixed: The revision of engine services had not been updated in Min and had typos in Max.

v1.3.0 (01 Jun 07)

v1.2 (08 May 07)

New: The age-old web problem of duplicate submissions is addressed by two new
elements, replacing the old Synchronizer Token solution:
1. "Do It Once" components (SubmitOnce, DirectLinkOnce, etc.) prevent re-submission
caused by multiple clicks. (Max)
2. Redirect-After-Post prevents re-submission caused by the user choosing Reload
in their browser. (Max)
Examples demonstrate the old and new solutions in action. (Max)

v0.5 (31 July 06)

v0.4 (16 July 06)

New: Global renamed to ServicesLocator and moved from .application file to hivemodule.xml.

New: WebEngine made redundant and deleted.

Fixed: MyProfileEditPage. Error in html.

v0.3 (11 July 06)

New: Table component used in all search screens, giving pagination and sorting.

New: User can modify own profile.

New: Password change and reset pages.

Fixed: Security vulnerability. Login is possible without knowing a password simply by using
a browser that has previously been logged in, then using Back button to go back
to first screen after login and pressing Refresh. The login info will be re-posted.
With thanks to Bernard Lange and Petter Mahlen.

Fixed: Tapestry error page is being displayed when user accesses a login-protected page
while not logged. Go to Login page instead.
With thanks to Bernard Lange.