Hi David,
Thanks for your help.
Your assumptions are correct. All the settings you mentioned have been set.
The reason behind this change from the documented approach is because the event are only triggered in the admin site when creating a contact but not when completing the form and mapping the fields to a contact. Then no event is raised.
Here is the code of the connector, I have not included the handling as the code segment will be to large.
public class CRMConnector : BaseIntegrationConnector
{
public override void Init()
{
// Initializes the connector name
ConnectorName = CRMConnectorHelper.ConnectorName; //GetType().Name;
// Register subscriptions - Contact Object type
CMSEventLogging.CMSEventLog(EventType.INFORMATION, "CRMConnector", "INITIATECONNECTOR", "CRM Connector Starting");
SubscribeToObjects(TaskProcessTypeEnum.AsyncSnapshot, ContactInfo.OBJECT_TYPE, TaskTypeEnum.CreateObject);
SubscribeToObjects(TaskProcessTypeEnum.AsyncSnapshot, ContactInfo.OBJECT_TYPE, TaskTypeEnum.UpdateObject);
ObjectIntegrationSubscription customTableEmailSub = new ObjectIntegrationSubscription(ConnectorName, TaskProcessTypeEnum.AsyncSimpleSnapshot, TaskTypeEnum.CreateObject, null, CustomTableItemProvider.GetObjectType("customtable.Email"), null);
SubscribeTo(customTableEmailSub);
//SMS custom table
ObjectIntegrationSubscription customTableSmsCreateSub = new ObjectIntegrationSubscription(ConnectorName, TaskProcessTypeEnum.AsyncSimpleSnapshot, TaskTypeEnum.CreateObject, null, CustomTableItemProvider.GetObjectType("customtable.SMS"), null);
SubscribeTo(customTableSmsCreateSub);
ObjectIntegrationSubscription customTableSmsUpdateSub = new ObjectIntegrationSubscription(ConnectorName, TaskProcessTypeEnum.AsyncSimpleSnapshot, TaskTypeEnum.UpdateObject, null, CustomTableItemProvider.GetObjectType("customtable.sms"), null);
SubscribeTo(customTableSmsUpdateSub);
//ObjectIntegrationSubscription customTableDataSub = new ObjectIntegrationSubscription(ConnectorName, TaskProcessTypeEnum.AsyncSimpleSnapshot, TaskTypeEnum.All, null, CustomTableItemProvider.GetObjectType("customtable.SMS"), null);
//SubscribeTo(customTableDataSub);
////subscribe to seminar registration
//SubscribeToObjects(TaskProcessTypeEnum.AsyncSnapshot, "bizformitem.BizForm.Seminar_asPerLiveSite");
}
public override IntegrationProcessResultEnum ProcessInternalTaskAsync(GeneralizedInfo infoObj, TranslationHelper translations, TaskTypeEnum taskType, TaskDataTypeEnum dataType, string siteName, out string errorMessage)
{
CMSEventLogging.CMSEventLog(EventType.INFORMATION, "SyncCMS", "Triggered", "Start");
errorMessage = null;