У меня есть веб-приложение, которое синхронизирует контакты Outlook с базой данных (и обратно) через CDO. БД содержит каждый контакт только один раз (по крайней мере теоретически, конечно, дублеты), предоставляя единую точку изменения для контакта, независимо от того, сколько пользователей имеет этот конкретный контакт в Outlook (например, взаимодействие или похожие продукты).Синхронизация контактов Outlook. Как определить правильный объект для синхронизации?
Процесс синхронизации не является автоматическим, но инициализирован пользователем. Произвольный промежуток времени может пройти, прежде чем пользователи решат синхронизировать свои контакты. Подмножество этих контактов могло быть обновлено другими пользователями за это время.
Как правило, это работает отлично, но я никогда не был в состоянии решить эту фундаментальную проблему:
Как определить, без сомнения объект контакта в почтовом ящике?
- я не могу полагаться на
PR_ENTRYID
, это изменения свойств на контактном ходу или перемещения почтового ящика. - Я не могу полагаться на свои собственные идентификаторы (например, DB ID таблицы), потому что они скопированы с контактом.
- Я абсолютно не могу положиться на поля как имя или адрес электронной почты, они могут быть изменены и обновлены.
В настоящее время я использую комбинацию из 1 (предпочтительной) и 2 (отступающей). Но неизбежно, иногда пользователи сталкиваются с проблемой синхронизации с неправильным контактом, потому что нет ни одного заданного PR_ENTRYID
, а два с тем же идентификатором DB, из которых выбран неправильный.
Есть куча продуктов для синхронизации с Outlook, поэтому я думаю, что проблема должна быть разрешимой.
О, мужчина, только возраст вопроса говорит мне, что это не тривиальная проблема. Я также прикрепляю идентификатор базы данных к контакту, но это не помогает, когда контакт используется повторно (та же позиция, другой парень) или когда он копируется, чтобы создать шаблон для нового контакта в той же фирме. – Tomalak
Все проголосовали. По крайней мере, у меня есть ваше сочувствие. :-D – Tomalak