CopyStorm 8.37.1, 8.34.1

Release Date: 03-Dec-2016

This major feature and bug fix release.

Introduce Field History Tracking

In this release, the change history of any (or all) fields can be tracked in the CopyStorm database. The feature, disabled by default, is enabled simply by checking on the Track Field History option on the Advanced Tab. By default the values of all fields, except Salesforce audit fields and formulas are tracked. Naturally, a site can exert fine control over what is tracked via a simple XML configuration file.

Add Support for Bulk API Queries

In this release, CopyStorm can be instructed to use the Saleforce Bulk API once a user specified number of records have been read from Salesforce. The concept is to only use precious Bulk API calls if there are a lot of records to read from a table. The customer over point where the Bulk API is used and the number of records to read per Bulk API call may be controlled by user on the Advanced Tab. By default, the Bulk API is not used.

Update Graphics Components to Adapt to 4K Displays

A number of the graphics components were displaying too small on 4K monitors.  Graphics components now adjust to 4K and larger displays.

Allow the Time Estimate Function to be Disabled

When in GUI mode, enabling the “Estimate Total Time” option can be used to control whether CopyStorm estimates the number of records to restore before each table copy. Disabling this option reduces the number of API calls to each table by one.

Flush Intermediate Table Copy Results to Log Tables

Previous CopyStorm versions did not write table progress statistics to the database log tables until a table was completely processed. This version updates the database log every 60 seconds.

Recognize the All HTML Entity Names in SOAP Envelopes

Though Salesforce does not use HTML entity names, it was discovered that some security gateways are using HTML entity names that   XML parsers do not understand. For example, € is a value HTML entity but XML parsers generally do not recognize it.  This release adds recognition for all HTML specific entities.

Fix a Bug that Failed to Create CopyForceJobTable When Using the UTF-8 Oracle Option

Plain and simple — the code had a bug when “Use NVarchar2” was disabled. By default the option is enabled to maintain backwards compatability).

Add 4-Byte UTF-8 Character Support for MySQL

The default character set for most MySQL installatons is utf8 and this has been used by CopyStorm in the past. Unfortunatelty MySQL’s utf8 only supports 1-3 byte UTF8 characters and not the supplemental 4 byte characters. Note: the 4 byte UTF8 characters tend to be things like emoticons (many orgs probably never use them).  This version of CopyStorm/MySQL uses a MySQL character set, utf8b4, that also supports 4 byte UTF8 characters. There is no impact on existing customer databases (unless they need emoticons).

Report an Exception if a User Specified Configuration Directory is not Found

Previous CopyStorm releases would silently ignore a user specified configuration directory if the directory could not be found. The application now reports an exception.

Add a Feature to Exclude Formulas from All Tables

In previous CopyStorm versions, all formulas for a table could be exluded by adding an excludeFormulas=”true” option to table rule. In this version this feature is extended to also apply to the “default” table. The “default” is a psuedo table which contains default parameters when a table does not explicitly specify a parameter.

Add a Sanity Check for Computed Percentage and Currency Columns

Salesforce permits a formula column to return a value that is not within the declared value range. CopyStorm now checks for crazy values (like 1234.5×10^40) for percentage and curreny columns and warns the user about the data problem. Previous CopyStorm versions will simply fail when an INSERT or UPDATE was attempted on the out of range data.

Add a TableRule Directive to Explicitly Control Which Columns Are Copied

Previous CopyStorm versions supported excluding columns from the copy using an ExcludeField element in a TableRule. This version adds support for an IncludeField directive. Note that if IncludeField directives are present then ExcludeField directives are ignored.

Choose query() Instead of queryAll() For non-Recyle Bin Tables

By default, CopyStorm uses the Salesforce queryAll() method when reading tables because this method returns all records (including deleted and archived).  In this release, CopyStorm uses the simpler query() method for tables that do not participate in the recycle bin. The reason:  for BULK_OBJECT tables we have seen API errors when using queryAll() [contrary to the Salesforce documentation].

Show the # of Salesforce API Calls in the History Viewer

Though CopyStorm has tracked the # of API calls for many releases, this value was  not displayed on the history viewer.