Copy link to clipboard
Copied
I'm on Mac OS Sierra using CEP 6
Tried upgrading to CEP 7, so far without success.
The extension does appear under Menu Bar > Window > Extensions but the panel comes up blank.
It was working fine immediately before upgrade, then stopped working immediately afterwards.
Any ideas how best to trouble-shoot?
sberic Thanks for all this. Very helpful and much appreciated.
...
sberic wrote
Premiopolis Your writeup is quite helpful. Let's run through these one-by-one.
Question: does the ZXPSignCmd file require an upgrade for CEP 8 as well?
Honestly, I'm not sure about this. I would suggest testing an unsigned panel. If the unsigned panel works but the signed one doesn't, then your issue is likely in the signing system and should be reported (e.g. "Unsigned panel stops working with current signing system").
Copy link to clipboard
Copied
I have the same problem in Illustrator.
Here is my post: Extensions don't show up in Ai CC 2018
Copy link to clipboard
Copied
The latest Premiere update uses a new version of CEP. You have to enable PlayerDebugMode for this version. Please check 2.) of the PProPanel docs: https://github.com/Adobe-CEP/Samples/blob/master/PProPanel/ReadMe.md On a Mac you would have to open the Terminal and enter: defaults write ~/Library/Preferences/com.adobe.CSXS.8.plist PlayerDebugMode 1 I hope this helps. Thomas
Copy link to clipboard
Copied
Thomas_Szabo wrote
The latest Premiere update uses a new version of CEP. You have to enable PlayerDebugMode for this version. Please check 2.) of the PProPanel docs: https://github.com/Adobe-CEP/Samples/blob/master/PProPanel/ReadMe.md On a Mac you would have to open the Terminal and enter: defaults write ~/Library/Preferences/com.adobe.CSXS.8.plist PlayerDebugMode 1 I hope this helps. Thomas
Thanks Thomas,
In my case no luck with CEP 7 or 8 nor with PlayerDebugMode
A few questions along those lines
Re CEP Version:
A note on this discussion (https://forums.adobe.com/message/9508197#9508197) from May this year suggests CEP 7 is the active version.
And Bruce's Node.js announcement (https://forums.adobe.com/message/9850397#9850397) from Sep 26, 2017 suggests CEP 8 is still a pre-release.
Re PlayerDebugMode
In my case these are signed packages anyway, so PlayerDebugMode wouldn't necessarily be the issue.
Copy link to clipboard
Copied
Thanks to gustine09 for pointing out that Illustrator, too, is having an issue. (So, btw, is After Effects)
Over on the Illustrator thread
https://forums.adobe.com/message/9897536#9897536
there's a suggestion that the issue could be the App version number listed in the Manifest.xml.
This didn't resolve the issue on my ened, but for what it's worth, the Versions I'm using in the manifest(s):
For the various Apps I've got
<Host Name="PPRO" Version="[9.0,99.9]" />
<Host Name="AEFT" Version="[13.0,99.9]" />
<Host Name="AUDT" Version="[10.0,99.9]" />
<Host Name="PHXS" Version="[17.0,99.9]" />
<Host Name="PHSP" Version="[17.0,99.9]" />
<Host Name="ILST" Version="[17.0,99.9]" />
<Host Name="IDSN" Version="[12.0,99.9]" />
I'm assuming the lower numbers make it inclusive, but just in case...
...here they are again, updated for the latest relevant 2018 Adobe releases
<Host Name="PPRO" Version="[12.0,99.9]" />
<Host Name="AEFT" Version="[15.0,99.9]" />
<Host Name="AUDT" Version="[11.0,99.9]" />
<Host Name="PHXS" Version="[19.0,99.9]" />
<Host Name="PHSP" Version="[19.0,99.9]" />
<Host Name="ILST" Version="[22.0,99.9]" />
<Host Name="IDSN" Version="[13.0,99.9]" />
Copy link to clipboard
Copied
Hi Premiopolis,
CC 2018 does use CEP 8. Here you can find info on porting from CEP 7 to 8:
Copy link to clipboard
Copied
Premiopolis wrote
I'm on Mac OS Sierra using CEP 6
Tried upgrading to CEP 7, so far without success.
Are you certain you didn't update from CEP 7 to CEP 8? Premiere Pro CC 2018 runs CEP 8. I'm fairly certain that Premiere Pro CC 2017.1 (11.1) ran CEP 7. This is only important for your 'minimal supported CEP version', which comes through in the RequiredRuntimeList in the extension's manifest.xml file:
<RequiredRuntimeList>
<RequiredRuntime Name="CSXS" Version="7.0" />
</RequiredRuntimeList>
This is almost certainly not your problem.
Premiopolis wrote
The extension does appear under Menu Bar > Window > Extensions but the panel comes up blank.
It was working fine immediately before upgrade, then stopped working immediately afterwards.
Any ideas how best to trouble-shoot?
When you update to a new application version (e.g. CC 2017.1 → CC 2018), there are two things you need to check:
Ensure the extension's HostList range includes the new app version. You need to tell the application that your extension is compatible with the new version of Premiere Pro. Premiere Pro CC 2018 is actually version 12.0 and the range needs to include that. We updated our HostList entry to look like the following:
<HostList>
<Host Name="PPRO" Version="[9.1,12.9]" />
</HostList>
Once we made those two changes we were able to both see the extension in the window list and launch it successfully.
I hope this helps.
Copy link to clipboard
Copied
Thanks sberic
sberic Premiere Pro CC 2018 runs CEP 8. I'm fairly certain that Premiere Pro CC 2017.1 (11.1) ran CEP 7. This is only important for your 'minimal supported CEP version', which comes through in the RequiredRuntimeList in the extension's manifest.xml file:
Thanks for clarifying, and thanks as well to Zac Lamfor confirming as well above.
sberic <HostList> <Host Name="PPRO" Version="[9.1,12.9]" /> </HostList>
I had it as
<Host Name="PPRO" Version="[12.0,99.9]" />
Setting it to
<Host Name="PPRO" Version="[9.1,12.9]" />
seems to work as well / no difference
sberic Are you certain you didn't update from CEP 7 to CEP 8?
Pretty certain. In the manifest I had
<RequiredRuntimeList>
<RequiredRuntime Name="CSXS" Version="7.0" />
</RequiredRuntimeList>
And a CSInterface.js with
/** CSInterface - v7.0.0 */
on line 14
Curiously, if I switch the Manifest to Version="8.0" and re-sign, the extension no longer appears in PPro's Window > Extensions Menu.
I tested that with CSInterface.js v7.0.0 and CSInterface.js v8.0.0 (downloaded from https://raw.githubusercontent.com/Adobe-CEP/CEP-Resources/master/CEP_8.x/CSInterface.js )
Any ideas why a signed Version="8.0" manifest makes a difference?
I'm on PPro v12 for Mac on OS Sierra
Copy link to clipboard
Copied
Premiopolis wrote
Curiously, if I switch the Manifest to Version="8.0" and re-sign, the extension no longer appears in PPro's Window > Extensions Menu.
I tested that with CSInterface.js v7.0.0 and CSInterface.js v8.0.0 (downloaded from https://raw.githubusercontent.com/Adobe-CEP/CEP-Resources/master/CEP_8.x/CSInterface.js )
Out of curiosity, are you able to run this extension in an unsigned manner?
Copy link to clipboard
Copied
No, but I would think there shouldn't be a big difference.
If I'm understanding correctly, a signed version includes 3 additional items: file "mimetype" and folder "META-INF" with file "Signatures.xml" inside (generated by ZXPSignCmd). Without those you need to set your system to allow unsigned extensions, as you describe above. So removing the 3 items effectively makes it unsigned. In my case I'm set to allow unsigned extensions as well as working with signed extensions.
Question: does the ZXPSignCmd file require an upgrade for CEP 8 as well?
I downloaded some sample CEP 8 panels from GitHub - Adobe-CEP/CEP-Resources: Getting Started with Adobe CC 2014 Extension SDK
The download has samples in folder CEP_8.x/CEP_HTML_Test_Extension-8.0
Those did work, which is promising, but it seems to be running CEP 7
In that example's CSInterface.js apparently v7.0.0
And the "manifest.xml" contains
<RequiredRuntimeList>
<RequiredRuntime Name="CSXS" Version="6.0"/>
</RequiredRuntimeList>
(Assuming the above represent lowest allowable)
That suggests CEP 7 should work in PPro 12, but not necessarily CEP 8
Question: is the CSInterface.js the main thing defining which CEP version?
Copy link to clipboard
Copied
Here's where I've gotten so far...
1 - Changing the version number in the manifest affects whether the plug-in is available.
So for this section...
<RequiredRuntimeList>
<RequiredRuntime Name="CSXS" Version="X.0" />
</RequiredRuntimeList>
If X is set to 8, the Custom Panel does not appear in Menu > Window > Extension.
If it's set to 6 or 7, the Custom Panel appears.
I'm assuming sberic's correct re
This is only important for your 'minimal supported CEP version', which comes through in the RequiredRuntimeList in the extension's manifest.xml file...certainly not your problem.
and therefore going with the lower number is not compromising CEP 8 functionality. T/F?
2 - Comments in the manifest.xml make the plug-in unavailable
Somewhere in the trouble-shooting I commented out the following two lines under the <CEFCommandLine>
<Parameter>--allow-file-access</Parameter>
<Parameter>--allow-file-access-from-files</Parameter>
I hadn't seen them any example files and thought they might a culprit.
Turned out the entries didn't stop the plugin from appearing, but commenting them out did.
Question: Anyone know what those parameters do?
Thanks to Zac Lam for pointing to CEP-Resources/CEP 8.0 HTML Extension Cookbook.md at master · Adobe-CEP/CEP-Resources · GitHub which had some clues to this.
3 - CSInterface version does not affect whether the plug-in appears
I tested with v6, 7 & 8 and in all cases the plugin appeared in the menu.
I'm continuing with v8.
At this point the plugin appears and runs. Some the functionality has clearly changed. Wrestling with jQuery at the moment.
But at least the plug-in is accessible, and the Chrome console is working better than ever.
Copy link to clipboard
Copied
Premiopolis Your writeup is quite helpful. Let's run through these one-by-one.
Question: does the ZXPSignCmd file require an upgrade for CEP 8 as well?
Honestly, I'm not sure about this. I would suggest testing an unsigned panel. If the unsigned panel works but the signed one doesn't, then your issue is likely in the signing system and should be reported (e.g. "Unsigned panel stops working with current signing system").
Question: is the CSInterface.js the main thing defining which CEP version?
No. The CEP version is baked into the application (see here for the table). CEP stands for Common Extensibility Platform and refers to the set of technologies that enable scripting/panel extensions across Adobe applications. In the past, CEP used to come in two flavors: Flash and HTML. Both had different interfaces that connected to the same system (presumably). The Flash interface is no longer available, leaving only the HTML one. This is also why you'll see verbiage in the documentation that reads "CEP HTML engine". This is to distinguish it from the old (dead) CEP Flash engine. To see the list of technologies that make up the CEP HTML engine, see this table.
The CSInterface.js file is simply a JavaScript-side wrapper interface to the CEP system built into the application. Adobe updates it in lock-step with the underlying CEP engine to ensure that any new features are made available. You will notice that some APIs are marked with comments like "Since 6.1.0". This means that the API became available (or was implemented/enabled on the JS side, at least) with that version of CEP - it's a hint that says "don't try to use this with earlier versions of CEP".
I would suggest comparing the CEP7 and CEP8 versions of the CSInterface.js file. From a high level, they both have the exact same number of lines. If you take a look at the diff, there are a mere 3 changes in the interface: a version number change, an added null-check, and a comment adjustment. Certainly the underlying CEP8 changes are far, far larger than that.
2 - Comments in the manifest.xml make the plug-in unavailable
...
Turned out the entries didn't stop the plugin from appearing, but commenting them out did.
You must be extremely careful when commenting out lines in the CEP XML manifest files. Double-hyphens ("--") are illegal within comments in XML documents and will cause the parsing to fail. This will cause the CEP extensions to fail to load (take a look at the logs as shown in the post at that link and you'll probably see something similar).
To sidestep this issue and actually verify that there's any connection (doubtful), add a space between the hyphens when you comment them out.
3 - CSInterface version does not affect whether the plug-in appears
I tested with v6, 7 & 8 and in all cases the plugin appeared in the menu.
I'm continuing with v8.
I assume you're referring to CSInterface.js here. You're likely good to go with v8, even on v7 CEP platforms. The only changes were comments and an added safety-check.
At this point the plugin appears and runs. Some the functionality has clearly changed. Wrestling with jQuery at the moment.
But at least the plug-in is accessible, and the Chrome console is working better than ever.
This is very likely due to the fact that CEP8 includes a much newer version of the Chromium Embedded Framework (CEF) than CEP7 did. With CEP7 (and earlier) we were effectively working with Chrome 41. With the CEP8 update, we get Chrome 57. A lot changed between those versions of Chrome, especially with respect to the Chrome DevTools. At the very least, this should make debugging CEP8 a more solid experience!
Copy link to clipboard
Copied
sberic Thanks for all this. Very helpful and much appreciated.
sberic wrote
Premiopolis Your writeup is quite helpful. Let's run through these one-by-one.
Question: does the ZXPSignCmd file require an upgrade for CEP 8 as well?
Honestly, I'm not sure about this. I would suggest testing an unsigned panel. If the unsigned panel works but the signed one doesn't, then your issue is likely in the signing system and should be reported (e.g. "Unsigned panel stops working with current signing system").
I'm not aware of an upgrade, and It definitely does not require an upgrade. I've been successfully singing panels since last posting. All's ok there.
Question: is the CSInterface.js the main thing defining which CEP version?
No. The CEP version is baked into the application (see here for the table). CEP stands for Common Extensibility Platform and refers to the set of technologies that enable scripting/panel extensions across Adobe applications. In the past, CEP used to come in two flavors: Flash and HTML. Both had different interfaces that connected to the same system (presumably). The Flash interface is no longer available, leaving only the HTML one. This is also why you'll see verbiage in the documentation that reads "CEP HTML engine". This is to distinguish it from the old (dead) CEP Flash engine. To see the list of technologies that make up the CEP HTML engine, see this table.
The CSInterface.js file is simply a JavaScript-side wrapper interface to the CEP system built into the application. Adobe updates it in lock-step with the underlying CEP engine to ensure that any new features are made available. You will notice that some APIs are marked with comments like "Since 6.1.0". This means that the API became available (or was implemented/enabled on the JS side, at least) with that version of CEP - it's a hint that says "don't try to use this with earlier versions of CEP".
I would suggest comparing the CEP7 and CEP8 versions of the CSInterface.js file. From a high level, they both have the exact same number of lines. If you take a look at the diff, there are a mere 3 changes in the interface: a version number change, an added null-check, and a comment adjustment. Certainly the underlying CEP8 changes are far, far larger than that.
Question: is the CSInterface.js the main thing defining which CEP version?
No. The CEP version is baked into the application (see here for the table). CEP stands for Common Extensibility Platform and refers to the set of technologies that enable scripting/panel extensions across Adobe applications. In the past, CEP used to come in two flavors: Flash and HTML. Both had different interfaces that connected to the same system (presumably). The Flash interface is no longer available, leaving only the HTML one. This is also why you'll see verbiage in the documentation that reads "CEP HTML engine". This is to distinguish it from the old (dead) CEP Flash engine. To see the list of technologies that make up the CEP HTML engine, see this table.
The CSInterface.js file is simply a JavaScript-side wrapper interface to the CEP system built into the application. Adobe updates it in lock-step with the underlying CEP engine to ensure that any new features are made available. You will notice that some APIs are marked with comments like "Since 6.1.0". This means that the API became available (or was implemented/enabled on the JS side, at least) with that version of CEP - it's a hint that says "don't try to use this with earlier versions of CEP".
I would suggest comparing the CEP7 and CEP8 versions of the CSInterface.js file. From a high level, they both have the exact same number of lines. If you take a look at the diff, there are a mere 3 changes in the interface: a version number change, an added null-check, and a comment adjustment. Certainly the underlying CEP8 changes are far, far larger than that.
Thanks. Brilliant. And obvious... now that you say it.
2 - Comments in the manifest.xml make the plug-in unavailable
...
Turned out the entries didn't stop the plugin from appearing, but commenting them out did.
You must be extremely careful when commenting out lines in the CEP XML manifest files. Double-hyphens ("--") are illegal within comments in XML documents and will cause the parsing to fail. This will cause the CEP extensions to Re: Node Enabled by Default in 2017.1? (take a look at the logs as shown in the post at that link and you'll probably see something similar).
To sidestep this issue and actually verify that there's any connection (doubtful), add a space between the hyphens when you comment them out.
What a distinction. Double hyphens ok. Double hyphens WITHIN comments are illegal. Key distinction, and again, obvious after you point it out.
All very much appreciated.