• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Backtracking woes
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Backtracking woes


  • Subject: Re: Backtracking woes
  • From: Anthony Paras <email@hidden>
  • Date: Thu, 16 Sep 2004 05:24:51 -0400

Title: Re: Backtracking woes
What I do to keep the users honest is have a hidden field that stores a different id for each response and look for that id in the response:

    public void takeValuesFromRequest(WORequest request, WOContext context) {
        if (rrid.equals((String)request.formValueForKey("rrid"))) {
            super.takeValuesFromRequest(request, context);
        }
    }

    public WOActionResults invokeAction(WORequest request, WOContext context) {
        if (rrid.equals((String)request.formValueForKey("rrid"))) {
            return super.invokeAction(request, context);
        } else {
            setErrorString("Your last action could not be processed.
While editing, wait for the page to fully load before clicking any buttons,
and do not use your browser's 'Back' button."
);
            return this;
        }
    }

    public void appendToResponse(WOResponse response, WOContext context) {
        rrid = String.valueOf(System.currentTimeMillis());
        super.appendToResponse(response, context);
    }



On 9/16/04 3:41 AM, "email@hidden" <email@hidden> wrote:

Hi!

Have a look at the 'Client-side backtracking' sample code on my web page (http://homepage.mac.com/I_love_my/webobjects.html). This allows for detection of client-side backtracking. It also allows for saving and restoring state upon backtracking. I.e. your resultSetCurrentPage ivar can be returned to its previous value when the user backtracks.

Pierre.
http://homepage.mac.com/I_love_my <http://homepage.mac.com/I_love_my/webobjects.html>

-----Original Message-----
From:  webobjects-dev-bounces+pierre.bernard=email@hidden  [mailto:webobjects-dev-bounces+pierre.bernard=email@hidden]On  Behalf Of Benjamin Adair
Sent: Wednesday, September 15, 2004  10:33 PM
To: Apple WO-Dev
Subject: Backtracking  woes


Hello all,

 
I'm getting bit by the whole backtracking thing. I've created a simple  web application to allow our webmaster to maintain the users and groups for  our web site which authenticates against a MySQL database.

 
I'm finding pretty much that whenever the user moves forward within the  application logic and then backtracks within the browser and attempts to do  something else, the application's state doesn't match and I'm having a  difficult time thinking of a way (short of setting the backtrack cache to 0 -  which doesn't really help so much when the browser doesn't refresh the page in  the first place and is so user-unfriendly) to work around things.

 
A specific example. I have a ivar, resultSetCurrentPage. If the user   proceeds to the 2nd page, which increments the ivar, backtracks, and then  attempts to edit a user listed on what was the first page.. They'll end up  editing the corresponding user from the second page.

 
I have read through the following chapter on backtracking:
 
http://developer.apple.com/documentation/WebObjects/Web_Applications/BacktrackingAndCache/chapter_6_section_1.html#//apple_ref/doc/uid/TP30000111  
 
And have played with settings for 'pageRefreshOnBacktrackEnabled' and  read through messages from the list that I have saved over the past year and  really am not finding much luck.

 
It is interesting to me that Apple's Webmail application seems to handle  this properly.. You can read a message, back track, select a different message  to read and it loads properly.

 
Do I need to reorganize my logic? Is there something more I can do? Any  suggestions and help would be greatly appreciated.

 
TIA
 
Ben
 

 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >RE: Backtracking woes (From: <email@hidden>)

  • Prev by Date: SOLVED: handlePageRestorationErrorInContext page name?
  • Next by Date: Re: Dev Environment Gone Haywire: Java Client Optimistic locking
  • Previous by thread: RE: Backtracking woes
  • Next by thread: Re: Backtracking woes
  • Index(es):
    • Date
    • Thread