1 Reply Latest reply on Jun 25, 2018 6:11 PM by te_co

    Need help starting with CEP and Illustrator CC 2018

    WHoit Level 1

      I'm trying to learn how to create extensions with CEP 8 (or whichever version is appropriate) for Illustrator CC 2018.

      I write code in a number of languages, but this process seems particularly cumbersome and not well documented.

       

      My primary issue is that I can't seem to find an intro-level tutorial that describes the basic tools, setup, and workflow.

      Most of what I find online is 5 years old with references to things that are no longer available or useful.

      For example, the closest I've come is Eclipse with Extension Builder 3, however that creates out of date projects

      and expects to use unavailable items (like CEPServiceManager4).

       

      I'm hoping someone can lay out the steps for me - like: use an editor such as XX, build your project using YY, use these steps

      to test it, use these other steps to distribute it.

       

      After several hours of beating my head against the wall, I've come here hoping to find some clear information.

       

      So, let me be specific:

      1) Is there something like Eclipse+ExtensionBuilder that will give me a basic IDE and also create current CEP projects?

           If not, what setup should I consider?

       

      2) Apparently manifest files are critical - where can I find a tutorial in building them, assuming item #1 doesn't exist?

       

      3) It seems extensions are ignored unless signed. What is the signing process?

       

      4) What else would I be missing? Do I need to 'build' a package of some sort for distribution? etc.

       

      Thanks.

        • 1. Re: Need help starting with CEP and Illustrator CC 2018
          te_co Level 3

          1. as far as i know there is no current IDE for extensions. simply use your favorite text editor. if you don't want to write an extension from scratch you can take a sample one and change the pertinent information.i simply use sublime text. there is a very bare almost useless autocomplete package for it, but i don't think it has been updated. it is pretty easy to browse the Scripting Reference PDF

           

          2. you can find a tutorial for the manifest here https://github.com/Adobe-CEP  - you will find the manifest right away in the "getting started" section

           

          3. to test out your extension you can disable the signature check. on the mac you enter the command "defaults write com.adobe.CSXS.8 PlayerDebugMode 1" in terminal. for windows is something similar. you can find this instructions in the above link same with the signing process once your extension is ready

           

          4. when you sign, the process includes creating a zxp package for distribution which you can upload to adobe. with the package, there will be an xml file with destinations for the different parts.

           

          examples for all this stuff can be found on the github.

           

          workflow for me is like this.

          1 Manifest file -  fill in the info required for my extension. name, version, window size, html file name, target app, etc.

          2 CSInterface.js library -  which enables talking to the app, you can link to this file through your html panel

          3 extendscript file - this is where you write your script that directly interface with illustrator. refer to the Scripting Reference PDF for the possibilities here

          4 html panel - it's basically an html page like any website. layout your interface, link your css styles and js files that you need. you can include libraries like jquery. the js for the panel doesn't manipulate illustrator directly. instead you will call on CSInterface.js to execute any function you define in the extendscript

           

          anyway. everything is the githup. all the documentation is there - cookbook, examples, debugging, template manifest files, etc. organization is up to you as long as you link to the right files within the html and manifest.