We currently have Sharepoint 2010 setup to use AD to get useraccounts, and a BCS connection to provide extra information to the User Profile of users. The data from AD is very basic: only username and an Identifier used for BCS. BCS retrieves extra information based on the Identifier. This information comes from a CRM system and contains info like Name, Address, Phone number, Department, etc.
We want to enable users to update the CRM info from their MySite profile page in Sharepoint. When the info is sent to the CRM, in the CRM it goes through a workflow. It can take hours or days for this information to be updated. (we are aware that in the mean time the updated info might be overwritten again by the next User Profile Sync, this is not a problem)
I can think of a few possible approaches to do this:
1. Use BCS to update the CRM: create an Updater method in the BCS.
2. Hook into the Userprofile Update Event and immediately send the data to the CRM. However, I cannot find any documentation on an update event, but I can find statements that this event exists.
3. Create a timerjob to periodically get all updates and send the to the CRM.
What would be the best way to do what we want, or are there any other approaches to do this?