Subject Re: [firebird-support] Suggestions wanted
Author Daniel Rail
Hi,

At March 25, 2004, 11:15, Michael Vilhelmsen wrote:

> We have made an application which runs on FB using IBO and IBX comp.
> Some of our customers connects to a Windows Server running Citrix,
> and runs the program from there.

> This works perfectly, as long as the ISPs line is up and running.

> But every once in a while, a customers internet line is down.
> In this period of time, they cannot use the system !

> Now some of our customers wants a solution where they can do at least
> some work when "offline".

> I have been speculating in making a small appl. that can run locally,
> when there is no internet connection available.

> But how do I syncronize the DB on our Citrix server with whatever
> work the user has been doing locally ?

I think you'll need to answer more questions than that.

Would the customer want to work with existing data? If yes, then how
can you transfer that data if the connection is down? If it's new
data only, then all you might have to worry about is those drop-down
boxes that would be populated from the database(if your application
have some).

If it's new data, you can have negative primary key values(assuming
your PKs are integers), for the local DB. And, when you synchronize
that data with the server you transform those negative values to
proper integer PK values generated by the server's generators.

If you would have modified existing records, then you'll have to
figure out which is the best way to apply the updates. I know
timestamps could be used for each records, but if 2 computers that is
manipulating the same data don't have the same time(i.e. one hour
difference or the wrong date is set in one of the computers), which
timestamp would be good. There are multiple ways to resolve this, but
maybe what you need is something like MIDAS/DataSnap or
kbmMW(www.components4developers.com), that will permit you to
implement a brief-case model.

--
Best regards,
Daniel Rail
Senior System Engineer
ACCRA Group Inc. (www.accra.ca)
ACCRA Med Software Inc. (www.filopto.com)