OpenBase provides full two-way synchronization of databases. This means that you can make changes to any database in a group of synchronized databases and those changes will make their way to all other databases.
To setup synchronization first open the Configuration Key Panel for each database and check the “Activate Distributed Key Generation” check-box. Enter the unique Database ID number. It is important that you specify a unique number for each database. The databases will use this information to generate completely different sets of primary keys.
The next step is to specify which tables you would like to synchronize. Select the Configure Synchronization option from the Action drop-down menu. Clicking the new button on the Synchronization Manager interface brings up a login panel which allows you to login to the remote or master database you want to synchronize with. Then specify a table to synchronize and tell the synchronization mechanism what you want to do about conflicts.
Sometimes conflicts arise when two people from different locations edit the same record. The rules regarding how to deal with these conflicts are simple. Either the local database has priority and overwrites changes made by the master database or the master database has priority and overwrites changes made by the local.
When there is a conflict and changes will be overwritten you can elect to create a backup of the overwritten information into a separate table. Backup tables are created on an as needed basis and include all information overwritten by the synchronization process.
The Reset Date button is for resetting the last backup date. It forces the synchronization to compare all records and merge the data in both tables. This is important to do if you drop a table in order to regenerate it.
Synchronization uses timestamps to decide which records have been changed. While the OpenBase synchronization mechanism takes into account differences in time settings between servers, it is very important that the date and time settings are generally correct.
Synchronization will not work if the current date settings represent a time in the past relative to the creation date of some of the records in your database. In other words, records that are created or changed can not have a timestamp that is less than the timestamp of records which were not changed. This will make the synchronization system malfunction.