Return-Path: Delivered-To: apmail-cocoon-users-archive@www.apache.org Received: (qmail 80977 invoked from network); 15 Mar 2006 16:51:37 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 15 Mar 2006 16:51:37 -0000 Received: (qmail 77730 invoked by uid 500); 15 Mar 2006 16:51:33 -0000 Delivered-To: apmail-cocoon-users-archive@cocoon.apache.org Received: (qmail 76746 invoked by uid 500); 15 Mar 2006 16:51:30 -0000 Mailing-List: contact users-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: users@cocoon.apache.org List-Id: Delivered-To: mailing list users@cocoon.apache.org Delivered-To: moderator for users@cocoon.apache.org Received: (qmail 69136 invoked by uid 99); 15 Mar 2006 16:45:31 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) X-MimeOLE: Produced By Microsoft Exchange V6.0.6487.1 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C6484F.D1D49A46" Subject: Back button issues with multipage forms Date: Wed, 15 Mar 2006 08:45:08 -0800 Message-ID: <6563DCB2E2AFBA4AACB3AC151A0B241D0985A1@mailserver.invoqsystems.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Back button issues with multipage forms Thread-Index: AcZIT9HPXYq8ZW52SFaNMIgsIrDifQ== From: "Craig Gulliver" To: X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N ------_=_NextPart_001_01C6484F.D1D49A46 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I have several forms that use the multipage wizard. The basic idea is that the form has multiple group widget containers that can be hidden or displayed based on user actions(ie button clicks really). And are controlled using button event handers (on-action events) in the form definition. =20 My problem is stemming from the use of the back button with these types of pages. =20 The first thing I investigated was how continuations would solve my problem. It seemed like the right candidate to provide a solution. I turns out that even with continuations these forms still do not behave as I expect. I tracked the issue down to the fact that the form and it's state are not recorded at each continuation. The result is that the form widget states do not revert. In other words, the continuation does not have this state when applied to the process. =20 To illustrate: =20 * Displaying form with group A and group B. Group A is active, and Group B is invisible. =20 * User submits the form using the flip button, the buttons event handler flips the state of each Group so that A is invisible and B is active. =20 * User hits the browser back button, then hits the flip button again. The form processing shows that the state is that in step 2 instead of step 1. The state of these widget containers affect how the request is processed, and explains the strange behaviour. =20 Another item I came across was the use of page local. The cocoon object provides a function called createPageLocal. The returned object is used to store local page variables that can be restored when a page is resubmitted (ie back button is used). There is not much documentation surrounding this feature. I was not able to solve my problem using it. Either I was using it incorrectly, or it's the wrong solution. Does anyone have any experience with this feature, and if so is there documentation for it. Would it solve my problem, or am I running down a rabbit hole? =20 I would think that we are not the first to run into this problem. However, I have not found any mention of it on the forums, wiki, or supporting cocoon sites. =20 Does anyone have an answer to this problem? =20 Thanks in advance, =20 =20 Craig W Gulliver=20 =20 =20 ------_=_NextPart_001_01C6484F.D1D49A46 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

I have several forms that use the multipage wizard.  The = basic idea is that the form has multiple group widget containers that can be = hidden or displayed based on user actions(ie button clicks really).  And = are controlled using button event handers (on-action events) in the form definition.

 

My problem is stemming from the use of the back button with = these types of pages.

 

The first thing I investigated was how continuations would solve = my problem.  It seemed like the right candidate to provide a = solution.  I turns out that even with continuations these forms still do not behave = as I expect.  I tracked the issue down to the fact that the form and = it's state are not recorded at each continuation.  The result is that the form = widget states do not revert.  In other words, the continuation does not = have this state when applied to the process.

 

To illustrate:

 

* Displaying form with group A and group B.  Group A is = active, and Group B is invisible.

 

* User submits the form using the flip button, the buttons event handler flips the state of each Group so that A is invisible and B is = active.

 

* User hits the browser back button, then hits the flip button again.  The form processing shows that the state is that in step 2 = instead of step 1.  The state of these widget containers affect how the = request is processed, and explains the strange = behaviour.

 

Another item I came across was the use of page local.  The = cocoon object provides a function called createPageLocal.  The returned = object is used to store local page variables that can be restored when a page is resubmitted (ie back button is used).  There is not much = documentation surrounding this feature.  I was not able to solve my problem using it.  Either I was using it incorrectly, or it's the wrong = solution.  Does anyone have any experience with this feature, and if so is there = documentation for it.  Would it solve my problem, or am I running down a rabbit = hole?

 

I would think that we are not the first to run into this = problem.  However, I have not found any mention of it on the forums, wiki, or = supporting cocoon sites.

 

Does anyone have an answer to this = problem?

 

Thanks in advance,

 

 

Craig W Gulliver 

 

 

------_=_NextPart_001_01C6484F.D1D49A46--