How do I make simple multiple user access app?

Rob Cozens rcozens at pon.net
Thu Jun 30 10:08:13 EDT 2005


Hi Keith,

>What's the very simplest way to build a basic card database stack which 
>needs to be used by more than one person at once?
>
>This is a simple data capture tool which creates a new card for each chunk 
>of data that's entered (details on a new product) and spits out a 
>tab-delimited text file to be sent off to another organisation for their use.
>
>There's probably no need to alter existing data, but it would be necessary 
>to let the user browse through previous entries. Easy enough: 
>previous/next, popup menu listing the cards by product title, etc. We're 
>talking just hundreds of items here, with simple sub-categories to keep 
>browsing manageable if it grows much beyond that. But here's the twist...
>
>It is likely to be left open on someone's screen, but it is also likely to 
>be needed by one or two other people at the same time.

It's not clear to me if more than one user needs to add new cards to the 
app.  If they do not, just publish the app on the network and only allow 
write access to the person responsible for updating.

Assuming your needs are not that simple, you must script a means of 
coordinating updates to the database among different the different runtime 
instances of the app.  One method is to use a "control file" which a user 
must gain control of before updating the db.  This allows you to avoid 
using interprocess communications for coordination; but it is more 
vulnerable to data collision.  The other alternative is a client-server 
approach, which avoids data collision by funneling all db access through a 
server app.  This is my preferred approach; but it involves scripting for 
interprocess communication.  The client-server approach is exemplified in 
SDB <http://wecode.org/serendipity/>.

One other note, either method also requires a mechanism to allow one user 
to lock a record to prevent others from changing it while she is working 
with it.  SDB  allows both explicit (ie: by record) and automatic (ie: last 
record accessed) record locking.

Rob Cozens CCW
Serendipity Software Company

"And I, which was two fooles, do so grow three;
  Who are a little wise, the best fooles bee."

  from "The Triple Foole" by John Donne (1572-1631) 




More information about the use-livecode mailing list