Salesforce Collector Migration Guide
Welcome to the migration guide for Salesforce Collector version 3.0.0! This guide will walk you through the process of updating your configuration from the old versions (2.x) to the new version (3.0.0). The new version introduces significant improvements and changes to the configuration style to enhance performance, usability, and security.
Overview of Changes
The new configuration format introduces several key changes:
api_version
you must add the api version to the root of the configuration as a string. This is the api version of the salesforce api. At the time of writing this article it is 62.0. You can change it yourself whenever you update the collector.event_log_type
is a new array for you to pick and choose what files you download. The*
means all files will be downloaded. This is a list of all the event files that can be downloaded.
Preparing for Migration
Before starting the migration process, we recommend the following steps:
Backup Your Current Configuration: Always ensure you have a backup of your existing configuration files to prevent any data loss.
Review the New Configuration Documentation: Familiarize yourself with the new configuration options available in version 3.0.0.
Migration Steps
Step 1: Update Configuration
An example of the old and new configuration is shown below:
v2.x.x
{
"global_overrides": {
"debug": false
},
"inputs": {
"salesforce": {
"id": 12345,
"enabled": true,
"credentials": {
"username": "<salesforce_user_if_using_user_and_password_value>",
"password": "<salesforce_password_if_using_user_and_password_value>",
"security_token": "<salesforce_security_token_if_using_user_and_password_value>",
"client_id": "<client_id_if_using_oauth_value>",
"client_secret": "<client_secret_if_using_oauth_value>",
"salesforce_domain": "<your_salesforce_domain_value>",
"initial_access_token_base64": "<base_64_encoded_content_from_acess_token_file_if_using_oauth_value>"
},
"services": {
"Account": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"Case": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"ContentVersion": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"Dashboard": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"EventLogFile": {
"request_period_in_seconds": 60,
"start_time": "0000-00-00T00:00:00Z",
"process_results": {
"enabled": true
},
"override_interval": "remove if daily is fine, otherwise set to hourly"
},
"LoginHistory": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"Opportunity": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"Report": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"User": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"SetupAuditTrail": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"<custom_object> like custom_user, custom_opportunity": {
"start_time": "0000-00-00T00:00:00Z",
"key": "most of the time LastModifiedDate",
"fields": [
"must append __c to value",
"Id__c",
"LastModifiedById__c",
"LastModifiedDate__c",
"Name__c"
]
}
}
}
}
}
v2.0.0
{
"global_overrides": {
"debug": false
},
"inputs": {
"salesforce": {
"id": 12345,
"enabled": true,
"api_version": "62.0",
"credentials": {
"username": "<salesforce_user_if_using_user_and_password_value>",
"password": "<salesforce_password_if_using_user_and_password_value>",
"security_token": "<salesforce_security_token_if_using_user_and_password_value>",
"client_id": "<client_id_if_using_oauth_value>",
"client_secret": "<client_secret_if_using_oauth_value>",
"salesforce_domain": "<your_salesforce_domain_value>",
"initial_access_token_base64": "<base_64_encoded_content_from_acess_token_file_if_using_oauth_value>"
},
"services": {
"Account": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"Case": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"ContentVersion": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"Dashboard": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"EventLogFile": {
"request_period_in_seconds": 300,
"start_time": "0000-00-00T00:00:00Z",
"process_results": {
"enabled": true
},
"event_log_type": [
"*"
]
},
"LoginHistory": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"Opportunity": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"Report": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"User": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"SetupAuditTrail": {
"request_period_in_seconds": 600,
"start_time": "0000-00-00T00:00:00Z"
},
"<custom_object> like custom_user, custom_opportunity": {
"start_time": "0000-00-00T00:00:00Z",
"key": "most of the time LastModifiedDate",
"fields": [
"must append __c to value",
"Id__c",
"LastModifiedById__c",
"LastModifiedDate__c",
"Name__c"
]
}
}
}
}
}
Troubleshooting
Common Issue 1: Collector complains about state file being wrong.
Fix: Update the short id with a new 5 digit number and if using
start_time
update that to new time you want to start from.
For a smooth transition You should stop the running collector. And see the timestamp of the last log from Devo. Then use that as the new start_time
Because if you copy your old configuration to your new configuration it will start over to that time listed.
For more detailed troubleshooting, refer to the official documentation or contact support.
Conclusion
Following these steps should help you smoothly transition to the new version of Software Script. If you encounter any issues, don't hesitate to reach out for support.