That's right. Actually, it doesn't take as much code as you might think . . . just calling the function on the primary events (clicking a button, pressing the enter key, loading a new page, etc.) with the user name and time. The function itself either times out or resets the user table field reffering to the 'last_time_and_date_the_user_accessed_the_application'.
Another thing is that with my applications, user pages are created on the fly with unique names for that user . . . so when timeout occurs, those pages should all be deleted.
My first version on my new website (
www.datatrack.net - is under construction - one non-functional page now) and should be up and running in 2 or less weeks. It would emulate a CFS (Containerized Freight Station) but the concepts are common to many industries.
It is comprised of 26 total pages with the exact functionality we're discussing here. There will be demos for data entry, reports and invoicing. Of the 26 pages, only 3 will be static code and the other 23 will be built on the fly according to data table content and user input. I've currently completed 20 pages and am working on page #21.
The first draft will allow multi-user input but has no record locking . . . so it's good that we're kind of on the same page here (pun intended) because the next step is to work on record locking.
My gut feeling is that it won't be difficult because of the success I've had with lan/wan versions . . . however, one bugaboo might be in writing a user interface that allows the starting/stopping of the monitoring program that runs in the background, since it would be running on the net, i.e. how would it be stopped once it is started? I'm thinking maybe by introducing a variable into the user table that tells it to be on or off . . . such as User Login = "MASTER". The monitoring program would first check the record with a login name of 'MASTER' and look at a logical field called 'PROGRAM_RUN' . . . if it is .T. keep running . . . if it is .F. stop the program. This way maintanance can be done on the user database table.
My main concern is trying to develop a grid control that will work on the web. I've seen them in JAVA but would like to have one with FoxWeb.
Regards,
Gene
Sent by Don Dascher on 12/05/2002 04:18:22 PM:
And to continue ...
(thought of something else) .... Before I would do it that way, I think I would just put a time period of lets say 15 minutes on each lock and if they are still locked after that time period, unlock it.
If the user is actually still working on it ... too bad ... he will soon get the message (no pun intended) that he took too long.