Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
The CopyStorm/Director Global Parameters page is used to specify the locations for CopyStorm/Director configuration data. The web-based editor’s capabilities are a subset of the primary stand-alone . For more information see the stand-alone .

The CopyStorm/Director Job Searcher searches for jobs defined in the CopyStorm/Director database.
If your organization is not managing 100s of CopyStorm backups, the only control you may need is the “Search for Jobs” button.
The top portion of the page contains parameters limiting the jobs returned when the “Search for Jobs” button is clicked. You can find descriptions for these parameters on the Job Editor page.
The bottom part of the page contains jobs found in the most recent search.
In addition, the hyperlinks in the job list will open an editor for the selected job. This editor is web-based and contains a subset of the functionality of the Java-based editor.
The CopyStorm/Director web tool includes a dashboard suitable for interactive job monitoring.
All active jobs are listed in the top half of the dialog, along with the status of the most recent run.
When a job is running, the bottom half of the dialog displays the log file generated by the job as it is running.
When the job completes the log file viewer disappears.
Above the job list are a handful of parameters controlling the display characteristics of the page, including:
How often the CopyStorm/Director database is polled.
How many running tasks are displayed per row.
How many rows and columns are displayed for a log file.
In addition, the hyperlinks in the job list will open an editor for the selected job. This editor is web-based and contains a subset of the functionality of the Java-based editor.
The CopyStorm/Director Job Editor supports the creation and editing of jobs and tasks. Its capabilities are a subset of the primary stand-along Job Editor — for more information see the Job Editor documentation.
The web-based Job Editor differs from the stand-alone Job Editor in the following ways:
It cannot be used to start or stop tasks.
It cannot launch the CopyStorm or CopyStorm/Medic GUI.



The CopyStorm/Director GUI is distributed in two formats — a stand-alone Java application and a web browser application. In most situations either (or both) applications can be used to edit or view the CopyStorm/Director database and the choice of which to use is up to your organization.
The stand-alone Java application has a few more capabilities than the web browser application, most of which are related to its ability to stop and start local processes.
The primary advantage of the web application is that it can run anywhere on your network. In addition it has a dynamic dashboard suitable for near real-time monitoring of CopyStorm backups.
Setting up the web browser application is slightly more complex than the “unzip and go” approach of the Java application.
Note that the following instructions apply to Tomcat versions up to but NOT including Tomcat 10. Tomcat 8 and Tomcat 9 will work fine.
Due to the fact that the Tomcat service is not running as a SQL Server User with privileges to connect to the database, steps need to be taken to configure Director when using SQL Server as the backing data source.
Create a user by going to Start => Settings => Accounts => Family & other users => Add someone else to this PC (click on “I don’t have this person’s sign-in information”) => Add a user without a Microsoft account
Once this user is created (for example, SqlServerTomcat), change the Account Type to Administrator
Right click on the Tomcat service in the Windows Services window and select Properties from the drop-down menu. On the Log On tab of this view, click the This Account radio button, and enter the account name that was just created (precede this name with a ‘/’) and enter the password you used when creating the user.
The CopyStorm/Director web application uses a datasource with the resource name “jdbc/CopyStormDirector”.
The entry should look like the following example from our test servers:
The CopyStorm/Director web application is packaged in a file located at:
[CopyStorm/Director install directory]/war/CopyStormDirector.war
There are several ways to deploy the war file. Your Apache/Tomcat administrator will know how to deploy it using your organizations standards.
Open the URL and you should see a screen like:
In SQL Server Management Studio, expand the Security => Logins folders and right click on the Logins folder and choose New Login. Enter the name of the user just created and make sure the Windows Authentication radio button is checked.
On the same dialog, switch to the User Mapping page and click the SQL Server database holding the Director data, and then give the user the db_owner role.
If your \Windows\system32 folder does not have the sqljdbc_auth.dll file then it is going to need to be downloaded and placed into that folder. The following link can be used to download sqljdbc_6.0.8112.200_enu.tar.gz
Upon expanding this gzip/tar file, one will find the DLL In the enu/auth/x64 folder.
Database
Driver Jar File
Oracle
ojdbc8.jar
SQL Server
sqljdbc42.jar
PostgreSQL
<Resource name="jdbc/CopyStormDirector"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
validationQuery="SELECT 1"
testOnBorrow="true"
username="root"
password="supesecretpassword"
url="jdbc:postgresql://localhost/copystormjob"
driverClassName="org.postgresql.Driver"
/>postgresql-42.4.0.jar
MySQL
mysql-jdbc-7.0.0.jre8.jar

CopyStorm/JobRunner requires that the credentials for a CopyStorm/Director database be specified. There are two ways to specify credentials:
Explicitly as clear text on the command line.
Explicitly as an encrypted token on the command line.
The clear text approach is simple but not very secure. For example:
CopyStormJobRunner.bat -cstype postgresql -csdatabase //localhost/copystormjob -csuser root -cspassword helloworld
The command line arguments shown are exactly the same data that is required to launch CopyStorm/Director.
To launch with an encrypted token requires a bit of setup but keeps intruders from seeing a visible password.
The credential token is a DES-256 encrypted string.
Example: CopyStormJobRunner.bat -cscredentials “u0JmFcF4te6InFu0owWtmRTpxMsqwnFp9MXeR7hf2LbQtxHgaHsaGt7i8CeYscQ9ZjvOObWGE6Frh2gLOIVILIruq7mYeXuUJLaYOxFuMCHKtxb4wBu5l+HoN41d1hWe+tLKNFuvyDUJEC9hMSWvkg==”
The process to generate a credential token involves one of:
Opening the Job Runner tab on the CopyStorm/Director GUI and copying the generated token.
Running CopyStorm/JobRunner on the command line with clear text credentials and the action “-action makeCredentials”.
Capstorm recommends that an encrypted token always be used. However, anywhere CopyStorm/Director database are illustrated in the documentation, either form of credentials may be used.


Release Date: 12-Jan-2024
This is a minor feature and bug fix release. As always, existing CopyStorm/Director configuration files are backwards compatible.
12-Jan-2024
Original Release
The Job Status and History tables in CopyStorm/Director have been updated with a color scheme to indicate success and failure. Successful jobs are marked in green, jobs with errors are marked in red, and jobs that have not yet finished are not marked with a color.
The CopyStorm/Director UI has been reviewed and updated to better support a wider range of screen resolutions.
The CopyStorm/Director application is a visual tool for editing the contents of a CopyStorm/Director database. CopyStorm/Director is a Java application that will run on all platforms supported by Capstorm.
CopyStorm/Director is outlined in red in the architectural diagram below:

CopyStorm/JobRunner is the command line tool used to run jobs defined by CopyStorm/Director.
CopyStorm/JobRunner is typically scheduled as a job using a native scheduler (e.g. Windows Scheduler or CRON).
In this mode it will read job scheduling data from the CopyStorm/Director database and run the appropriate jobs.
CopyStorm/JobRunner can be used to force jobs to run outside of their normal schedule.
In the following diagram, the CopyStorm/JobRunner is outlined in red:
There are two steps to using CopyStorm/JobRunner:
Specify credentials for a CopyStorm/Director database.
Run the application from a command line prompt or a scheduler.
CopyStorm/JobRunner’s main purpose is to execute jobs defined in a CopyStorm/Director database — the first procedure that must be understood is how to pass database credentials to CopyStorm/JobRunner. Please read and understand the before trying to run CopyStorm/JobRunner.
— complete command-line reference for CopyStorm/JobRunner.

Release Date: 16-Dec-2017
This is a feature and minor bug fix release.
Adding a few key indexes to CopyStorm/Director’s control tables improved job monitoring queries significantly.
The web browser based tools now include links to the corresponding documentation on learn.capstorm.com.
Support DPI detection in Java 9 and work well on 4K displays.
When a system crashes, is rebooted, or if the CopyStorm/JobRunner application is manually terminated; the CopyStorm/Director database will contain data indicating that jobs are running when they were terminated unexpectedly. This article explains how CopyStorm/JobRunner recovers from this situation.
The answer is that all of these cases are handled the same way:
Each time CopyStorm/JobRunner starts a task, the system process id of the task is stored in the CopyStorm/Director database.
Each time CopyStorm/JobRunner starts it looks for tasks configured as running in the CopyStorm/Director database which have disappeared from the system.
If found, the jobs are marked as completed and given a log file status of “Process died without notifying Copystorm/Director.”
Any job detected as dying unexpectedly is rescheduled using the job’s scheduling parameters.
When job completion is detected using this approach the CopyStorm/Director database may indicate that the last status of an unusually high number of jobs was “Error”. This is likely to happen if a job was terminated during a reboot and will be recovered from automatically the next time the job is scheduled.
The CopyStormTaskLog table contains a record for each time a CopyStormTask has been executed. This table can be used to determine:
The success or failure status of a task.
The current state of a task — complete or running.
The log file generated by the task.
Records in this table are created by the CopyStorm/JobRunner application.
The following table describes each field in the CopyStormTaskLog table:
integer
Yes
The unique id of the CopyStormTask to which this log applies.
jobId
integer
Yes
The unique id of the CopyStormJob which owns this log.
jobType
varchar
Yes
The kind of task which ran. Supported values include:
CopyStorm
CopyStormMedic
startTime
datetime
Yes
The datetime at which this task was started.
endTime
datetime
No
The datetime at which this task ended. If this value is null then the task is still running.
processId
integer
No
The system process id of the task. CopyStorm/JobRunner uses this value to detect processes that have died without notification when a system is rebooted or the CopyStorm/JobRunner is terminated manually.
errorFree
char
No
Indicates if the task was without errors (Y), failed (N), or is still running (null).
logFile
clob
No
All stderr and stdout messages generated by the task.
createdDate
datetime
Yes
The date on which this log record was created.
lastModifiedDate
datetime
Yes
The date on which this log record was last modified.
id
integer
Yes
Unique identifier assigned to this record by CopyStorm/Director.
taskId
The Find Jobs tab is used to search for jobs in the CopyStorm/Director Database. For sites with 10 or fewer jobs defined, clicking on the “Search” button will find all jobs. For sites with a lot of jobs the search criteria at the top of the page allow easy filtering of the list.
To run a job search:
Optionally fill in one or more query parameters.
Click on the “Search” button.
Once one or more jobs are found, click on a job name to load it into the Job Editor.
The following screenshot illustrates the major features of the Find Jobs tab:
The ConfigurationFile table stores metadata about configuration files used by CapStorm products. It serves as the central reference for tracking versions, associations, and the status of each configuration file within the system.
The following table describes each field in the ConfigurationFile table:
Release Date: 5-Jan-2023
This is a minor feature, bug fix, and Salesforce API version upgrade release. As always, existing CopyStorm/Director configuration files and databases are backwards compatible.
CopyStorm/Director database encryption has been updated to support AES256 for credential storage.
Job Number(s)
Unique job number (or numbers) to find. For example:
1
1,5,7
1-10
2-19,14
Job Name
Find jobs where the name matches the query. Use a * for a wildcard.
Add CopyStorm/Director components to support CapStorm Application access control, allowing functionality within CopyStorm, CopyStorm/Restore, and CopyStorm/Medic to be restricted based on the running user.
5-Jan-2023
Original Release
id
integer
Yes
Unique identifier assigned to this record.
configFileClassification
varchar
Yes
The name of the configuration stored.
product
varchar
Yes
The CapStorm product associated with the configuration file, i.e. CopyStorm, CopyStorm/Medic
fileFormat
varchar
Yes
The file extension for the configuration file.
configFileName
varchar
Yes
The type of configuration file that is being described.
currentVersionId
integer
No
The most up to date version of the configuration file. This id maps to the ConfigurationFileVersion table.
isDeleted
boolean
Yes
True if the application considers the configuration file as deleted, otherwise false.
createdDate
datetime
Yes
The date and time when the record was created.
modifiedDate
datetime
Yes
The date and time when the record was last modified.
lastModifiedBy
varchar
Yes
The user who last modified the record.
createdBy
varchar
Yes
The user who created the record.
Description
Find jobs where the query text appears in the description. Use * for a wildcard.
Salesforce User
Find jobs where the Salesforce user matches. Use * for a wildcard.
Quick Search
Select an item from the menu to run a common query. For example,
Jobs running now.
Jobs that ran today.
Jobs that did not run today.
Jobs created in the past 7 days.
Connection String
Find jobs where the CopyStorm database connection string contains the query. Use * for a wildcard.
CopyStorm Profile
Find jobs where the CopyStorm profile matches the query. Use * for a wildcard.
CopyStorm/Medic Profile
Find jobs where the CopyStorm/Medic profile matches the query. Use * for a wildcard.
Last Status
Limit the to jobs with a status of:
Running — a task defined in the job is running.
Success — the last reported status of the job was success.
Failure — the last reported status of the job indicated a problem.
Include Jobs
Limit to jobs which are:
Active — the job is available to run.
Inactive — the job is not available to run but has not been marked as deleted.
Deleted — the job has been marked as deleted.
Created
Find jobs created within a date range. A date can be specified in the following formats:
2015-11-22
22-Nov-15
11/22/15 (USA Style)
22.11.2015
22-11-2015
20151122
11/12
22.11
Yesterday
Today
Modified
Find jobs modified within a date range. See the Created options for accepted date formats.
Last Run
Find jobs that ran within a date range. See the Created options for accepted date formats.
Next Run
Find jobs scheduled to run within a date range. See the Created options for accepted date formats.
Search
Run a search given the current query criteria.
Reset
Reset all search criteria to their default values.

The CopyStormJobSequence table is used to support a database-independent approach for generating integer sequence values. When creating new jobs or tasks within the application, the counter stored in the value field on this table for different object counter is utilized. For example, the name field can have the name CopyStormJob, and whenever a new CopyStormJob record is created, the integer stored in the value field will be utilized for the job id.
The following table describes each field in the CopyStormJobSequence table:
name
varchar
Yes
The name of the object associated with the counter.
value
integer
Yes
The current counter utilized for the next job.
Release Date: 28-Apr-2026 This is a feature and bug fix release. As always, existing CopyStorm/Director installations are backwards compatible.
28-Apr-2026
Original Release
Salesforce API version 65 deprecates the SOAP username/password login endpoint. Customers should migrate to an external client application configured with OAuth. Jobs using a login type that does not support API 65 will automatically fall back to API 64, and an exception will be logged at the start of each job as a reminder to migrate.
This exception can not be eliminated until OAuth authentication is used.
The "Fallback API Detected" error does not stop your jobs from running - it is informational, and indicates that scheduled jobs are not able to use the most recent Salesforce API features. The error will be resolved when updating to JWT (or other OAuth) authentication.
Please reference .
This release updates CopyStorm/Director to use Salesforce API version 65.
Improved application performance when navigating and exporting Task History.
Forcing a specific CopyStorm job to run on demand requires three things:
Database credentials for the CopyStorm/Director database.
The unique integer Job Number for the job containing the task to run.
The family to which the job belongs.
All of this data is visible when viewing a job in the CopyStorm/Director GUI:
Release Date: 2025-Apr-01
This is a minor feature and bug fix release. As always, existing CopyStorm/Director configuration files are backwards compatible.
Improve transaction handling in database schema upgrades.
2025-Apr-01
Original Release
Release Date: 22.Aug.2024
This is a bug fix version upgrade release. As always, existing CopyStorm/Director configuration files are backwards compatible.
22.Aug.24
Original Release
Fix an issue where Standard Error/Standard Output is fully loaded in memory when viewing Job History. The fix results in faster page rendering.
With this information, the following command line will force the corresponding CopyStorm job to run immediately:
Windows:
CopyStormJobRunner.bat -action runCopyStorm -jobs 1 -family Default -cscredentials “encrypted-credentials-string”
Linux/Mac:
sh CopyStormJobRunner.sh -action runCopyStorm -jobs 1 -family Default -cscredentials “encrypted-credentials-string”
If the job is a CopyStorm/Medic task, change the -action argument to CopyStormMedic:
Windows:
CopyStormJobRunner.bat -action runCopyMedic -jobs 1 -family Default -cscredentials “encrypted-credentials-string”
Linux/Mac:
sh CopyStormJobRunner.sh -action runCopyMedic -jobs 1 -family Default -cscredentials “encrypted-credentials-string”
The log file and status of the run will be stored in the CopyStorm/Director database — just as if the CopyStorm/JobRunner were invoked from a scheduler.
CopyStorm/JobRunner will output information similar to the following example:
Only a single task in a job can be forced to run on demand at the same time. See the CopyStorm/JobRunner command line options for more details.
The CapStormPlatformConfig table contains configuration information for the application. This table is a formatted as a key-value pair structure to store metadata about the application configuration. The primary information stored in the table pertains to versioning of the application aligning to the version of the database schema.
The following table describes each field in the CapStormPlatformConfig table:
One of the first steps in setting up a new CopyStorm/Director database is to establish a few key global parameters. The File System Configuration tab is used to establish all required global parameters.
If you fail to enter all values or enter a value incorrectly, the system will detect and report the issue when a task runs.
Documentation for each parameter is included as part of the tab:
Once the CopyStorm/Director application is installed, a number of global parameters must be initialized before the first CopyStorm job will run:
The root directory of a preexisting CopyStorm installation.
The root directory of a preexisting CopyStorm/Medic installation.
A directory for storing CopyStorm configuration files accessible to the CopyStorm/Director program.
username
varchar
Yes
The name of the user.
password
varchar
No
The hashed password for the user for login.
enabled
boolean
Yes
True if the user can log in, otherwise false.
property
varchar
Yes
The identifier for a specific application property.
propertyValue
varchar
Yes
The value associated with a specific application property.



Capstorm recommends that this directory be created OUTSIDE of a CopyStorm or CopyStorm/Medic installation.
See the CopyStorm Directory Structure article for more information.
Enter the parameters as shown in the example below and you will be ready for the next step: Setup and Schedule Your First CopyStorm Job.
The Group_Authorities table defines authorities (permissions) assigned to specific groups within the application. Each record links a group to a particular authority, enabling role-based access control at the group level.
The following table describes each field in the Group_Authorities table:
The following table describes available authorities within the application including a description.
The ApplicationCredential table maintains secure, reusable credential information used for authenticating against external systems such as Salesforce or database connections. It supports different connection and credential types with flexible formats.
The following table describes each field in the ApplicationCredential table:
The Job Editor tab is used to create a new job and corresponding tasks. The Job Editor table can also be used to view the history, status, and log data for each task.
Before creating a new job, click on the “Clear Editor” button. The most important data to enter is:
Job name — a unique, human-readable name for the job.
Description — a detailed description of the purpose of the job.
The two check boxes control job behavior:
If the “Active” box is not checked the tasks in the job will not be ran by CopyStorm/JobRunner.
If the “Deleted” box is checked the job will be considered deleted but still kept in the CopyStorm/Director database.
After entering a name and description, the next step is to enter credentials for both the Salesforce instance and the CopyStorm database associated with the job.
A CopyStorm/Director job may have multiple tasks, each of which are scheduled to run at different times. In the following screenshot a single CopyStorm task has been created:
The “Log Retention” is an optional input that allows specification for the number of log files to kept for a specific task. If the input is left blank, all logs are kept.
The run schedule for a task is set using the Schedule Editor. Click on the “Actions…” button to launch this editor.
Parameters on the left of the dialog control when a task should run. For help on the format click on the link in the help part of the dialog. As you enter scheduling constraints the system will display the computed schedule on the right-hand side of the dialog. Note that nothing is saved unless you click on the “Update Task” button.
Adding a CopyStorm/Medic task follows the same procedure with one extra required parameter. The extra parameter is used to specify the CopyStorm/Medic tool to run.
A variety of actions are available for a Task — to see the list of actions click on the “Actions…” button next to the task. Task actions include:
“Show Schedule” shows a read-only version of the schedule for the next 10 runs of the job.
“Edit Schedule” displays the Schedule Editor for the task.
“Run CopyStorm GUI” launches the CopyStorm application using the configuration file associated with the task.
“Start Task” starts the task as a background job. The background job will continue to run if the CopyStorm/Director application is closed.
The History tab displays the results of each task execution. The date range of tasks displayed can be changed using the “History From … thru” editor:
The ConfigurationFileVersion table stores individual versions of configuration files used by CapStorm products. Each entry corresponds to a specific version of a file recorded in the ConfigurationFile table, including its full content and associated metadata.
The following table describes each field in the ConfigurationFileVersion table:
The CopyStormTaskLogFile table stores segmented pieces (“chunks”) of large task log files generated by job runs of CopyStorm and CopyStorm/Medic. Each chunk represents a portion of the full log associated with a specific CopyStormTaskLog record. This allows for scalable storage and retrieval of log data.
The following table describes each field in the CopyStormTaskLogFile table:
The CapStormPlatformDatabase table stores metadata and connection information for databases registered with the application. Each record represents a distinct database environment, including its type, intended usage, and configuration details.
The following table describes each field in the CapStormPlatformDatabase table:
The ConfigurationFileAdminLog table records a historical log of actions performed on configuration files, including details about the action, the environment, and the user responsible. This enables traceability auditing, and troubleshooting for configuration changes.
The following table describes each field in the ConfigurationFileAdminLog table:
CopyStorm/Director is comprised of three major components:
The CopyStorm/Director Database contains definitions of all CopyStorm jobs, their history, and the schedule(s) for when they should run.
The CopyStorm/Director application is a rich GUI for editing and searching the content of a CopyStorm/Director Database.
The CopyStorm/JobRunner is a command-line tool that runs jobs defined in the CopyStorm/Director Database.
The relationships between components are illustrated in the following diagram:
name
varchar
Yes
A unique identifier to describe the stored credentials.
connectionType
varchar
Yes
The type of connection associated with the credentials, i.e. Salesforce, Database
credentialType
varchar
Yes
The type of credentials that are stored, i.e, OAuth, Username and Password
loginHost
varchar
No
An optional host endpoint utilized by the credentials for Salesforce connections.
credentials
clob
Yes
The actual credentials being stored. Format of this field is dependent on the connectionType and credentialType.
isactive
boolean
Yes
True if the credentials can be utilized, otherwise false.
createdDate
datetime
Yes
The date and time when the record was created.
modifiedDate
datetime
Yes
The date and time when the record was last modified.
lastModifiedBy
varchar
Yes
The user who last modified the record.
createdBy
varchar
Yes
The user who created the record.
id
integer
Yes
Unique identifier assigned to the record by the application.
configFileId
integer
Yes
The unique id of the configuration file in the ConfigurationFile table.
configFileVersion
varchar
Yes
The version of the record. Multiple versions of a configuration file can be stored.
contents
varchar
Yes
The actual file body of the configuration file.
notes
varchar
No
Optional notes associated with the configuration file.
isDeleted
boolean
Yes
True if the configuration file version is considered deleted, otherwise false.
createdDate
datetime
Yes
The date and time when the record was created.
modifiedDate
datetime
Yes
The date and time when the record was last modified.
lastModifiedBy
varchar
Yes
The user who last modified the record.
createdBy
varchar
Yes
The user who created the record.
id
integer
Yes
Unique identifier assigned to the task log chunk.
taskLogId
integer
Yes
The unique id of the CopyStormTaskLog which has chunked its log file.
sequenceNum
integer
Yes
The chunk’s position for a given log entry in the database.
logFile
varchar
No
The contents of the log file chunk.
createdDate
datetime
Yes
The date and time when the record was created.
lastModifiedDate
datetime
Yes
The date and time when the record was last modified.
name
varchar
Yes
A unique name for the record describing the database.
databaseName
varchar
Yes
The name of the database in the database server.
description
varchar
Yes
A description of the database configured.
preventDeletion
boolean
Yes
True if the database can be deleted by the application, otherwise false.
databaseType
varchar
Yes
The type of database being used. Acceptable values include: ‘PostgreSQL’, ‘Oracle’, ‘MySQL’, ‘SQLServer’
databaseUsage
varchar
Yes
How the database is utilized, i.e. CopyStorm, Tracker
connectionModel
varchar
Yes
The XML formatted connection information for the target database.
iscustom
boolean
Yes
True if the database was created outside of the application, otherwise false.
createdDate
datetime
Yes
The date and time when the record was created in the database.
modifiedDate
datetime
Yes
The date and time when the record was last modified in the database.
lastModifiedBy
varchar
Yes
The user who last modified the record in the database.
createdBy
varchar
Yes
The user who created the record in the database.
id
integer
Yes
A unique identifier for the table entry.
action
varchar
Yes
The action taken for a configuration file i.e. AddConfigFile, ModifyConfigFile.
actionObject
varchar
No
A JSON-formatted string defining the configuration file with action.
actionDetails
varchar
No
Human-readable string defining the action taken place.
databaseUser
varchar
No
The database user who performed the action.
osUser
varchar
No
The operating system user who defined the action.
osHostname
varchar
No
The host name of the operating system where the action was performed.
osIpAddress
varchar
No
The IP address of the operating system where the action was performed.
fingerprint
varchar
No
A unique identifier describing the user and environment where the action was performed.
createdDate
datetime
Yes
The date and time when the record was created.
“Stop Running Task” stops the background process running this task. This option is disabled if the task is not running.
“Delete Task” removes the task from the job.






Execute CopyStorm/Restore processes permission.
RESTORE_INVOKE
Launch CopyStorm/Restore application permission.
RESTORE_CONFIGURE
Update CopyStorm/Restore configuration file permission.
RESTORE_DEPLOY_METADATA
Deploy metadata in CopyStorm/Restore permission.
MEDIC_RUN
Execute CopyStorm/Medic tool permission.
MEDIC_INVOKE
Launch CopyStorm/Medic application permission.
MEDIC_CONFIGURE
Update CopyStorm/Medic configuration file permission.
DIRECTOR_RUN
Execute CopyStorm/Director actions permission.
DIRECTOR_CONFIGURE
Update CopyStorm/Director configuration permission.
DIRECTOR_USER_ADMIN
Ability to navigate to the “Access Control” tab in CopyStorm/Director
ODATA_VIEW_DATA
Access to the Data Viewer permission.
DATABASE_MANAGEMENT
Access to the “Database Management” tab permission.
SALESFORCE_CREDENTIAL_CONFIGURE
Access to the “Salesforce Credentials” tab permission.
DATABASE_CREDENTIAL_CONFIGURE
Access to the “Database Credentials” tab permission.
QUICKSTART_WIZARD_CONFIGURE
Ability configure best practice wizards (Quick Start, Snowpark Setup, etc.)
ODATA_VIEW_DATA_PROD
Access to the Data Viewer to view production data.
RESTORE_PROD
Ability to restore data in CopyStorm/Restore to a production Salesforce instance.
MEDIC_PROD
Ability to execute CopyStorm/Medic tools against a production Salesforce instance.
group_id
integer
Yes
The unique identifier for the group associated with an authority.
authority
varchar
Yes
The permission associated with a specific group.
COPYSTORM_INVOKE
Launch CopyStorm application permission.
COPYSTORM_CONFIGURE
Update CopyStorm configuration file permission.
RESTORE_RUN
In addition to the CopyStorm/Director components, installations of CopyStorm and CopyStorm/Medic are required. CopyStorm/Director can use any supported version of CopyStorm.
The CopyStorm/Director database can be hosted in any relational database supported by Capstorm. Though the CopyStorm/Director Database can be kept with other tables, Capstorm recommends that a private database or schema is created to hold CopyStorm/Director data.
Like other Capstorm products, CopyStorm/Director automatically creates the necessary database schema the first time it attaches to a database.
CopyStorm/Director is a GUI for managing and searching the data in a CopyStorm/Director Database. The CopyStorm/Director application comes in two flavors:
A portable Java application that will run on any Windows, Linux, or Mac system.
A web application which that will run in any container supporting Java Servlets. For example, Tomcat or Jetty.
CopyStorm/JobRunner is a command line tool designed to be invoked by a native system scheduler — Windows Scheduler or CRON on Linux / Mac. The primary purpose of CopyStorm/JobRunner is to run jobs on the schedules specified in the CopyStorm/Director Database and to record the results of each run (also within the CopyStorm/Director Database).
Release Date: 19-Dec-2025
This is a minor feature and bug fix release. As always, existing CopyStorm/Director configuration files are backwards compatible.
19-Dec-2025
Original Release
With the release of CopyStorm/Director 2.64.3, the minimum supported Java version is 17. As always, the Windows distribution of CopyStorm/Director includes a supported Java environment.
CopyStorm/Director 2.64.3 introduces support for scheduling CopyStorm/Restore configurations. New task types for CopyStorm/Restore are available in the CopyStorm/Director GUI, and both Restore Candidate Scans and Record Recoveries can be scheduled.

The UserPreferences table stores custom properties associated with individual users. These properties allow the system to maintain flexible, user-specific attributes without modifying the core user schema.
The following table describes each field in the UserPreferences table:
The Group_Members table links individual users to specific groups in the system. It is a many-to-many relationship bridge between the user and group entities, allowing users to inherit the authorities assigned to their groups.
The following table describes each field in the Group_Members table:
Release Date: 5-Aug-2025
This is a minor feature, bug fix, and Salesforce API version upgrade release. As always, existing CopyStorm/Director configuration files are backwards compatible.
5-Aug-2025
Original Release
This release updates CopyStorm/Director to use Salesforce API version 64.
This release introduces support for scheduling the CopyStorm/Medic tool.
Resolved a filtering issue with the “Jobs that did not run today” quick-search.
This article explains how to add CopyStorm/JobRunner to your system scheduler so it will run unattended on a schedule you specify.
The first step is to create a CopyStorm/JobRunner command that can be successfully ran from the command line. The easiest way to do this is to open the Job Runner tab in the CopyStorm GUI and copy the command already generated:
It is a good idea to put the command line into a script file. Within this documentation, the script was put into a file named:
Windows: C:\bin\MyCopyStormJobRunner.bat
Linux/Mac: /usr/local/bin/MyCopyStormJobRunner.sh
The CopyStormGlobalConfig table contains information required to launch CopyStorm and CopyStorm/Medic tasks.
The following table describes each field in the CopyStormGlobalConfig table:
Before starting to set up a CopyStorm/Director job:
Make sure the CopyStorm configuration files to be used are stored in the directory indicated on the (formerly called the Global Configuration) tab.
There are three steps remaining:
Review the . It describes how to define and schedule a job.
username
varchar
Yes
The name of the user with a property.
property
varchar
Yes
The name of the property associated with a user.
propertyvalue
varchar
No
The value of the property associated with a user.
createddate
datetime
Yes
The date and time when the property was created.
lastmodifieddate
datetime
Yes
The date and time when the property was last modified.
id
integer
Yes
A unique identifier for the record.
username
varchar
Yes
The name of a user for group assignment.
group_id
integer
Yes
The id of the group for user assignment.
Schedule the Job Runner using your system’s scheduler. If you need help see this page.
Yes
Used by CopyStorm/Director to determine the version of the database schema installed.
configDir
varchar
Yes
The name of a directory containing CopyStorm and CopyStorm/Medic configuration files accessible to CopyStorm/Director.
copyStormDir
varchar
Yes
The name of a directory which contains a CopyStorm installation.
copyStormMedicDir
varchar
Yes
The name of a directory which contains a CopyStorm/Medic installation.
defaultCopyStormConfig
varchar
Yes
The name of the CopyStorm configuration to use by default.
defaultCSMedicConfig
varchar
Yes
The name of the CopyStorm/Medic configuration to use by default.
defaultDatabaseType
varchar
Yes
The type of CopyStorm database to use by default (e.g. sqlserver).
version
varchar
The CopyStorm/JobRunner is scheduled to run every 10 minutes. If there is nothing to do it takes less than a second to run. This is perfectly safe for two reasons:
Multiple CopyStorm/JobRunner jobs will not interfere with each other.
The limit on the maximum number of jobs to run at any one time is enforced across all running CopyStorm/JobRunner instances.
For more information about Crontab formats or background information on the cron scheduler, see the Wikipedia page for cron.
Use the command “crontab -e” and add an entry for MyCopyStormJobRunner.sh.
An entry to run CopyStorm/JobRunner every 10 minutes would look like:
0,10,20,30,40,50 * * * * sh /usr/local/bin/MyCopyStormJobRunner.sh
Find and open the Windows Scheduler.
Open the Create Basic Task wizard.
Enter basic information about the task.
Indicate when the task will run. Within the wizard this will be Daily. After the wizard completes we will change this to every 10 minutes.
Tell the scheduler to run our script — MyCopyStormJobRunner.bat.
On the next page, the confirmation page, click on “Finish” and the job will be scheduled. The next task is to change the job interval to every 10 minutes.
Open the Task Editor for the newly created task.
Open the trigger schedule for editing.
Update with the following parameters and save your work. This will cause CopyStormJobRunner.bat to be scheduled to run every 10 minutes (forever).

The Groups2 table stores distinct groups within the system. Groups are used to organize users and assign authorities collectively, allowing role-based access control without the need to manage permissions for individual users.
The following table describes each field in the Groups2 table:
Release Date: 31-July-2023
This is a minor feature and bug fix release. As always, existing CopyStorm/Director configuration files are backwards compatible.
31-July-2023
Original Release
A new XML configuration file may be used to add additional parameters to the Java runtime used to launch CopyStorm/Director – this allows additional parameters (e.g. “-Xmx”) to be added outside of the CopyStorm/Director launch script.
CopyStorm/Director has been updated to resolve a Windows-specific issue with SQL/Server integrated security connections in Java 17.
Release Date: 16-Dec-2016
This is a feature and minor bug fix release.
16-Dec-2016
Original Release
15-Dec-2017
The web browser based tools now include a dashboard which dynamically monitors and shows the progress of all active CopyStorm/Director jobs.
Previous releases required the CopyStorm/Director Metadata to be in the default schema.
Previous releases would always pass encrypted credentials on the command line even when a task was set up to use the credentials in the CopyStorm configuration file. This would cause a hard to diagnose error if the encrypted credentials in the database did not match the credentials in the configuration file.
Previous releases would not fully paint a new task on the GUI task editor when it was the new task (a window resize event was needed). This bug is fixed.
Jobs that are marked as inactive or deleted now are indicated by a status of “Inactive” (or “Deleted”) with a gray background.
The Global Configuration tab has a new button, Reload Configuration Data, that will rescan the configuration directory for changes (e.g. new or removed configuration files).
Controls have been added to the bottom of the Find Jobs tab for launching CopyStorm or CopyStorm/Medic.
If the -silent flag is passed to the JobRunner.bat script then the JobRunner will not longer display a blank “CMD” window when it is running. In previous versions a blank “CMD” would display even when the JobRunner was launched via Windows Scheduler.
When the log file for a task is being viewed it will now be updated to match the running log file of a task. By default, the update interval is every 10 seconds.
The CapStormWizardConfig table is used to store information about best practice configurations in CapStorm/Platform applications (i.e. CS:Container or Snowflake CapStorm Salesforce Connector). Primary information for the configuration is stored in the config field. The structure of the data in the config field is dependent on the type of configuration record that is stored. All CapStorm best practice wizards have a designated type that maps to a specific structure to be stored. All information in the config field is JSON formatted.
The *createdDate, createdBy, lastModifiedDate,*and lastModifiedBy fields are audit fields to describe when and who initially created configuration records as well as when and who made the last modification.
The following table describes each field on the CapStormWizardConfig table:
CopyStorm/Director is designed to simplify the management of CopyStorm for organizations with many Salesforce instances. The simplification is gained by centralization of:
CopyStorm job scheduling.
CopyStorm status monitoring and reporting.
CopyStorm log organization and archival.
For example, the following diagram illustrates a company with three Salesforce instances (Autos, Motorcycles, and Boats) with multiple CopyStorm jobs running against each instance:
id
integer
Yes
Unique identifier for the record.
group_name
varchar
Yes
The name of the group.
Add Java 9 support for adjusting to high DPI displays. Add a couple of indexes to the control tables.
Release Date: 31-Mar-2023
This is a minor feature, bug fix, and Salesforce API version upgrade release. As always, existing CopyStorm/Director configuration files are backwards compatible.
31-Mar-2023
Original Release
Resolved an issue that could cause successful CopyStorm jobs to be marked as failed in Director.
Resolved an issue that could cause CopyStorm/Director database schema upgrades to be incorrectly applied.








id
integer
Yes
Unique identifier assigned to the wizard configuration by the application.
name
varchar
Yes
A human-readable name assigned by a user to this configuration.
type
varchar
With CopyStorm/Director:
Job Scheduling is managed in a central GUI.
A single scheduled system job, CopyStormJobRunner, manages all CopyStorm related jobs — for all Salesforce instances.
Historical CopyStorm job status is managed in a single documented relational database of your choice.
Though CopyStorm/Director can manage CopyStorm for a single Salesforce instance, it also scales to 100s of instances.
The CopyStormTask table describes each CopyStorm and CopyStorm/Medic task that can be ran against its parent CopyStormJob Salesforce instance. This table also describes the schedule under which each job should be ran by CopyStorm/JobRunner.
CopyStormDirector also defines a view, CopyStormTaskView, which combines information in the CopyStormTask table with the most recently executed task (and its status).
The following table describes each field in the CopyStormTask table:
Release Date: 18-Dec-2018
This is a minor feature and bug fix release. As always, existing CopyStorm/Director configuration files are backwards compatible.
The CopyStormTaskFamily table is used to register names used to group CopyStormTask records.
The following table describes each field in the CopyStormTaskFamily table:
Yes
The type of wizard configuration that is stored in the record.
config
varchar
Yes
The actual configuration information in JSON format. The information stored here is dependent on the ‘type’
createdDate
datetime
No
The date and time when the configuration was first created.
createdBy
varchar
No
The user who created the configuration.
lastModifiedDate
datetime
No
The date and time when the configuration was last modified.
lastModifiedBy
varchar
No
The user who last modified the configuration.

The kind of task to run. Supported values include:
CopyStorm
CopyStormMedic
family
varchar
Yes
The high-level group name for this task. The default value for this field is “Default”.
configProfile
varchar
Yes
The name of the configuration file used to run this task. It must be a CopyStorm or CopyStorm/Medic configuration file.
maxRunTimeMinutes
integer
No
If specified, this task will be forcibly killed if it runs for longer than this many minutes.
scheduledMinute
varchar
No
A list of minutes at which the task should run. There must be a value in this column for a task to be considered by CopyStorm/JobRunner.
scheduledHour
varchar
No
A list of hours at which the task should run. If this value is blank, the task will run every hour.
scheduledDay
varchar
No
A list of days when the task should run. If this value is blank, the task will run every day.
optionArgs
varchar
No
Indicates which CopyStorm/Medic operation should be performed. This column is ignored for CopyStorm tasks.
jvmArgs
varchar
No
Adds Java JVM arguments to the Java instance running the task. The most common use of this parameter is to increase Java’s maximum memory.
nextRunTime
datetime
No
Computed by CopyStorm/JobRunner and contains the next time the task is scheduled to run.
createdDate
datetime
Yes
The date on which this task was created.
lastModifiedDate
datetime
Yes
The date on which this task was last modified.
id
integer
Yes
A unique integer id assigned to the task by CopyStorm/Director.
jobId
integer
Yes
The unique id of the CopyStormJob which owns this task.
jobType
varchar
Yes
Yes
The type of job, i.e. CopyStorm, CopyStormMedic
familyname
varchar
Yes
The name of the family associated with the job type.
jobtype
varchar
Fix minor bug launching CopyStorm/Medic when a password repository is being used.
15-Aug-19
Code around Java 11 warning related to determining process ids.
The core application was upgrade to use the current Salesforce API and the most recent JDBC libraries from each respective database vendor.
The launch of CopyStorm/Medic from the GUI was not properly loading the related CopyStorm/Medic configuration file.
The job history feature automatically limits the viewed history to the past 30 days rather than showing all history records by default.
18-Dec-18
Original Release
22-Jan-19
The CopyStormJob table is the root descriptor for all tasks associated with a single Salesforce instance. It contains login credentials for a Salesforce instance and its corresponding CopyStorm backup database.
Note that both Salesforce and CopyStorm backup credentials are optional and will override any credentials specified in the corresponding CopyStorm configuration file. However, credentials stored in this table are useful when a common CopyStorm configuration file needs to be used for many different Salesforce and CopyStorm databases.
CopyStormDirector also defines a view, CopyStormJobView, which combines information in the CopyStormJob table with the most recently executed task (and its status).
The following table describes each field in the CopyStormJob table:
When CopyStorm/Director is launched it will always require credentials for its corresponding database.
CopyStorm/Director will automatically remember the most recently used credentials for the current user.
The most recently used credentials are encrypted and stored in the file $HOME/.capstorm/CopyStormDirector.properties.
Encryption is performed using DES-256 with an unpublished secret key.
A typical encrypted database credential token looks like:
“>+XivzBaVHtPWN7wuBWQS454c2rWv76pk2+fMILleNtVCWK+++exzHk7CkrM1RfgXTLiXAGM15RR674Xy5+jEZQtzHrgxllFX8wx25FbQr7iH0tmcWAGghiYpnRe+7VIS
There are no special setup requirements for the database except that the corresponding user:
Must be able to create/alter tables and views.
Must be able to insert/update/delete/select from any table/view created.
CopyStorm/Director automatically creates the necessary schema if it is missing.
After entering credentials, click on the “Select” button to connect to the CopyStorm/Director database and launch the configuration editor:
Release Date: 17-Apr-2024
This is a minor feature, bug fix, and Salesforce API version upgrade release. As always, existing CopyStorm/Director configuration files are backwards compatible.
17-Apr-2024
Original Release
This release introduces CopyStorm/Director support for scheduling additional CS:Medic tools:
Count Records
Fix Doc Links
Find Permission Errors
Refresh Columns
Resolve an issue preventing the job log from correctly color-coding on MacOS.
id
integer
Yes
Unique identifier assigned to the job by CopyStorm/Director. This value may be used to refer to the job using the CopyStorm/JobRunner application.
name
varchar
Yes
Unique, human-readable name assigned by a user to this job.
sfInstanceType
varchar
Yes
Indicates whether the target Salesforce is a Production, Sandbox, or DatabaseDotCom instance.
sfUsername
varchar
No
An optional username that will be used to login to Salesforce.
sfPassword
varchar
No
An optional password that will be used to login to Salesforce.
sfLoginHost
varchar
No
Used to override the Salesforce host used to process login requests.
dbType
varchar
Yes
The target CopyStorm database type.
dbUsername
varchar
No
An optional username that will be used to login to the CopyStorm database.
dbPassword
varchar
No
An optional password that will be used to login to the CopyStorm database.
dbConnectionString
varchar
No
An optional JDBC connection string that will be used to connect to the CopyStorm database.
active
char
Yes
Indicates if tasks defined for the job should be considered for execution. Possible values are “Y” and “N”.
deleted
char
Yes
Indicates if the user has deleted the job from CopyStorm/Director. Possible values are “Y” and “N”. Jobs in this state can be undeleted.
description
varchar
No
A block of text describing the purpose of the job.
createdDate
datetime
Yes
The date on which the job was created.
lastModifiedDate
datetime
Yes
The date on which the job was last modified.

If you’ve seen the following behavior with CopyStorm/Director:
Screenshot: Duplicate CopyStorm jobs in CopyStorm/Director
Please review your Windows Task Scheduler configuration for CopyStormJobRunner.bat. Ensure that:
Exactly one Task is configured to launch CopyStormJobRunner.bat
In the Settings of the Task Declaration
“If the task is already running, then the following rule applies:” is set to “Do not start a new instance“
The following screenshots provide an example configuration that will run the CopyStormJobRunner.bat script every 10 minutes, starting at 20:00, every day.
Screenshot: CopyStormJobRunner Triggers Example
Screenshot: CopyStormJobRunner Settings Example
If you’ve ensured that the Windows Task declaration is configured correctly, and you’re still seeing CopyStorm/Director launch multiple jobs at the same time, please review the History for the Task.
In practice, we’ve seen Windows Task Scheduler run a task multiple times at the configured trigger time – even with the “Do not start a new instance” task rule applied.
Your History tab may look something like this:
Screenshot: CopyStormJobRunner History Example
In the screenshot above, you can see multiple Action Started Task Categories at the 04:00:04 timestamp – meaning that multiple instances of CopyStormJobRunner.bat are running concurrently.
Disablethe current CopyStormJobRunner Windows Task.
Createa new CopyStormJobRunner Task with the same configuration as the previous Task.
Monitor the History for the newly created task – ensure that you see exactly one Action Started Task Category at the expected execution time.
Please contact immediately if you notice further issues after following these steps.




Installing CopyStorm/Director does not touch any system files or registry values — you should not need an administrator.
CopyStorm/Director uses a database to store information about jobs, schedules, and status. Before using CopyStorm/Director this database must be created.
The database type can be any of the following:
SQL/Server
Oracle
PostgreSQL
MySQL
Capstorm recommends creating a database and a database user for the sole purpose of managing CopyStorm/Director data. What “creating a database” entails is slightly different for the various database engines but a DBA will know what to do.
Download CopyStorm/Director from or from the link sent to you by Capstorm.
Unzip the downloaded file into any directory. A single directory named CopyStormDirector will be created.
Go to the newly created CopyStormDirector directory and run the launcher appropriate for your operating system:
Windows: CopyStormDirector.bat
After a successful connection the CopyStorm/Director tool will appear, with the File System Configuration (formerly called the Global Configuration) tab selected. At this point you are ready for .
Linux: CopyStormDirector.sh
The system will ask you for credentials to the database created in the first step. The form is the same as the one used by CopyStorm — here are a few examples:





CopyStorm/Director is designed to simplify the management of CopyStorm when an organization has many Salesforce instances:
By managing jobs in a central database, CopyStorm/Director provides solutions to several different problems faced by organizations with many Salesforce instances:
A single scheduled program (CopyStorm/JobRunner) can be used to launch all CopyStorm jobs.
This reduces the complexity of CRON (Linux/Mac) and Windows Scheduler setup and maintenance.
CopyStorm/Director prevents duplicate jobs from running at the same time.
Log files from CopyStorm jobs are kept in a central database rather than a difficult to maintain file directory structure.
CopyStorm/Director automatically analyzes log files and provides reports on jobs that experienced problems.
When operators reboot a system, jobs that were in progress are automatically restarted after the reboot is complete.
Different CopyStorm jobs with different purposes can be scheduled on the same Salesforce instance with no risk of job overlap.
Job description and history is maintained in a documented relational database, allowing third-party reporting if needed.
CopyStorm/Director management tasks can be accessed via either a native desktop application or a web browser.
Is Copystorm/Director worthwhile if a site has a single Salesforce instance? Yes. Time spent installing CopyStorm/Director will be paid back many times by its ability to manage and analyze log files. Not all Salesforce API hiccups are equal, and CopyStorm/Director knows which are important.
Read the guide to become familiar with the core components of CopyStorm/Director.
Read the Getting Started articles. They will guide you through the installation and setup of CopyStorm/Director.
The Access Control tab is used to configure access control/authorization for the core CapStorm applications (CopyStorm, CopyStorm/Medic, CopyStorm/Restore, and CopyStorm/Director). The Access Control editor table can be used to add new and edit existing CapStorm application users and assign pre-defined roles to users. These pre-defined roles will determine the level of access (available functionality) granted to the assigned user when using the aforementioned supported applications.
NOTE: This functionality is disabled if using the desktop Swing GUI version of the application suite. In this case, the Access Control tab will be grayed out.
Click on the “Add User…” button.
This will open a pop-up dialog where you can enter the following:
Username — a unique username.
Password — a strong password.
Enabled — this checkbox determines whether the user will be enabled or disabled upon creation.
Then click the “Save” button to add the user.
After adding a user, you can assign the user a role.
Three pre-defined roles are available:
Super Admin — a top-level administrative role. A user with this role can perform any operation in any application including configuration of Access Control.
Admin — a slightly restricted administrative role. A user with this role can perform any operation in any application except configuration of Access Control.
Configurator — a user with this role can edit configurations for all applications, but cannot invoke any of the applications (cannot run jobs).
The “Production Enabled” check-box will enable/disable any operation that is allowed by the assigned role against a production database or Salesforce org. For example:
A user that has been assigned the “Configurator” role but has the “Production Enabled” check-box unchecked cannot edit a production configuration.
A user can be enabled/disabled by clicking the “Is Enabled” check-box or deleted by clicking the “Remove” button.
When you are finished making changes to the Access Control configuration, click the “Save Changes” button at the bottom of the editor table. A pop-up dialog will appear where you can validate and confirm/deny all staged changes.
You can also undo all staged changes by clicking the “Undo Changes” button.
The Access Control configuration is stored and reflected in a sub-schema of the CopyStorm/Director database schema that consists of the following five tables and a single view:
users
authorities
groups2
group_authorities
These tables, and the view, are required for the functionality of the Access Control subsystem to function properly.
user_group_authorities_view (view)








The CopyStorm/Director application comes in two flavors:
The CopyStorm/Director Desktop
The CopyStorm/Director Browser Application
Capstorm recommends starting with the desktop version. The web browser application can always be configured later and used concurrently with the desktop version.
Windows: XP/Vista/7/8/Server, both 32 and 64-bit.
Linux: Ubuntu, RHEL, Suse, Fedora, etc…
Mac OS
VMWare, Amazon/AWS, Microsoft Cloud, and other hosted environments.
Java 7 or higher.
A Java JRE is packaged with CopyStorm/Director Windows distributions.
Servlet container using Java 7 or higher.
Capstorm develops using Tomcat7 and Jetty.
Both flavors of CopyStorm/Director require a relational database and a user with CREATE/ALTER TABLE permissions. The database can be any of the following:
SQL/Server
Oracle
PostgreSQL
MySQL
Release Date: 16-Dec-2024
This is a minor feature, bug fix, and Salesforce API version upgrade release. As always, existing CopyStorm/Director configuration files are backwards compatible.
16-Dec-2024
Original Release
This release updates CopyStorm/Director to use Salesforce API version 62.
New option to set the number of logs to retain for each CopyStorm or CopyStorm/Medic job. This parameter is set per task, which allows logs for key jobs to be retained longer than jobs for less critical jobs. If this parameter is left blank, all logs will be retained. Reference for details.
Resolve an issue that could cause the first run of tasks to cause multiple tasks under the same CopyStorm/Director job to launch in parallel.
CopyStorm/Director manages data about CopyStorm jobs in a relational database. Managed data includes:
Schedules of which jobs should run.
Status of running jobs.
Log files and status of completed jobs.
The relational database type can be any supported by Capstorm.
See below for all tables in the CopyStorm/Director database:
Contains configuration information for the application.
Metadata and connection information for CopyStorm and tracker databases.
Best practice wizard state and information for creating CopyStorm jobs.
Metadata about configuration files used by CapStorm products.
Information on who made configuration file changes and when.
Individual versions of saved configuration files.
Login credentials for Salesforce instances and their corresponding backup databases.
Information about where to find CopyStorm and CopyStorm/Medic installations. This table also contains the location of CopyStorm configuration files.
Supports a database-independent approach for generating integer sequence values.
A description and schedule for each CopyStorm or CopyStorm/Medic task contained within a parent CopyStormJob record.
Registered names used to group CopyStormTask records.
Status and Log file for a single run of a CopyStormTask. This table can be used to determine which tasks have run, which tasks are running, and which tasks are orphaned.
Segmented job log file information for efficient storage.
Defines authorities assigned to specific groups.
Links individual users to specific groups in the system.
Stores distinct groups within the system.
Stores custom properties associated with individual users.
Stores authentication details for system users.
Stores credential information for Salesforce and databases. Passwords are encrypted.
Defines the relationship between application users and permissions assigned.
CopyStorm/JobRunner supports the following command line options:
-action
string
The operation CopyStorm/JobRunner should perform. Supported actions include:
runScheduled — run available pending jobs.
status — display a brief summary of all jobs.
makeCredentials — create an encryption token usable with the -cscredentials option.
The following sample command lines illustrate how the various options are used.
sh CopyStormJobRunner.sh -action runScheduled -cscredentials “xyzzy”
Note: It is bad practice to use clear text credentials on the command line.
CopyStormJobRunner.bat -action runScheduled -cstype postgresql -csdatabase //localhost/copystormjob -csuser root -cspassword mypassword
sh CopyStormJobRunner.sh -action runScheduled -maxJobs 10 -cscredentials “encrypted-credentials-string”
sh CopyStormJobRunner.sh -action makeCredentials -cstype postgresql -csdatabase //localhost/copystormjob -csuser root -cspassword mypassword
sh CopyStormJobRunner.sh -action runCopyStorm -jobs 1,5 -cscredentials “encrypted-credentials-string”
sh CopyStormJobRunner.sh -action status -cscredentials “encrypted-credentials-string”
runCopyStormMedic — used in conjunction with the -jobs flag to force specific CopyStorm/Medic jobs to run.
-maxJobs
integer
Limits the number of concurrent CopyStorm and CopyStorm/Medic jobs. The value is global and enforced across all active copies of the CopyStorm/JobRunner.
-jobs
string
A comma-separated list of unique job ids. Job range expressions are also supported. For example:
1,3,4
1-10,11,12,15-20
-family
string
Limits the family of tasks that will run when the -runCopyStorm or -runCopyStormMedic option is used. The default value for this parameter is “Default”.
-cscredentials
string
An encrypted string containing all the information required to connect to a CopyStorm/Director database.
-cstype
string
The database type of the CopyStorm/Director database. Supported values include:
sqlserver
oracle
mysql
postgresql
h2
-csdatabase
string
The JDBC connection string used to connect to the CopyStorm/Director database.
-csuser
string
The username used to authenticate with the CopyStorm/Director database.
-cspassword
string
The password used to authenticate with the CopyStorm/Director database.
-apachelog
If this flag is present, the org.apache.commons.logging system will be used. Otherwise a default logging system that writes to stderr will be used.
-silent
If this flag is present, the application will not generate any messages unless an error is encountered.