Global Parameters Tab
The Global Parameters editor is used to specify:
- Parameters that apply to every table.
- Parameters that apply to the overall restore process.
- Parameters that are table specific, usually because of a Salesforce restriction.
- Parameters that control details of skipped record reporting.
|Default Salesforce User||The Salesforce User to use as the record owner if the owner in the CopyStorm database is not active or does not exist in Salesforce. A value of “Default” will cause the Salesforce user running CopyStorm/Restore to be used. The pull-down menu contains all active users in the Salesforce instance.|
|Default Restore Type||When a table is added to the restore, default behavior will be to use this type of restore:
|Tracker Database Name||CopyStorm uses a local H2 database to track restore progress. This database allows CopyStorm/Restore to continue a restore if interrupted, and allows incremental restoration. By default CopyStorm/Restore will pick a tracker name unique to the current configuration file, but it can be explicitly set using this global parameter.
Note: CopyStorm/Restore tracking databases are, by default, kept in the directory “$HOME/.capstorm/copyStormRestoreSets”.
|Default Max # Per Update||The maximum number of records that will be sent to Salesforce in a single batch. The default value for this parameter rarely needs to be changed.|
|# Salesforce Writers||The maximum number of insert/update requests that CopyStorm/Restore will make at the same time. The default value, 1, will write up to 200 records at a time using a single request. The maximum value, 10, will write up to 2000 records at a time using 10 concurrent requests. Higher values cause CopyStorm/Restore to consume more memory but can reduce total copy time by a factor of 2-10x. Observed performance increases depend on a number of factors including active triggers and validation rules.|
|SOQL Log File||If set to a writable file, CopyStorm/Restore will log each SOQL statement issued to Salesforce. Statements written to this file are in the format supported by Capstorm’s free SQLForce product.|
|Truncate SOQL Log on Restore||If checked, CopyStorm/Restore will truncate the SOQL Log File at the start of each restore operation.|
|Enable Trace Mode||If checked, CopyStorm/Restore will log details about the restore process to stderr. This option is typically used when Capstorm is diagnosing a problem.|
|Ignore Timestamps||If checked, CopyStorm/Restore will overwrite records in Salesforce even if they have matching modification timestamps. If unchecked, CopyStorm/Restore will skip records with matching modification timestamps.|
Candidate Scanning Parameters
These parameters control the level of parallelism and memory used when scanning the CopyStorm database for records to restore.
|Candidate Scan Parameter||Description|
|Candidate Scan Batch Size||The number of records to process in a single batch when looking for candidates to restore (10 to 1000). Larger numbers can increase restore performance but will cause CopyStorm/Restore to use more memory.|
|Candidate Scan Parallelism||The level of parallelism to allow when scanning for restore candidates. Increased parallelism can increase restore performance but will cause CopyStorm/Restore to use more memory.
Available values are:
|Parallel Candidate Scans||The maximum number of tables that can be scanned for records simultaneously.|
|Parallel Reference Scans||The maximum number of queries that can run simultaneously when scanning for related records. This limit is Per-Candidate-Scan. For example, if “Parallel Candidate Scans” is set to 2, and “Parallel Reference Scans” is set to 3, there may be up to 6 related record queries running simultaneously.|
|Lookahead Factor|| Begin scanning referenced records once there are this many batches of records to scan.
For example, if:
Then referenced records will be scanned once there are 2000 records ready to be scanned. Lookahead reference scanning can be disabled by setting this parameter to 0 or an empty value.
Skipped Record Reporting Options
These parameters control the types of skipped records which will result in a reason being recorded to the CopyStorm/Restore tracking database. If a reason is recorded it can be viewed on the Restore tab.
|Skipped Record Parameter||Description|
|Inactive Price Books||Record when an opportunity or quote references an inactive price book.|
|Inactive Prices||Record when an opportunity or quote line item references an inactive price (or a price in an inactive price book).|
|Missing Referenced Records||Record when a record contains a reference Id that cannot be found (or was not restored). This is usually caused when a Salesforce table is missing from the CopyStorm database.|
|Missing Reference Rules||Record when a record contains a reference Id without a rule for restoring the reference. This is usually caused by using a CopyStorm/Restore configuration file that was created using a database with a different schema than the current database.|
Salesforce Rules to Disable During a Restore
There are number of Salesforce features that often need to be disabled during a restore. Examples include triggers, flows, validation rules, etc. The setup for this feature can be found on the Advanced Tab.
Table Specific Parameters
A few Salesforce tables have unique rules that must be followed on record inserts and/or updates. For example, the OpportunityLineItem table allows either the TotalPrice or UnitPrice to be set but not both.
If a table in the restore set has unique rules, an editor will appear in the “Table Specific Parameters” section allowing specification of how CopyStorm/Restore should handle the table.
In the screenshot above, the OpportunityLineItem table editor allows control over:
- How the price for a line item is specified.
- What to do with line items that reference inactive prices (e.g. inactive PriceBookEntry records).