How to fetch SFDC records which are modified between the time of each project update by WebSphere Cast Iron?
The polling activities of Salesforce.com connector are activated based on the rule defined in this section of the Cast Iron Information Center; however, according to this rule, records modified between each deployment of the same project on the 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 working 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
The use of a staging database is a feasible option to store the last polling time. Use this approach or another appropriate persistence media depending on your available resources.