Author Archive: Hallgrimur

New Adobe Extension SDK Developer Guide posted

We have just posted the new Adobe Extension SDK guide – updated for CC 2014. The updated guide is more detailed than ever. It’s available for free at the GitHub CEP Repository or directly from here: http://bit.ly/1lQyqBx

Resources for HTML5 extension development

One of the changes in Creative Cloud 2014 is the introduction of the Common Extensibility Platform (CEP) 5.0 in many of Adobe’s apps. 

CEP 5 is a major update that provides capabilities that far surpasses its predecessors. A key feature is the integration of Node.js which practically means you can use Node’s rich APIs as well as third party NPM modules within Adobe’s products.

As we move further into the HTML5 panel era, we have created a new place to host our resources. You can find many samples and resources in the Adobe CEP GitHub repository.

It includes APIs, links to documentation, tutorials and tools (including some that are created by 3rd parties), and lots of samples.

In addition, I encourage developers interested in HTML5 panels to check out the Kuler panel for Creative Cloud 2014 on the new Adobe Add Ons website. The Kuler panel is a great example of an HTML5 panel.

 

Adobe Extension Builder and Creative Cloud 2014

Since Creative Cloud 2014 launched on June 18, extension developers have been eager to migrate their extensions and panels to the new generation of Adobe apps. At this point in time, Extension Builder 2.1 does not support Creative Cloud 2014 when building Flash based extensions, and Extension Builder 3 preview 3 does not support Creative Cloud 2014 when building HTML5 extensions.
New developer tools will be released in the future. Meanwhile, it is easy to modify the current tools so that you can continue to use them to create extensions and panels for the new CC 2014 apps.

Let’s start with Extension Builder 3. The following tweaks will make it support the latest and greatest Creative Cloud apps.

Continue reading…

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:

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

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!’ + event.data);

});

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

cs.evalScript(extendScript);

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.

Introducing HTML5 Extensions

When Creative Cloud was launched in June 2013, we added support for HTML5-based panels in several Adobe products. These new panels open up the world of panel development to a wider range of developers who may be more comfortable working with HTML/JavaScript and CSS. Since June, support for HTML5-based panels has been added to more Adobe products. As of now Photoshop CC, Illustrator CC, Premiere Pro CC and Prelude CC support HTML5-based panels.

A preview of Adobe Extension Builder 3, a new developer tool that supports creating HTML5-based extensions, was launched in June at Adobe Labs. You can download it for free from here: http://labs.adobe.com/technologies/extensionbuilder3/

Starting in the middle of 2014 we will begin removing Flash-based extension support in Creative Cloud products, starting with Photoshop CC. We encourage all developers to start planning and migrating to the new extensibility framework based on HTML5.

HTML5-based panels allow developers to leverage the rich ecosystem of existing JavaScript frameworks and tools when creating their panels. HTML5-based panels share the same technology with web applications, which opens up exciting opportunities for integration with web services.

Check out these videos to see how to build and debug HTML5 Extensions.