Getting Started with CRDT for ExtendScript/CEP

This guide will walk you through the process of setting up Creative Developer Tools (CRDT) for ExtendScript and CEP (Common Extensibility Platform) development. CRDT_ES, the version of CRDT designed for ExtendScript and CEP, provides a range of features to simplify the development, packaging, and licensing of your scripts and panels.

You need a registered developer account. If you haven’t created one yet, use PluginInstaller to register.

Step 1: Download CRDT_ES

Download the latest version of CRDT_ES from the following link:

Step 2: Set up your development environment

  • Extract the downloaded .zip file to a location of your choice.
  • Open your preferred development environment (e.g., Visual Studio Code, ExtendScript Toolkit).
  • Create a new project or open an existing one. For creating a new CEP project, you might want to consider usign CEPSparker, which can create a fully kitted-out ‘starter’ project, readily set up with CreativeDeveloperTools_ES.

Step 3: Include CRDT_ES in your project

  • Copy the entire CreativeDeveloperTools_ES folder and the CreativeDeveloperTools_ES.nzip from the extracted ZIP file into your project’s directory.
    The folder contains the necessary DLL/dylib files, and glue code .jsx files.

The .nzip file is nothing more than zipped copy of same folder, created on a Macintosh. It is provided so Windows developers can create packages that will work on a Mac.

.zip files created on Mac contain additional meta-info related to the embedded Mac dylib/framework, which cannot be captured on Windows. Mac-created .zip files work on Windows, but the reverse is not true.

  • In your ExtendScript files, add the following lines at the top of each file that requires CRDT_ES functionality:
    //@include "CreativeDeveloperTools_ES/crdtesDLLLoader.jsx
    //@include "CreativeDeveloperTools_ES/crdtes.jsx"

Step 4: Try Out the Demo Scripts (optional)

  • Open the sample.jsx file located in the root of the unzipped download.
  • Review the code to understand how CRDT_ES is integrated and how to check the activation status.
  • If you have a paid developer license, uncomment the setIssuer line and replace the placeholders with your developer GUID and email:
    TIGHTENER.setIssuer("1186cb432432878745ee377c49d7eade","[email protected]");
    You can find this data on the Accounts window in Developer/Publisher mode in PluginInstaller.
  • Incorporate snippets from sample.jsx into your own project and run it to see CRDT in action.
  • More coding samples can be found in the crdtes_test.jsx file.

Step 5: Packaging and distribution (optional)

To package and distribute your ExtendScript scripts or CEP panels using CRDT_ES, follow these steps:

  • Create a CRDT manifest file in JSON format (see documentation).
  • Launch PluginInstaller and switch it to Developer/Publisher mode. Create a new product description which matches the manifest. Configure licensing and activation options within PluginInstaller. Make sure to provide a non-versioned URL that you’ll use for publishing the package file.

A non-versioned URL is a stable URL that always points to the latest version of a file, without including the version number in the URL itself. For example, instead of using a URL referencing MyProduct.1.0.1.tpkg, you would create a symbolic link from the versioned file to a non-versioned file, like MyProduct.tpkg.

When updating to a new version, you simply update the symbolic link to point to the new file, ensuring that product description remains constant and always references the latest version without needing to know the specific version number.

  • Use PluginInstaller to package your script or panel and upload the package file to a web server, so it becomes accessible via the download link that you configured in the product description.
  • Your end-users can now use PluginInstaller to download, install and activate your software.