Only this pageAll pages
1 of 64

CopyStorm/Director

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

CopyStorm/Director Global Configuration

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 .

Global Parameters editor
Global Parameters documentation

CopyStorm/Director Job Searcher

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.

CopyStorm/Director Dashboard

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.

CopyStorm/Director Job 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.

All rows/columns are accessible using a scrollbar.

CopyStorm/Director Web Application

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"
    />

    Step 1: Insert the Database JDBC Driver into the Tomcat lib Folder

    Step 2: Special Instructions for SQL Server Configuration.

    Step 3: Define a CopyStorm/Director Data Source.

    Step 4: Deploy the CopyStormDirector.war File.

    Step 5: Test the Installation.

    Related Articles

    http://my-director-install-host:8080/CopyStormDirector
    CopyStorm/Director Dashboard
    CopyStorm/Director Job Searcher
    CopyStorm/Director Job Editor
    CopyStorm/Director Global Configuration

    postgresql-42.4.0.jar

    MySQL

    mysql-jdbc-7.0.0.jre8.jar

    https://www.microsoft.com/en-us/download/details.aspx?id=11774

    Getting Started

    Frequently Asked Questions

    CopyStorm/JobRunner Credentials

    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.

    Approach 1: Copy a Credentials Token From the CopyStorm/Director GUI.

    Approach 2: Generate a Credentials Token From CopyStorm/JobRunner

    Release Notes

    CopyStorm/Director 2.56.4

    Release Date: 12-Jan-2024

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

    Patch Levels

    Date
    Patch Level

    12-Jan-2024

    Original Release

    Update Job History to be Color-Coded

    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.

    CopyStorm/Director GUI

    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:

    Improve UI Responsiveness

    CopyStorm/JobRunner

    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.

    Step 1: Understand How to Specify Database Connection Parameters

    Step 2: Jump to the Task You Want to Perform

    Related Articles

    CopyStorm/JobRunner Credentials article
    Add CopyStorm/JobRunner to a System Scheduler.
    Force a CopyStorm Job to Run on Demand.
    CopyStorm/JobRunner Command Line Documentation

    Reference

    CopyStorm/Director 2.40.1

    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.

    Improve Raw Performance of Job Monitoring

    Add Links To The Capstorm Learning Center

    Add Java 9 Support

    How Does CopyStorm/JobRunner Recover from a System Reboot?

    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.

    CopyStormTaskLog

    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:

    Column Name
    Data Type
    Required
    Description

    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

    Find Jobs

    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:

    Query Parameter
    Description

    ConfigurationFile

    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:

    Column Name
    Data Type
    Required
    Description

    CopyStorm/Director 2.54.1

    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.

    Date
    Patch Level

    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.

    Job Query Parameters

    ConfigurationFile Table

    Add CopyStorm/Director components to support storing application configuration files for CopyStorm, CopyStorm/Medic, and CopyStorm/Restore directly in the CopyStorm/Director database.

    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

    Patch Levels

    Update Database Encryption

    Coming Soon: Database Configuration File Storage Support

    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.

    Coming Soon: Access Control Configuration

    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.

    CopyStormJobSequence

    CopyStormJobSequence Table

    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:

    Column Name
    Data Type
    Required
    Description

    name

    varchar

    Yes

    The name of the object associated with the counter.

    value

    integer

    Yes

    The current counter utilized for the next job.

    CopyStorm/Director 2.65.1

    Release Date: 28-Apr-2026 This is a feature and bug fix release. As always, existing CopyStorm/Director installations are backwards compatible.

    Patch Levels

    28-Apr-2026

    Original Release

    Important: Salesforce Username/Password Login Deprecated

    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.

    Salesforce API Version Fallback for Username/Password Logins

    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.

    Force a Job to Run On Demand

    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:

    CopyStorm/Director 2.62.2

    Release Date: 2025-Apr-01

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

    Date
    Patch Level

    Improve transaction handling in database schema upgrades.

    2025-Apr-01

    Original Release

    Patch Levels

    Infrastructure and Database Updates

    CopyStorm/Director 2.37.4

    Release Date: 14-Nov-2016

    This is a minor bug fix release.

    Fix a Database Schema Modification Exception

    When installing a brand new CopyStorm/Director instance, the application could try and create a column in the control tables twice.

    CopyStorm/Director 2.59.3

    Release Date: 22.Aug.2024

    This is a bug fix version upgrade release. As always, existing CopyStorm/Director configuration files are backwards compatible.

    Patch Levels

    Date
    Patch Level

    22.Aug.24

    Original Release

    Job History User Interface: Improvement

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

    Salesforce API Update

    Task History Application Performance

    Users (Platform Only)

    Users Table (Platform Only)

    The Users table stores authentication details for system users. It is the primary table for determining login credentials and account status.

    The following table describes each field in the Users table:

    Column Name
    Data Type
    Required
    Description

    CapStormPlatformConfig

    CapStormPlatformConfig Table

    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:

    Column Name
    Data Type
    Required
    Description

    Global Configuration

    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:

    Global Configuration

    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.

    Group_Authorities (Platform Only)

    Group_Authorities Table (Platform Only)

    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:

    Column Name
    Data Type
    Required
    Description

    The following table describes available authorities within the application including a description.

    Authority
    Description

    ApplicationCredential

    ApplicationCredential Table

    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:

    Column Name
    Data Type
    Required
    Description

    Job Editor

    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.

    Step 1: Create a New Job

    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:

    ConfigurationFileVersion

    ConfigurationFileVersion Table

    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:

    Column Name
    Data Type
    Required
    Description

    CopyStormTaskLogFile

    CopyStormTaskLogFile 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:

    Column Name
    Data Type
    Required
    Description

    CapStormPlatformDatabase

    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:

    Column Name
    Data Type
    Required
    Description

    ConfigurationFileAdminLog

    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:

    Column Name
    Data Type
    Required
    Description

    Architecture Overview

    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.

    CapStormPlatformDatabase Table

    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.

    ConfigurationFileAdminLog Table

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

  • Step 2: Define Tasks and Schedules

    Step 3: Review Job History

    CRON

    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.

    Available Authorities

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

    CopyStorm/Director Database

    CopyStorm/Director

    CopyStorm/JobRunner

    CopyStorm/Director 2.64.3

    Release Date: 19-Dec-2025

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

    Patch Levels

    Date
    Patch Level

    19-Dec-2025

    Original Release

    Minimum Java Version Change

    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.

    CopyStorm/Restore Scheduling Support

    UserPreferences (Platform Only)

    UserPreferences Table (Platform Only)

    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:

    Column Name
    Data Type
    Required
    Description

    Group_Members (Platform Only)

    Group_Members Table (Platform Only)

    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:

    Column Name
    Data Type
    Required
    Description

    CopyStorm/Director 2.64.1

    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.

    Patch Levels

    Date
    Patch Level

    5-Aug-2025

    Original Release

    Salesforce API Update

    This release updates CopyStorm/Director to use Salesforce API version 64.

    CopyStorm/Medic Tool Support

    This release introduces support for scheduling the CopyStorm/Medic tool.

    • Resolved a filtering issue with the “Jobs that did not run today” quick-search.

    Add CopyStorm/JobRunner to a Scheduler

    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

    CopyStormJobGlobalConfig

    The CopyStormGlobalConfig table contains information required to launch CopyStorm and CopyStorm/Medic tasks.

    The following table describes each field in the CopyStormGlobalConfig table:

    Column Name
    Data Type
    Required
    Description

    Setup and Schedule A CopyStorm Job

    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.

    Application Experience and Interface

    Permission Checker
    Review the Job Runner documentation. It describes how to run jobs defined by the Job Editor.
  • Schedule the Job Runner using your system’s scheduler. If you need help see this page.

  • File System Configuration
    Job Editor documentation

    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 next two sections describe the steps to follow on Linux/Mac and Windows. The only things the two procedures have in common are:
    • 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).

    Step 1: Create a CopyStorm/JobRunner Command Line

    Step 2: Linux/Mac Only: Add MyCopyStormJobRunner.sh to CRON.

    Step 3: Windows Only: Add MyCopyStormJobRunner.bat to the Windows Scheduler.

    Groups2 (Platform Only)

    Groups2 Table (Platform Only)

    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:

    Column Name
    Data Type
    Required
    Description

    CopyStorm/Director 2.56.2

    Release Date: 31-July-2023

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

    Patch Levels

    Date
    Patch Level

    31-July-2023

    Original Release

    Add Configuration File for Additional Java Parameters

    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.

    CopyStorm/Director 2.37.5

    Release Date: 16-Dec-2016

    This is a feature and minor bug fix release.

    Patch Levels

    Date
    Patch Level

    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.

    CapStormWizardConfig

    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:

    Column Name

    CopyStorm/Director

    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.

    Resolve SQL/Server issue with Java 17

    Add Java 9 support for adjusting to high DPI displays. Add a couple of indexes to the control tables.

    Add a Dynamic Dashboard to the Web Browser Administrator Tools

    Support Storing the CopyStorm/Director Metadata in a non-Default Schema

    Avoid Passing Credentials to Subprocesses When the “Default” Credential Location is Specified

    Fix a Screen Repaint Issue when Creating a New Task

    In the Job Finder Add a Visual Cue for Inactive and Deleted Jobs

    Add a Feature to Reload Configuration Data Without Restarting CopyStorm/Director

    Add a Feature to Start CopyStorm or CopyStorm/Medic Without a Defined Job

    Avoid a “CMD” Window When the Job Runner is Launched on Windows

    Make the View of Task History “Real Time”

    CopyStorm/Director 2.56.1

    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.

    Patch Levels

    Date
    Patch Level

    31-Mar-2023

    Original Release

    Fix False-Positive Job Status

    Resolved an issue that could cause successful CopyStorm jobs to be marked as failed in Director.

    Fix Schema Upgrade Issue

    Resolved an issue that could cause CopyStorm/Director database schema upgrades to be incorrectly applied.

    Data Type
    Required
    Description

    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

    CapStormWizardConfig Table

    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.

    CopyStormTask

    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:

    Column Name
    Data Type
    Required
    Description

    CopyStorm/Director 2.42.1

    Release Date: 18-Dec-2018

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

    Date
    Patch Level

    CopyStormTaskFamily

    The CopyStormTaskFamily table is used to register names used to group CopyStormTask records.

    The following table describes each field in the CopyStormTaskFamily table:

    Column Name
    Data Type
    Required
    Description

    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

    CopyStormTaskFamily Table

    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

    Patch Levels

    22-Jan-19

    Upgrade to Current APIs

    CopyStorm/Medic Launch Issue

    Update Preferences for History

    CopyStormJob

    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:

    Column Name
    Data Type
    Required
    Description

    Select Database

    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:

    CopyStorm/Director 2.59.1

    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.

    Patch Levels

    Date
    Patch Level

    17-Apr-2024

    Original Release

    Add More Medic Tools

    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.

    Bug Fixes and Misc Improvements

    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.

    Help! CopyStorm/Director is starting multiple CopyStorm jobs at the same time!

    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.

    1. Disablethe current CopyStormJobRunner Windows Task.

    2. Createa new CopyStormJobRunner Task with the same configuration as the previous Task.

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

    Example Configuration

    Help! My Windows Task Scheduler is configured properly, but there are still multiple jobs running at the same time

    Solution

    This is a known bug in certain versions of Windows Server.
    support@capstorm.com

    Installation Instructions

    Installing CopyStorm/Director does not touch any system files or registry values — you should not need an administrator.

    Step 1: CopyStorm/Director Database Setup

    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.

    1. Download CopyStorm/Director from or from the link sent to you by Capstorm.

    2. Unzip the downloaded file into any directory. A single directory named CopyStormDirector will be created.

    3. Go to the newly created CopyStormDirector directory and run the launcher appropriate for your operating system:

      1. 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:

  • Step 2: Install the CopyStorm/Director Application

    www.capstorm.com
    CopyStorm/Director Global Configuration

    Overview

    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.

    Next Steps

    Architecture Overview

    Access Control

    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.

    Step 1: Add a User

    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.

    group_members
  • user_group_authorities_view (view)

  • Step 2: Assign the User a Role

    Step 3: Save Changes

    Access Control Database Schema

    System Requirements

    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.

    CopyStorm/Director Desktop

    • 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

    CopyStorm/Director Browser Application

    Common Requirements

    CopyStorm/Director 2.62.1

    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.

    Patch Levels

    Date
    Patch Level

    16-Dec-2024

    Original Release

    Salesforce API Update

    This release updates CopyStorm/Director to use Salesforce API version 62.

    Task History Retention: Feature

    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.

    Simultaneous Task Launch Issue**: Fix**

    this article

    CopyStorm/Director Database

    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:

    Table
    Description

    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.

    ApplicationCredential

    Stores credential information for Salesforce and databases. Passwords are encrypted.

    Authorities (Platform Only)

    Defines the relationship between application users and permissions assigned.

    Command Line Options

    CopyStorm/JobRunner supports the following command line options:

    Option
    Argument(s)
    Description

    -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”

    runCopyStorm — used in conjunction with the -jobs flag to force specific CopyStorm jobs to run.
  • 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.

    Run All Scheduled Jobs

    Run All Scheduled Jobs With Clear Text Credentials

    Run All Scheduled Jobs but No More Than 10 Simultaneously

    Generate an Encrypted Token That Can be Used for the -cscredentials Option

    Force the Default CopyStorm Task for Jobs 1 and 5 to Run

    Tell Me How Many Jobs are Running (and other status information)

    CapStormPlatformConfig
    CapStormPlatformDatabase
    CapStormWizardConfig
    ConfigurationFile
    ConfigurationFileAdminLog
    ConfigurationFileVersion
    CopyStormJob
    CopyStormGlobalConfig
    CopyStormJobSequence
    CopyStormTask
    CopyStormTaskFamily
    CopyStormTaskLog
    CopyStormTaskLogFile
    Group_Authorities (Platform Only)
    Group_Members (Platform Only)
    Groups2 (Platform Only)
    UserPreferences (Platform Only)
    Users (Platform Only)
    Salesforce OAuth Login Types