adobe-cep / cep-resources Goto Github PK
View Code? Open in Web Editor NEWTools and documentation for building Creative Cloud app extensions with CEP
Home Page: https://www.adobe.io/apis/creativecloud/cep.html
Tools and documentation for building Creative Cloud app extensions with CEP
Home Page: https://www.adobe.io/apis/creativecloud/cep.html
I've opened a similar issue on Webjars account to have CEP added : webjars/webjars#588
Hi,
I've not properly understood the following paragraph, quoted from the CEP6 cookbook:
Besides, like flash world, event.data could even be an object, i.e. you could use an object as event.data. If you use a JSON object as event data, there is a known issue that the data order will be messed up sometimes. A work around for this issue is using JSON.stringify() to convert this JSON object to a string first, and then add any prefix to this string like “Your JSON string”.
When it's said If you use a JSON object as event data, does that mean a regular Object, correct? I can't get why a JSON.stringify() isn't enough, and we're suggested to prefix it with some extra string. Is that the same as PhotoshopJSONCallback, which event.data received as a parameter in the callback is a JSON with a prepended "ver1," string?
Thank you,
-Davide
Adobe extensions appear to be breaking Chrome's debugger(Chrome is up to date). When running in full-screen (and only when debugging an Adobe extension), if you fill a page up, scrolling is broken. I'm attaching a screenshot below and as you can see, I flood the window, but scrolling is disabled. Using the debugger for anything other than an Adobe extension works just fine.
This was working in 2014 and 2015.0, but no longer works in 2015.1
It occurs on both OS X 10.10.x and Windows 7 with Chrome 47.0.2526.73 m
This has been posted as a potential aide for this, but I was unable to get it to work on my machine:
https://code.google.com/p/chromium/issues/detail?id=516760
Hi,
So the event applicationBeforeQuit is marked as supported for Illustrator in the latest doc:
See: https://github.com/Adobe-CEP/CEP-Resources/blob/master/CEP_6.x/CEP_6.1_HTML_Extension_Cookbook.pdf
But I tried it and nothing happened in ILST 19.2.1, other events like applicationActivate are working fine.
By the way it is not marked as supported for ILST in older CEP docs -> See CEP 5 CEP 6
Maybe I missed something or maybe it's not supported?
It appears that Adobe's broken(probably removed, it doesn't look like it exists anymore) the fs.watch functionality from Node, which I'm using for a constantly generating build system for the extensions. Before, if I made changes to any of the files, it would watch the files and (through some extra code)reload the application + debugger simultaneously. This is an extreme time saver for us because it takes out the process of reloading stuff while you're making changes.
This worked in 2014 and 2015.0, but not 2015.1.
This occurs on OS X 10.10.x and Windows 7.
Has this been removed or broken?
I am developing an application use CEP6 for Premiere CC 2015.
my issue is:
I have 2 folder, one lowres videos (proxy) and one highres videos.
at first, i import the lowres, everything working fine, and i keep editing by create new sequence from lowres(proxy) files.
after finish editting, i have to convert the lowres sequence to highres sequence, i used function changeMediaPath() , it replace clip items very good but my sequence still lowres settings. so how can i change the sequence setting.
i have tried: app.project.activeSequence.frameSizeHorizontal = 1440(my highres setting) but it was not working.
any ideas to help me?, thank!
Given the mix of CEP versions out there for html5 panels, I'm curious as to how others are approaching integration (for simple panels, nothing fancy)? Are you using a single version of CEP to support CC through CC 2015, or doing multiple builds of your panels for each version?
2015-05-19 16:47:14 : INFO Remove of include search path for JS scripts is not supported by this host application
Besides the fact that message doesnt make sense in English,
does this mean we can't //@include when the function is called from CEP (it works if I open it as a script in photoshop)?
If so, how to get JSON.parse working in a photoshop script? I dont seem to be able to include jamJSON.
The only thing I can think of writing files out if I cant parse jSON in photoshop, like the old days of photoshop scripting...
Many platform supports oAuth authentication for its registered applications. Common implementation requires a URL of a callback HTML page for a web application or a special value "urn:ietf:wg:oauth:2.0:oob" for a mobile or desktop application. Adobe CEP extension is a kind special case in the middle. It is not a web application (No HTTP server for hosting a callback HTML page), It is not a desktop application either and doesn't have control to the browser on which it runs. Is there a way for CEP extensions to support pass oAuth login without a callback page on a web server?
Hi,
could you please add (latest) CEPEngine_extensions.js to the list of available resources? Even if it's not required to add it to a project, the source code is helpful anyway as a reference.
Thanks!
Davide
Hi all:
I'm starting to get into development of Photoshop CC extensions on Windows, and I'm running into issues with the ZXPSignCmd command line utility.
When trying to create any certificate, it crashes immediately with the following error:
http://i.imgur.com/V5C65Sl.png
I can't find any crash log or anything like that, so I'm wondering what on earth is going on. This is happening with any Windows machine that I've tested it on, whether Windows 7/8. Tested on both physical machines and a clean Win 8.1 VM with only the MSVC redistributables installed.
The command I'm running is:
ZXPSignCmd -selfSignedCert 1 MI FrostburnStudios sonictk testPassword cert.p12
I have tried both the binary in this repo along with both the x86/x64 versions available at: http://labs.adobe.com/downloads/extensionbuilder3.html
In both cases, they both crash with either the BEX or BEX64 error.
I should mention that running ZXPSignCmd -verify <package.zxp>
and -sign
commands seems to work fine, so the binary is not completely broken; only generating self-signed certificates seems to be crashing.
Anyone who has a solution for this, I'd very much appreciate it!
Thank you for making this code available on GitHub.
However, at present I can find zero information on exactly which Adobe CC app versions support CEP 5.0.
All my CC apps are up to date and as far as I can tell, they still use the CEP 4.0 engine. I can only guess as this version information does not appear to be listed anywhere at all, however I have a folder named CEPServiceManager4
in /Library/Application Support/Adobe
and the version in the Info.plist
file inside the CEPServiceManager.app
file says 4.0.2.49
.
Where on earth are normal developers/users supposed to source this information?
Suffice to say, the CEP 5.0 example extensions do not appear to work in the currently shipping version of the CC apps.
What am I missing? Please, please, please can you elaborate on how the CEP 5.0 engine is supposed to be made available to existing apps?
I faced a problem hope you can help me. I have extension with popup.
Here is description for popup:
<UI>
<Type>Modeless</Type>
<Lifecycle>
<AutoVisible>false</AutoVisible>
</Lifecycle>
...
</UI>
popup is opened in pretty simple way:
var cs = new CSInterface();
cs.requestOpenExtension("my.extension.popup");
When I close popup and try to reopen it everything works fine. But if I close main panel while popup is opened popup is closed automatically and I it can't be reopened after panel is started again. Do you have any ideas what I'm doing wrong?
Thanks
Hi!
I discovered a weird localStorage behavior in our CEP extension, on my machine everything is fine but for some of our users the localStorage is more like a sessionStorage…
Users having this behavior are loosing every infos at each reload because the localStorage is lost each time.
It happened on different configurations, Mac / Windows & different versions of Illustrator from 17.0.0 to 19.2.1
So is it something we can fix? I was thinking about a permission problem for the cache file maybe?
(ahem...title should read "...now public").
The Generator-panels Github repo is now public; this has the sources for the Rename Layers and Generator Configuration panels. This provides a couple of useful CEP5 source code examples for Photoshop. Please link to them on the README page.
Thanks,
jp
If there are going to be old versions of the CEP in the repository (4,5,6), there should also be archived versions of the ZXP that are compliant with CC, CC2014, CC2015.
The ZXP that is currently in the archive doesn't confirm whether it's backwards compatible, nor how far back in OSX it works.
Hi,
in the CEP JavaScript programming (subsection Specific Events in Products, Photoshop -> about the com.adobe.PhotoshopCallback replacement) it's written:
"A sample of using this event:"
But then no sample is provided, and "Invoke point product's scripts from html extension" section starts.
Thanks
Davide
Hi,
may I ask what is getNetworkPreferences()
exactly for?
It doesn't seem to fetch correctly the online status of the user (which instead navigator.onLine
gets), but seems to get the Photoshop "Allow Extensions to Connect to the Internet" preference.
So what are isAdminOnline
and isUserOnline
?
Thank you!
Davide
Hi,
We have some feedback from our users regarding the copy-paste in HTML5 extensions which randomly perfoms in text input / textarea, while everything was working on our dev machines (MacbookPro Yosemite / El Capitan).
We were able to reproduce this bug by ourselves in Illustrator 19.2.0 and it's not only affecting copy paste but the others shortcuts as well (Cmd-C/V/A/X).
This behaviour is erratic, it won't work at first but if you try to copy-paste many times you can be able to do so at some point…
This problem only occurs in Photoshop CC 2015, not in illustrator. To reproduce:
Problem:
I am trying to embed XMP data into an AI file using the following jsx script
var doc = app.activeDocument;
var data = "SomeData";
var xmpString = doc.XMPString;
if(ExternalObject.AdobeXMPScript == undefined) {
ExternalObject.AdobeXMPScript = new ExternalObject('lib:AdobeXMPScript');
}
var xmpMeta = new XMPMeta(xmpString);
xmpMeta.setProperty(XMPConst.NS_XMP, "CustomData", data);
var tmp = xmpMeta.serialize();
doc.XMPString = tmp;
The script works perfect in ExtendScript toolkit. But when the jsx file is called by an CEP HTML/JS extension via csInterface.evalScript(...), it only works for the first time. Any subsequent call doesn't update the XMP field in the cureent AI file with a new data.
Anyone can help? Thanks,
I'm porting an extension from purely Extendscript and Bridgetalk to an HTML5 panel and Vulcan.js. The extension uses InDesign to export a PDF, which is then rasterised by Photoshop (in a separate extension listening for Vulcan messages in PS). All apps are CC 2015 on Windows 7 64.
I've been struggling to get the extension to load on startup in Photoshop. It's set to load on the appActivate event:
<Lifecycle>
<AutoVisible>true</AutoVisible>
<StartOn>
<Event>applicationActivate</Event>
</StartOn>
</Lifecycle>
But when I start Photoshop, either manually (clicking on the menu item on the start menu) or via
VulcanInterface.launchApp("photoshop",true);
or via a old-school Bridgetalk message,
var wakeUpPhotoshop = function() {
var bt = new BridgeTalk();
bt.target = "photoshop";
bt.body = "app.bringToFront();";
bt.send();
}
the extension doesn't actually load until I physically click somewhere on the Photoshop window.
I also tried connecting to Photoshop with Extendscript Toolkit CC, to see if I could issue a command which would cause the application to emit it's activate event, and the act of connecting to PS with ETK also caused the extension to load.
I may have missunderstood the time that the appActivate event is fired, but I'm currently struggling to find a way to get an extension in one program to successfully launch and be able to target a message to an extension in another program. I've also tried listing to the documentAfterActivate event in PS and use Bridgetalk (which does get through) to open a document in PS - the document opens, but the extension doesn't load until I physically click on the PS window.
I tested the behaviour with the Adobe CEP Samples Invisible HTML extension and got the same results - the response from the node.js http server in the Invisible HTML Extension is only available once I click somewhere on the Photoshop window.
Error - the timestamp returned from the chosen TSA could not be verified, so the ZXP created is likely to be rejected by other tools. Please recreate your ZXP with a different trusted TSA.
Fails with both https://timestamp.geotrust.com/tsa
and http://tsa.safecreative.org
Worked fine under Yosemite
Steps to reproduce:
Note: If you switch step 2 and 3 and start the extension before creating a new AI file, then the extension panel window honors the max/min size settings from the manifest.xml file.
With the CEP 6.1 update, the Dev Tools only have access to the browser JS context.
Errors from node are shown in the console, but setting breakpoints is difficult (files missing from the Scripts tab), and when they are triggered the console is actually still referencing the browser context, so I cannot interact with it.
Are there any recommendations for debugging the Node context in CEP 6.1?
Addendum: Was misreading the debugger, found Node files and can set breakpoints easily, still some strange results between highlighting variables when on a breakpoint vs what the console does.
On PS (2015.1.2) and AI I noticed that the flyout menu generated by the CEP HTML Test Panel 1 (6.0/6.1) was missing the submenu items. Nested MenuItems simply do not appear.
The submenu items still appear for the context menu.
I first noticed while following the Cookbook to create a submenu in my own panel.
According to CEP wiki CEF 3, branch 1453, revision 1339 is used to run the extensions. However, when I try to run my extension in that version of CEF (from https://cefbuilds.com) it renders correctly and when I run it in inDesign I have problems with some of the simple flexbox features I used. What could be the reason? Is there any way to get the same results outside of inDesign?
The copyright notice in .js files mentions an "Adobe license agreement" accompanying the files, but there is no such file in the repo.
Would you be able to include a LICENSE file so that people can use these libraries in their products safely?
The readme mentions a ZXP packer, where do I find it? What's the recommended way of packaging the example extensions?
As extension manager is now at it's end of life I'm trying to publish my CEP plugin to the Add Ons website.
When I try and do this I get the error:
"Ensure your ZXP has been signed with a certificate which will not expire in the next 8 years, or add a timestamp to your signature."
I was previously signing my plugin with an older version of zxpsigncmd and not using the -tsa argument. (However zxpsigncmd was able to package my plugin successfully using a certificate).
So in order to publish the plugin, I added -tsa https://timestamp.geotrust.com/tsa. When I ran zxpsigntool with this command I get the following error "Error - the timestamp returned from the chosen TSA could not be verified, so the ZXP created is likely to be rejected by other tools. Please recreate your ZXP with a different trusted TSA."
I tried a number of other tsa's with no luck. So I did a bit of googling and found a similar issue which suggested to download a later version of zxpsigntool from this repository, which I did.
With this version of zxpsigntool I get the following error whether I use the -tsa option or not - "Unable to build a valid certificate chain. Please make sure that all certificates are included in the certificate file."
The certificate I'm trying to use is issued by a trusted authority (GlobalSign). I made sure I followed the process defined here - https://forums.adobe.com/thread/698683
Any help would be greatly appreciated.
Since the update, using this newest ZXPSignCmd it's impossible to create / timestamp new ZXP files, on Windows 7 this is the error received (using https://timestamp.geotrust.com/tsa):
Error – the timestamp returned from the chosen TSA could not be verified,
so the ZXP created is likely to be rejected by other tools. Please recreate your
ZXP with a different trusted TSA.
Currently it appears that the browser being used internally on MacOS versions of CC 2015 Adobe applications is Chrome 27. Are there any plans to update this to a later version of Chrome/WebKit?
Hi,
the following applies to Photoshop only (any version from CC onwards), OSX.
Please find the demo extension here: https://dl.dropboxusercontent.com/u/23243188/Adobe/com.example.evalJSX.zip
Alongside my main jsx file (let's call it JSX1) I have a secondary jsx (let's call it JSX2): it contains an alert to warn you when it's evaluated, plus a function:
// in the JSX2
alert("anotherFile.jsx has been evaluating");
var secondJSXFunction = function() {
alert("Hello world from anotherFile.jsx");
}
JSX1 in turn contains the code to evaluate on the fly JSX2, using the absolute path the panel passes it:
// in the JSX1
function evalFile(path) {
try {
$.evalFile(path);
} catch (e) {
alert("Exception:" + e);
}
}
The Panel, apparently, correctly parses the JSX2, since the alert "anotherFile.jsx has been evaluating"
pops up. Yet, the secondJSXFunction
is not available, and fails to execute when called from the main JS via evalScript()
.
As a result, it's currently impossible to modularize the JSX in multiple files, since any function there fails to execute.
Thank you,
Davide Barranca
Right click on exe in Explorer and select Properties. Go to the Details pane and there is no information about version. This makes it very hard to tell what version you are currently running.
I did not check the mac for a Info.plist with a valid version inside of it. If not, please mark this as mac issue as well.
I'm sorry but the new ZXPSignCmd Version 3.0.19 Win 64 just doesn't work.
I did a quick try on my Windows 7 64bits and the message in spanish says:
"Esta versión de ZXPSignCmd.exe no es compatible con la versión de Windows que está ejecutando. Compruebe la información de sistema del equipo para consultar si necesita una versión x86 (32 bits) o x64 (64 bits) del programa, y después póngase en contacto con el editor del software."
In english is something like "This version of ZXPSignCmd.exe is not compatible with the Win version you are using. Blah blah blah..."
I'm 100% sure I've downloaded (twice) the 64bits version. I tried also with the 32bits exe but obviously the error message is the same.
The current requestOpenExtension() function is non-blocking call but doesn't provide a callback parameter. There is no reliable way to run certain actions right after the extension get started. A callback parameter needs to be added to the function.
Hey, I have the Adobe CC 2015, hopefully last update and I wanted to create a plugin for PS and I found a plugin for Brackets: http://davidderaedt.github.io/CC-Extension-Builder-for-Brackets/
It does not more than creating a template for you. So when I wanted to make a package I have to use the ZxpSignCmd. When I created a certificate for that I can create the .zxp package. So far so good, but than when I want to add it to the extension manager I got the error that it couldn't be installed and I have to check the manifest.xml.
When I use the ExManCmd, because I read thet the ExtManager will not developed further anymore, I got the message: failed to install, status = -411. I googled a while but I didn't find a solution. So I found a couple of tutorials but each where, I think outdated (as you can see it here: http://www.adobe.com/devnet/creativesuite/articles/a-short-guide-to-HTML5-extensions.html, the folder is not available what he mentioned: %APPDATA%\Adobe\CEPServiceManager4\extensions). So what is the error -411 stands for? What did I wrong maybe? Can you help here out the confusion please?
Cheers
Chris
Hi,
I've checked the node.js version inside Photoshop (the one used by Generator) and it's version 0.10.37, while node used in CEP extensions (process.version) is 0.8.22 - quite old compared to latest 12.7.
Is there any information that you can share about the update roadmap?
Thank you,
-Davide
As it is, loading the blob/master of the PDF appears to be locking up browsers/computers(both OSX and Windows on Chrome). Probably more of a github issue than anything, but in the README, if you just change
https://github.com/Adobe-CEP/CEP-Resources/blob/master/CEP_6.x/CEP_6.1_HTML_Extension_Cookbook.pdf
to
https://github.com/Adobe-CEP/CEP-Resources/raw/master/CEP_6.x/CEP_6.1_HTML_Extension_Cookbook.pdf
it will instead download the PDF and not lock up a user's browser/computer.
Currently, the manifest.xml supports extension title through Menu. But this also shows the extension in application's window->extensions menu. There is no way for a user to have a titled extension but not showing from the menu.
Any limitation for the cross-extension communication through CEP events?
I wrote a simple extension which support photoshop and illustrator, and didn't set the persistent, when I update code, then go back to photoshop reopen extension, it's updated, but illustrator not. Is that a bug, or not work on that yet?
All my panels, which use the Node API, have the following console msg: Uncaught ReferenceError: require is not defined
not sure how this is possible given that require should be in the global namespace, all were working fine until the update.
Any chance of pushing this to Bower?
Hi,
in the cookbook is written that the file enabling remote debugging can have whatever name, with a mandatory ".debug" extension, like Test_Extension.debug.
In fact (at least on OSX) it seems that only ".debug" (a hidden file) works, while using any other name fails and results in Chrome not being able to find the page.
Thanks,
-Davide
Readme.md in CEP-RESOURCES refers that "The Creative Suite 6 and the Creative Cloud 2013 releases of Adobe desktop applications support CEP 4".
This means that HTML5/JS developments can be possible in CS6?
CS6 not works with CSXS 3? It can be possible update to CEP 4?
Thanks
I'm using title tags and can't seem to get tool tips. Not sure if I'm implementing incorrectly or if this is a bug. Anyone having any success?
The local file drag from the sample extension to InDesign is creating a text box containing the url string instead of importing the file itself.
dt.setData("url", currentPageUrl);
dt.setData("text/html", '
A link to a local file: red.png
');What is the required data type to pass to setData function ?
Hi,
I have some sesx files, and I want to switch between them programmatically from outside of Audition, is Audition provide interfaces to do this?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.