System automatically updating sale info while it's being edited

Project:Auction Manager
Version:0.9.9
Component:Uploading / Downloading
Category:Feature Request
Priority:Normal
Assigned:Unassigned
Status:Active
Description
It would be ideal if Auction Manager could support a multi-user environment, where both computers run from a single database over a local area network. The following would be required (using an example of editing a sale):
- A status table to hole status information for each table in the database. Each row in the table would hold information on if the table has been edited, when it was last edited, what rows are currently being accessed (therefore locked), etc.
- When a user starts editing a sale, Auction Manager will set the sale ID in the status table to say it is in use, and therefore locked.
- Auction Manager will check the table when the user goes to edit a sale. If that sale ID is listed as being locked, it will not allow the user to edit it, saying it is in use by another user.
- When the sale is finished editing, the database is updated and the ID is removed from the status table.
- Auction Manager will poll the status table (every 1 - 5 seconds) to check if any data has changed. If detected, it will update the tables in memory from the database. The status table will hold IDs for the rows that have changed. For each changed row Auction Manager will update the details in the table. If the row is not shown, it will check to see if it now passes the current filter and should be added.
- For automated system updates of information, user changes will be lost. I am not sure how these will be handled, as for example, the process que cannot wait for other users. More information to come...