CopyStorm /Restore 9.48.2

Release Date: 30-Jun-2020

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

Patch Levels

30-Jun-20 Original Release
05-Jul-20 Fix an issue restoring multi-byte characters when a trigger was manually activated/deactivated.

Many Tracker Database Improvements

  • Performance improvements for candidate record scanning.
    We upgraded to a scanning algorithm with a high level of parallelism at the table level and added scanning of multiple tables concurrently.  Performance is now almost always limited by the raw performance of the database engine used for the tracker database.
  • Increase overall tracker database performance when searching for records in a specific state. This upgrade will improve the cost of finding candidates during the restore phase.
  • Record skipped reasons are stored in the tracker database when running in headless mode.
  • Records can be reset to a Pending state in multiple tables concurrently in the Set to Pending dialog.
  • Support scanning for record mappings where either the CopyStorm or Salesforce ID no longer points to existing records.
  • Support export of just visible records, deleted in Salesforce, or deleted in CopyStorm — suggested by several consultants who do migrations.
  • Support finding and removing of records which have been deleted from the CopyStorm database.
  • Plus a dozen other minor changes.

Major Upgrades to the Restore Set Editor

  • Upgrade the layout of the editor such that it will work well on smaller screens.
    • The new tab layout provides more on-screen help.
    • Any element that is a list can be filtered and searched (including Reference Fields).
  • Add support for Copy/Paste to the Filter record selection tool.
  • Upgrade loading records “by Id” to support any Id or string type column. Primarily this ensures that “External Id” fields can be used.
  • Persist table selections in all dialogues which support table selection.
  • When the deselection of a table causes other relationship to be deselected as a side effect,  CopyStorm/Restore will now tell the user what is about to happen and provide a chance to cancel the deselection. This improvement makes it hard to accidentally remove multiple tables from a restore set by a single click!
  • Upgrade the record filter to support < and >= for dates, and a IN (list) operator,
  • Upgrade the multi-column record matching tool:
    • support date time fields
    • support reference fields
    • use migration mappings
  • Add a new field obfuscation type — Obfuscate with uniform substitution (e.g. “Fred” will always be replaced with “Tony” rather than a random name each time).
  • Visually indicate when a table included in the restore set has no rows in the CopyStorm backup.

MetaData Upgrades

  • A new restore type, Expert, supports editing of the metadata by hand. The starting metadata can be the complete object OR the metadata implied by the current partial restore selections.
  • Add a metadata difference visualizer/editor.  The implementation provides a side-by-side view of two difference metadata versions where the differences are connected and highlighted. The metadata to be deployed can be edited and compared to any version of the metadata in CopyStorm, the current metadata from the target Salesforce, or the current partial restore metadata.
  • Add editors for  powerful “partial restore” features for Profiles and PermissionSets.
  • Add a helper for quickly removing all references for one or more managed packages references from a metadata record.

Core Restore Upgrades

  • Recognize the case where a custom table’s id prefix is different in CopyStorm and Salesforce. Handles mapping automatically.
  • Remember when a trigger/validation rule/etc. is disabled manually and provide a one-button interface re-enabling manually disabled items.
    Note that CS/Restore persists this knowledge across sessions.
  • Add full support for Knowledge — history, publish/draft/archive status, and images in rich text fields.
  • Restore activated Orders.
  • Restore activated Contracts.
  • Add support for automatic disablement/enablement of Apex Triggers (sandboxes and scratch orgs).
  • Add support for CPQ related restore features.  We were able to do a CPQ restore totally with automation.

Misc Upgrades

  • Add support for using sqlforce.ini as a credentials source.
  • Support copying Restore Set Plan reports as CSV or HTML.
  • Intelligently cache user records on demand. This can be a big performance boost for orgs with 10,000’s of user records.
  • Add a “split-pane” UI element to many editors to support collapsing a section. Example: collapse help text to increase the space available to an editor.
  • Support 1:N mappings for all mapping rules.