CopyStorm/Restore 9.48.1

Release Date: 06-Mar-2020

This is a  feature, bug fix, and Salesforce API version upgrade release. As always, existing CopyStorm/Restore configuration files are backwards compatible.

Patch Levels

06-Mar-20 Original Release

Upgrade to the Salesforce Spring’20 API

This update brings CopyStorm/Restore up to the latest API from Salesforce.  Most sites will not even notice, but we like to keep current.

Major Performance Improvement in Candidate Scanning

A bit of queuing theory was added to the graph traversal code CopyStorm/Restore uses when finding potential restore candidates. In practice, we have seen performance improved by nearly a factor or 20x on a couple of problems provided by customers.  This feature upgrade will have a big impact on large scale migrations where 100s of millions of records are often scanned.

Detect Changes and Refresh Previously Restored Records

A new Tracker Database “find changed records” feature:

  • Finds all records which have been restored but have changed in the original source database.
  • Puts changed records into a Pending state so CopyStorm/Restore will update them with newer values from the source database.

This feature is especially useful for migration projects where the original Saleforce is still being used during the migration process.

Add Support for Disablement/Enablement of Required Fields

The Advanced tab has a new section for controlling when CopyStorm/Restore will disable required fields during a restore.  This is useful when a required custom field was not required in the past and historical data is sometimes empty. CopyStorm/Restore can be told to make a field “not required” during a restore and will automatically revert it to required after the restore finishes.

Add Support for Additional Metadata Types

CopyStorm/Restore is getting closer to supporting all metadata types with the addition of:

  • Aura Definition Bundles
  • Custom Application Components
  • Custom Applications

Refactor PermissionSet and Profile Restore Tools

This refactor supports everything from an extremely fine grained to a complete restore of permission sets and profiles. It should be close to ideal for org migrations.

Add Fine Grained Support for Table Scanning and Restoring

Warning: These features are for advanced CopyStorm/Restore users.

When performing a large migration it can be very useful to limit what tables are scanned for candidates or to restore specific tables WITHOUT change the overall restore set rules. When rescanning records or  resuming a restore, CopyStorm/Restore now provides the option of specifying exactly what tables should be processed.

Code Around a Few Salesforce Bugs

Every once in a while we find a few Salesforce bugs that just will not go away (and we code around them). In this release:

  • Fix the standard metadata wsdl from Salesforce for CustomField by adding the missing element displayLocationInDecimal. This property occurs in the meta data returned by Salesforce of a Location custom field but is missing from metadata.xml (thus causing a parser error).
  • Json returned by the Salesforce REST API sometimes “forget” to encode   and return it as two octal bytes of 302 and 240. Json parsers, including Google’s gson parser, do not allow this character (neither does Salesforce if code sends a   in json to the REST API).