How to fetch SFDC records which are modified between the time of each project updates on WMC?
The polling activities of Salesforce.com connector are activated based on the rule defined in this info center document:
However, according to above rule, records modified between the each deployment of the same project on WMC are not polled. That is, when you start a project which was previously in running status and has been brought to undeployed status for a while, you may miss the records modified in this time window.
This is as designed and can be addressed by the following design guidelines:
- Use a Starter Activity to start the orchestration.
- Perform an Execute Query activity to get the last polling time from the staging database.
- Perform a Query Object activity to get the objects that were created or updated within the period of last polling time and current polling time from Salesforce.
- Perform other activities as necessary for the orchestration.
- Perform an Update Row activity to update the last polling time in the staging database with the current polling time.
A sample of the Salesforce.com query statement will look like this:
SELECT id FROM Account where LastModifiedDate >= $startDate and LastModifiedDate < $endDate
Staging database is a feasible option to store the last polling time but you can use other appropriate persistence media depending on your available resources.