Subject Request for help moving desktop app to multi-user ability
Author Chuck Belanger
Hello,

I have been using IBO for some time, but still consider myself a newbie
and my case in point is that I am starting a new app intended to be used
in the alternative medicine field (I'm an acupuncturist myself), which I
anticipate there may be clinics which would like to use it in a limited
multi-user mode, but I don't have a clue where to start with the
multi-user part.

I use IBO with Delphi 2007 and Firebird.

1. Is there any sample code for handling multi-user issues:

2. What are the best transaction settings? (I've read over the Firebird
Book sections and all I can say is that just confused me, since right
now I use Commited, NOWAIT, AutoCommit (seems to be need for the
InfoPower components to work as intended). I use an explicit POST or
Transaction.Commit at the end of each transaction. If this is wrong, all
I can tell you is that I've been doing monkey-see, monkey-do from some
sample code for a long time. All this has been on a single-user, desktop
situation.

3. How to handle possible errors?

4. Specific code or routines that deal with the possibility that some
tables and their records being updated at the same time?

An example of the last: Years ago I worked in a small Lab equipment
company and because of my computer hobby got myself designated as the
person in charge of the accounting software written in FoxPro (DOS).
That system used a "Signature" field for a number of tables which was
updated with a user assigned number just before updating a record and
then returned to a neutral value right after the update. If the record
had another user's ID during the attempt to update that record, then a
lock was assumed and the update had to wait.

Not sure about the need for something like that with Firebird and IBO.
Can anyone point me in the right direction?

I don't see this app doing table wide changes. Generally, the data is
used in read-only mode, and when not, it is patient data that can be
accessed for read-write only by the practitioner of the patient. Where
it may become multi-user is in using the dispensing of products.
Multiple practitioners may want to access and change inventory for the
same item potentially at the same time. The app in mind is mainly
intended for use by single practitioners, but I can see some clinics
that have a common supplement/herbal remedy dispensary wanting to use
this system for all practitioners in the clinic.


Thank you,

Chuck Belanger