Archive for April, 2014

Introducing CEP 5

The upcoming release of the Common Extensibility Platform, CEP version 5.0, introduces features that makes extensions and panels more powerful and flexible. It will tap into an even larger ecosystem of 3rd party frameworks and development tools than before, opening the doors for developers to create rich, cloud-based panels and extensions. Here are the highlights:

Node.js and NPM support: Use Node Packaged Modules in CEP HTML extensions. Just drop the NPM in your extension folder and you can use it immediately.
Using this new capability, developers will be able to leverage the massive Node developer ecosystem. Since CEP 4.0, developers have been able to use pure JavaScript frameworks in their CEP panels – which, in addition to CSS and HTML, brought the APIs and toolkits of web development to panels. Node takes this to a whole new level. For example, with Node you can connect with and use databases using NPM modules that provide bindings for many database types. Developers can also use it to integrate with popular web services. These are just two examples – there are many more.

WebRTC support: Enables support for with Real-Time Communications (RTC) capabilities via simple JavaScript APIs and HTML5. Developers have the ability to write rich, real time multimedia applications and use them in the extension. Here are some examples of how it can be used:

  • Access and control the webcam — within the app
  • audio/video capture — within the app
  • audio/video conference — within the app
  • screen sharing — within the app
  • and so on

Invisible HTML extensions: A parameter in the manifest file will control if the extension is visible or not.

Support Google Chrome (or CEF/Chromium) Command line options: Use the CEF command line options for powerful customizability. In CEP 5 you list the command line options in the manifest file. Not all command line options are supported, but most of them will be. The manifest XML Schema looks like this:

<Parameter>--some-argument-with-value="this is a value”</Parameter>

Call from ExtendScript into HTML DOM: Most of the currently supported Adobe apps (including but not only Photoshop CC and Illustrator CC) will include a new ExternalObject which provides an API that allows developers to dispatch events from ExtendScript to the JavaScript/HTML5 panel. The code below shows how to use it (note: normally you would put the ExtendScript code in the .jsx file)

var cs = new CSInterface();
cs.addEventListener(“documentCreated”, function(event) {

alert(’Cool!’ +;


var extendScript = ’app.document.add(); var event=new Object(); event.type=”documentCreated”;”blahblah”; dispatchCSXSEvent(event);’ //you can have this code in the .jsx file instead


Session cookie and Persistent cookie support

Version independent extension installation folders: Instead of changing the extension installation folder with every release, CEP 5 will just use …/CEP (rather than ../CEPServiceManager4 or similar)

These are just the highlights. There is a long list of changes and bugfixes. In addition After Effects CC will support CEP 5 in the upcoming release which will open the door to using web development toolkits to build After Effects panels and plugins.