Enterprise: when do clients synchronize?


#1

From what I can gather from the documentation, client databases synchronize with the server:

  1. when the client database is opened
  2. when “synchronize” is selected from the “File” menu

Is that correct?
Does that mean if two people are using a database over time, they won’t see each other’s changes until one of the two conditions, above, occur?

I was hoping there might be a way to automagically update the server and other clients when data is updated by one user.

Preferably without blindly doing a “synchronize” every n minutes.

TIA for any comments/thoughts/suggestions … :slight_smile:

– Mark


#2

Yes, those are the only times the entire database is synchronized.

Panorama will also synchronize an individual record when that record is locked. So you will never edit stale data. If you double click on a cell to edit it, Panorama synchronizes before editing begins. So if someone else has edited that record recently, you’ll actually see the data change as you double click it.

This also applies if data is modified by a procedure. Suppose you have this procedure.

Qty = Qty-1

If two different users run this procedure, the result will be that 2 is subtracted from the quantity.

The server always updates immediately after a change is made on any client.

other clients when data is updated

No, no way to do that other than already mentioned. If it was possible, it would be super disruptive to users. When a synchronization is done, it changes the sort order and does a select all. As a user, you wouldn’t want that to happen all of a sudden while you were working.

If you have a procedure that generates a report, you might want to put a synchronize statement at the front to make sure that the report contains the most up-to-date information.


#3

I believe each record is synchronized and locked when any field is clicked open so everybody will see a current copy of an individual record. You could always write a .modifyrecord or a .currentrecord procedure and tell it to synchronize. However, you will get a lot of synchronizing this way.


#4

See pg 135 in the Enterprise documentation for more details.


#5

Aha! I knew this was great software with great thought and care put into it. I guess I didn’t find that detail in the documentation.

Exactly what my experiments showed me. Even when using both ..PreSynchronize and ..PostSynchronize delegates to reset the sort and selected states

Ah, that’s a good suggestion.

Thanks!

– Mark


#6

RAmeeti and JeffK: Thanks. :slight_smile: