web-dev-qa-db-ja.com

他のメンバーのプロファイル情報に表示されるCiviCRM電子メールレコード

Drupalモジュールを使用すると、ユーザーはサインアップして独自の資金調達ページを作成できます。すべてのDrupalユーザーは、情報が含まれる同等のCiviCRMプロファイルと照合されます。 Drupalモジュールは、CiviCRMから情報を読み取り、調達額や連絡先情報などのカスタムレポートを表示します。

システム内にあり、他のメンバーのプロファイルに何らかの形でオーバーレイされている1つの電子メールがあります。電子メールの所有者はページを作成していません。彼らの電子メールがどのようにシステムに侵入したのかわかりません。それはすでに2回起こっています。メールで、メールアカウントの所有者は彼らが正しい人ではないと答えました。

これがどのように起こったのか、そしてそれを修正する方法はありますか?

2
Michael Horwitz

CiviCRMにはテーブルcivicrm_uf_matchがあり、CiviCRMの連絡先をDrupal(またはWordpressまたはJoomla)ユーザーにリンクします。その構造は次のとおりです。

CREATE TABLE `civicrm_uf_match` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'System generated ID.',
  `domain_id` int(10) unsigned NOT NULL COMMENT 'Which Domain is this match entry for',
  `uf_id` int(10) unsigned NOT NULL COMMENT 'UF ID',
  `uf_name` varchar(128) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'UF Name',
  `contact_id` int(10) unsigned DEFAULT NULL COMMENT 'FK to Contact ID',
  `language` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'UI language preferred by the given user/contact',
  PRIMARY KEY (`id`),
  UNIQUE KEY `UI_uf_name_domain_id` (`uf_name`,`domain_id`),
  UNIQUE KEY `UI_contact_domain_id` (`contact_id`,`domain_id`),
  KEY `FK_civicrm_uf_match_domain_id` (`domain_id`),
  KEY `I_civicrm_uf_match_uf_id` (`uf_id`),
  CONSTRAINT `FK_civicrm_uf_match_contact_id` FOREIGN KEY (`contact_id`) REFERENCES `civicrm_contact` (`id`) ON DELETE CASCADE,
  CONSTRAINT `FK_civicrm_uf_match_domain_id` FOREIGN KEY (`domain_id`) REFERENCES `civicrm_domain` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4997 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

「UF」は、基礎となるフレームワーク、つまりDrupal、Wordpress、またはCiviCRMがリンクされているJoomlaインストール)を表します。

このテーブルのエントリが同期しなくなることがあります。 Drupalデータベースが、CiviCRMデータベースもコピーせずに、開発サーバーからテストサーバーにコピーされた場合。

おそらくそれがこの場合に起こったことです。 civicrm_uf_matchフィールドに保存されている関連する電子メールアドレスのuf_nameレコードを調べることで確認できます。

civicrm_uf_matchをDrupal usersテーブルに結合し、civicrm_uf_matchの電子メールがの電子メールと異なるレコードを確認することも役立ちます。 users。また、civicrm_uf_matchからusersへの左結合は、孤立したcivicrm_uf_matchエントリを強調表示できます。

5
davejenx