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.

Global Parameters

Parameter Description
 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:

  • Insert
  • Update
 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.
 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.
 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.

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