Two comments.

First, check the total number of "records" you need. I think that there are (at least used to be) upper limits on the total number of files in a directory in some OSes. (That may have only applied to Mac Classic, but it's worth being sure about up front.)

Second, using the semaphore file approach that Jacque suggested is eminently doable and quite simple to implement. It would be pretty easy, e.g., to have a single file that just contained a list of all the card numbers currently open for editing and checking it before allowing a user to edit a card's contents. Equally easy and perhaps a little better from a robustness perspective would be to create a text file called, e.g., card.lok, where card is the name or ID of the card, for a card when it's opened for editing and then deleting that file when the user's done. In either case, a pretty simple command could check to ensure the card the user asks to edit isn't already being edited and take some appropriate action.


On Apr 24, 2005, at 12:56 PM, J. Landman Gay wrote:

On 4/24/05 10:39 AM, Rob Cozens wrote:

I concluded that, since Transcript reserves write capability for the first person to open a stack until she closes it, any scheme that requires concurrent update by more than one user meant opening and closing the data stack with each read or write--which I considered unacceptable overhead. But note that all read-only stacks can be shared by multiple users now.

Actually, while HyperCard works that way, Revolution lets multiple users open a stack and write to it. If two people have the stack open at the same time, either one can overwrite the other's changes. Record locking has to be scripted; often accomplished by writing a small text file to disk that tracks usage.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dan Shafer, Co-Chair
RevConWest '05
June 17-18, 2005, Monterey, California
http://www.altuit.com/webs/altuit/RevConWest

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to