[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnumed-devel] test web app to try out

From: Tim Churches
Subject: Re: [Gnumed-devel] test web app to try out
Date: Sun, 13 Feb 2005 18:14:54 +1100
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

catmat wrote:

Tim Churches wrote:

catmat wrote:

Demographics functions:

- new identity
- find identity
- edit identity

thanks for the testers. I found a bug where jean-luc picard was there 5 times, and his name and identity wasn't in the database, but was still turning up in the
search.  Must be a cache somewhere I forgot about.
It disappears once I restarted catalina and reloaded the webapp.

That was me - I was deliberatley abusing the browser "back" button to replay previous inputs. Detecting and handling such use of the navigation buttons is the hardest aspect of building riobust Web apps.

Tim C

another role for febrl deduplication , er?

Not really. Febrl is good for subtle duplicates, but Web apps also need to check for replayed browser state and decide what to do if they encounter a previous state. In this respect they are fundamentally different from GUI apps, because (at least in stateful Web apps such as any Web app which updates a database) the user can cause the state shown in the browser to get out of sync with the state of the app logic just by hitting the back button a few times. One technique is to serialise all transactions with the app within a session by giving every interaction a unique number, and then checking for replays of previously issued numbers. Teh probelm then is what to do if you encounter a replayed number. Do you tell the user to stop using teh browser back button (they hate to be told that, and it doesn't work anyway), or do you just process the replayed input on teh assumption that teh user understnds what they are doing (and possibly clobber lots of subsequent updates they made), or what. No right or even good answers. I hate building Web apps...

Tim C

reply via email to

[Prev in Thread] Current Thread [Next in Thread]