来自多个网站的同步联系人问题

时间:2012-05-21 07:28:49

标签: tridion tridion2009 tridion-2011 tridion-content-delivery

我们遇到了受众管理员的个人资料同步服务问题。

我们有这样的场景,我们通过两个步骤进行订阅:

  1. 我们正在获取唯一ID的用户电子邮件地址,我们将记录保存在tridion_submgmt中,之后个人资料同步服务将此记录保存到具有此唯一电子邮件ID的tridion_email数据库中。
  2. 我们正在接受用户出生日期和手机号码,我们想要更新相同的记录。
  3. 这两个步骤一个接一个地运行。

    此外,我们有87个网站,我们有不同的地址簿和一个同步目标设置。

    我们正面临同步问题,有时记录正在更新,但某些时间记录未在步骤2更新。

    有什么建议吗?

2 个答案:

答案 0 :(得分:9)

您是否直接将记录添加到数据库中?这不受支持,可能会干扰同步过程的正常工作。

如果您使用API​​更新记录(在内容管理器或内容交付方),它将自动触发同步服务并确保信息正确同步

基于您的要求的小(java)示例:

Contact testContact = new Contact();
testContact.setExtendedDetail("Email", "user@domain.com");
testContact.setExtendedDetail("MobileNr", "1234567890");

Calendar calendar = Calendar.getInstance();
calendar.set(1970, Calendar.OCTOBER, 17, 0, 0, 0); // 17 okt 1970   
testContact.getDetails().get("dateOfBirth").setFieldValue(calendar.getTime());

testContact.save();     

答案 1 :(得分:1)

过去,我们必须设置联系人AddressBookId才能同步到特定的地址簿。

testContact.setGroupId(20); // 20是地址簿ID

这是java示例代码。 for .net我相信它是testContact.AddressBookId = 20.