Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-11847

Dedupe rule names incompletely changed

    Details

    • Type: Bug
    • Status: Done/Fixed
    • Priority: Major
    • Resolution: Fixed/Completed
    • Affects Version/s: 4.3.0
    • Fix Version/s: 4.3.0
    • Component/s: Core CiviCRM
    • Labels:
      None

      Description

      As part of CRM-10885, the internal names for some dedupe rules were changed:

      • IndividualComplete => IndividualGeneral
      • IndividualFuzzy => IndividualSupervised
      • IndividualStrict => IndividualUnsupervised

      Each rule corresponds to a PHP class (CRM_Dedupe_BAO_QueryBuilder_{$name}), and the classes were renamed. Each rule should also be registered in the DB (civicrm_dedupe_rule_group); renaming of the DB records appears incomplete:

      1. A quick grep of the source tree shows IndividualComplete (old) still appears in the sql files and IndividualGeneral (new) does not. However, 'IndividualSupervised' (new) and 'IndividualUnsupervised' (new) do appear.

      2. None of the names appear in 4.3 upgrade scripts. This means that any existing sites will be unable to use these query-builders.

      I believe this is causing "CRM_Contact_BAO_DupeContactTest::testDupesByParams" to fail. The deduper tries to use the specialized class for "IndividualComplete" (old); when it finds the class missing, it falls back to generic deduping. (The fallback is described in CRM_Dedupe_BAO_RuleGroup::tableQuery.) The generic deduping behaves differently than expected, so the test fails.

        Attachments

          Activity

            People

            • Assignee:
              pratik.joshi Pratik Joshi
              Reporter:
              timotten Tim Otten
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: