Very good question, Don.
This is definitely a problem that needs to be addressed if one is attempting to create a multi-user application on the internet.
One way I overcame this problem with LAN/WAN applications is to have the application check for inactivity by capturing the time that events occur such as the click of a button or validations, with a function.
The user when creating such an event that identifies the maximum time being exceeded, is displayed with a screen that gives the user the option to enter his/her password to continue . . . or to click the 'quit' button.
The function is also designed where if a certain 'grace period' response time is exceeded, the user is logged off and any 'locks' are reset.
But with the web, we don't a single application controlling the user's input requests across the entire session like we do in lan/wan multi-user environments.
I plan to address this problem with this two-step approach:
1. capture user event times and update the user database table
2. create an application that runs in the background checking the user table every 5 minutes (or whatever inactivity interval is utilized) and if the inactivity interval is exceeded, apply the appropriate lock/unlock functionality to the data records.
Perhaps there is another approach the good people at FoxWeb might recommend.
Sent by Don Dascher on 12/05/2002 12:55:47 PM:
I have not really done a lot with FOXWEB other than sending back data in the form of reports, but it is my intention to do so soon. One thing that keeps coming up in my head about WEB Applications is this ...
How do WEB Applications deal with situtations in which a record needs to be locked for some particular reason and then the user just simply leaves without completing the action he was involved with. How does the lock get taken off and when ?
Do we create some program running in the background that does nothing but check on locks and deal with them if they should be unlocked ?
That would seem to be a big problem and I would like to hear the concept of how that is dealt with.