Siebel CRM Desktop for IBM Notes Administration Guide > Controlling Synchronization > Resolving Synchronization Conflicts >

Examples of Auto Resolver Rules


This topic describes some of the predefined rules that Auto Resolver uses. You can use these rules as a guide when you create your custom rules. The autoresolver.js file contains these predefined rules. You must not modify any predefined rule.

Rule That Resolves Association Conflicts

The following predefined rule resolves association conflicts:

/*** ASSOCIATION AUTORESOLVER ***/

ar_manager.add_rule(new ar_helpers.associations_resolve_rule(ar_ctx))

where:

  • ar_helpers.associations_resolve_rule(ar_ctx) identifies the code that CRM Desktop uses for the rule.
  • ar_ctx identifies the list of the required objects. For example:

    var ar_ctx = {
      "util": util,
      "conflicts_manager": conflicts_manager,
      "application": application,
      "data_model": business_logic.create_siebel_meta_scheme2()

    where:

    • util is a C++ object that contains a number of methods.
    • conflicts_manager is the object that CRM Desktop creates in the interface to the C++ code that the Auto Resolver uses.
    • application is a C++ object that contains a number of methods.
    • data_model is a C++ object that contains a number of methods.
    • You cannot modify a reference to any of these C++ objects.

Rule That Resolves Conflicts for Objects Types

The following predefined rule resolves conflicts for certain object types regardless of field values:

/*** TYPE RULES ***/

ar_manager.add_rule({ types: ["Action", "Account", "Contact", "Opportunity"], resolution_fn: ar_helpers.condition_update_delete_conflict_stopper });

where:

  • types: ["Action", "Account", "Contact", "Opportunity"] is a list of object types where CRM Desktop applies the rule.
  • condition_update_delete_conflict_stopper is the rule that CRM Desktop runs. The autoresove_helpers.js file contains this rule.

Rule That Resolves Conflicts for Fields

The following predefined rule resolves conflicts for certain object types, including field values:

/*** FIELD RULES ***/
// Not synchronized
ar_manager.add_rule({ types: ["Contact", "Opportunity", "Account"], field: "Primary Position Id", resolution_fn: ar_helpers.resolution_resolve_not_synced_field_to("remote", false) });

where:

  • types: ["Contact", "Opportunity", "Account"] is a list of object types where CRM Desktop applies the rule
  • field: "Primary Position Id" identifies the field that contains the data that CRM Desktop uses to resolve the conflict.
  • resolution_resolve_not_synced_field_to is a rule that the Auto Resolver applies only for an object that CRM Desktop has not synchronized to the client. This situation can occur in a deduplication conflict.

The Auto Resolver applies this rule only for an object that it has not synchronized to the client. This situation can occur in a deduplication conflict.

Siebel CRM Desktop for IBM Notes Administration Guide Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Legal Notices.