locked
Data Synchronization of CRM PickList values RRS feed

  • Question

  • Hi,

    I am working on a project where we have a website which reads from a non CRM database .  The contents of this database was migrated from CRM. Included in the database are lookup tables for what are PickLists in CRM for example in CRM there is a Gender Picklist with two entries Male and Female and in the external database there is a lookup table with the same entries. We have to provide some sort of process to automate the update of the external database lookup table if the corresponding picklist in CRM is also updated, so for eaxmple if in CRM if 'Other' was added to the Gender picklist then we need some sort of process to automatically update the corresponding lookup in the external database.  We have a mechanism using plugins to register events in CRM for entities and synchronize entity data but there does not seem to be a way to register and event to a picklist so I am not sure of how to proceed. Can anyone verify that Picklists are not supported by the event framework with CRM.

    Any help much appreciated. 

    Thursday, October 13, 2011 2:47 PM

Answers

  • Metadata CRUD is not supported as part of the eventing framework.  Only business data can be part of the eventing pipeline.  One possibility would be to have the plugin that syncs the data also create the necessary SQL Metadata on the target database.  If on the creation of a record the corresponding target SQL metadata (picklist value) does not exist, then retrieve the CRM metadata, create what you need on the target sql, then save the continue in the plugin.

    Keep in mind that this would need to execute in under 2 minutes if being executed synchronously (async gives you 2 minutes per SDK call - not per entire execution).

    Thanks,

    Brandon

     

    Thursday, October 20, 2011 11:04 PM
  • Yes Metadata events are not supported.

    The easiest solution is to use the SSIS to replicate your table.

    You are not writing anything in CRM database so it should be ok.

    And also you can schedule them in sql server and you can update your table once a day or week or every 10 minutes.

    I hope this helps.

     


    Amreek Singh Senior CRM Consultant CDC Praxa Sydney, Australia http://mscrmshop.blogspot.com http://crm2011usersettings.codeplex.com
    • Proposed as answer by Amreek Singh Thursday, October 20, 2011 11:36 PM
    • Marked as answer by Donna EdwardsMVP Friday, October 28, 2011 1:06 PM
    Thursday, October 20, 2011 11:36 PM

All replies

  • Metadata CRUD is not supported as part of the eventing framework.  Only business data can be part of the eventing pipeline.  One possibility would be to have the plugin that syncs the data also create the necessary SQL Metadata on the target database.  If on the creation of a record the corresponding target SQL metadata (picklist value) does not exist, then retrieve the CRM metadata, create what you need on the target sql, then save the continue in the plugin.

    Keep in mind that this would need to execute in under 2 minutes if being executed synchronously (async gives you 2 minutes per SDK call - not per entire execution).

    Thanks,

    Brandon

     

    Thursday, October 20, 2011 11:04 PM
  • Yes Metadata events are not supported.

    The easiest solution is to use the SSIS to replicate your table.

    You are not writing anything in CRM database so it should be ok.

    And also you can schedule them in sql server and you can update your table once a day or week or every 10 minutes.

    I hope this helps.

     


    Amreek Singh Senior CRM Consultant CDC Praxa Sydney, Australia http://mscrmshop.blogspot.com http://crm2011usersettings.codeplex.com
    • Proposed as answer by Amreek Singh Thursday, October 20, 2011 11:36 PM
    • Marked as answer by Donna EdwardsMVP Friday, October 28, 2011 1:06 PM
    Thursday, October 20, 2011 11:36 PM