About default synchronization

We recommend the default settings for synchronization because many customizations are merged automatically, which reduces editing time afterwards. This topic describes the default synchronization process.

Forms

When analyzing a customized form, FormSync makes a three-way comparison between these three versions:

  • Any customized version in the Target configuration
  • The base-level version in the Target configuration
  • The base-level version in the Source configuration

During analysis, FormSync looks at component attributes, such as a component's data source or type, and form attributes, such as a form's caption or script.

If the base-level version of an attribute in the Source is... Then FormSync does this:
...the same as the base-level version in the Target Keeps the customized version of the attribute in the Target without prompting the user.
...different from the base-level version in the Target
  • For customizations to basic attributes, FormSync keeps the customization in the Target without prompting.
  • For customizations to major attributes, FormSync prompts you about how to handle the customization. You can keep it unchanged or replace it with the base-level version from the Source. In cases where a script or event handler is involved, you also have the option to edit the object before committing it to the Target database.
    Note: Merge Options determine what is kept automatically and what requires prompting.
...non-existent (that is, the form or component exists in the Target but not in the Source database) Leaves the new form or component in the Target database alone.

FormSync then replaces base-level versions of forms in the Target with base-level versions from the Source. If the Target does not have a base-level version, the Source version is simply added to the Target.

Global objects

A global object is treated as a unit in synchronization—unlike a form, whose multiple specifications for component attributes and form attributes are handled individually in the merge process. The only options for handling a customized global object are to perform one of these actions:

  • Keep the customized version.
  • Remove the customized version, replacing it with the new version from the Source database.
  • (Only in the case of scripts) Edit the object before committing it to the Target database.
If the base-level version of a global object in the Source is... Then FormSync does this:
…the same as the base-level version in the Target Keeps any customized versions of the object in the Target without prompting you.
...different from the base-level version in the Target Prompts you about how to handle the customization. You can either keep the customized object unchanged or replace it with the base-level version from the Source.
...non-existent (that is, the global object exists in the Target but not in the Source database) Keeps the new global object in the Target database.

FormSync then replaces base-level versions of global objects in the Target with base-level versions from the Source.

Explorer

When synchronizing the Explorer:

  • FormSync replaces the Master Explorer in the Target with the Master Explorer from the Source.
  • FormSync keeps all customized Public folders and My Folders folders in the Explorer in the Target database.

Because the All Forms folder is dynamically created from the forms database, the system automatically reflects any new base-level forms from the Source database. You also have options to remove all customizations and to check for links to missing forms.