About   -   Contact   -   Purchase   -   Search   -   What's New

Web Page Sequencing
When writing components for deployment in web applications you need to think about the sequence in which the user does things in the web browser. For example the user can spawn new instances of browser windows from a hyperlink in your application continue processing, close down the browser window and attempt to continue in the old window.

This can cause some problems for simple stateless applications but is an even bigger problem for stateful/legacy converted applications. Think of the scenario where a user deletes a row of data which is stored in the component, then hits the back button a few times and continues to work on the row they just deleted. The user could also spawn a new windows makes a few edits then save their work, closes the window and elects to save the old work in the old window, overwriting their new work.

My first thoughts on this subject where to remove the browser features that allowed the user to do this, so I opened up my own frame with no browser controls, disabled the right mouse button and other tricks. However this soon became a nightmare with different versions of browsers requiring different code and various other problems, so I sought a different and more user friendly solution.

I came up with the idea of sequencing the web pages, when each page is create on the server a hidden field is sent to the client containing the next sequence number from the browser. Whenever a form is received from a client this sequence number is checked to see if it is equal to the last number sent to the client. If the number does not match, then user is told about the probable causes of the problem and the component is recycled and the user starts again. The user soon learns not to use the back button during processing.

One last point is to make sure you have good navigational links to remove the need for the user to use the back button in the first place.


Top of Page

Legal Notice

Ken Howe 2011