Document toolboxDocument toolbox

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:

  1. Backup Your Current Configuration: Always ensure you have a backup of your existing configuration files to prevent any data loss.

  2. 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.