Skip to main content
Inspiring
June 19, 2023
Answered

Deploying and releasing a plugin to the world.

  • June 19, 2023
  • 3 replies
  • 2062 views

Hi Fellow developers,

 

We are at a point that we need to think (and test) about deploying and releasing our plugin to the world.

So I'd like to know how you guys do it.

 

Do you use the adobe market or sell it yourself?

What packaging tool(s) do you use?

Are there pitfalls involved or what kind of infanty problems did you face in this domain?

Anything relevant....

 

Thx a ton in advance for taking time to answer this topic.

 

Regards,

 

Doubl3

 

This topic has been closed for replies.
Correct answer Rick E Johnson

Payment options such as Stripe (my favorite), Squarespace, and PayPal are pretty easy to incorporate.

 

There are a lot of software licensing managers out there. For those that work as a website plugin, when payment is completed on your website, activation codes are automatically generated for the relevant products and emailed to the customer.

 

Next, you'll need to make a connection between the user's plugin and your license database. Your plugin should send an HTTP POST activation request to your website. I don't think HTTP functions are part of the SDK. As I said earlier, using a portal script to communicate with your license manager means your plugins won't be hard-coded for (married to) only one license manager. 😉

 

Next, your plugin needs to respond to the returned POST to switch from demo mode to licensed mode.

 

You can, of course, store settings in Illustrator's preferences, but if the user deletes the preferences or upgrades to a new version of Illustrator, the info won't be there anymore. I recommend storing license status in an encrypted license file, and storing your plugin's preferences in your own preferences file.

 

Encryption, HTTP POST and GET, registration, and JSON-formatted preferences are all built into CORE which made it easy for me. If you incorporate them, I'd like to hear how you did it.

3 replies

A. Patterson
Inspiring
June 25, 2023

Sorry, late to this thread -- been sick all week -- but we use a full blown installer using WiX and a custom written installer start screen (basically a window that lets you pick a language and then runs an MSI). But our plugin is probably far more complicated than all but maybe two or three third party plugins in the world.

 

If you're just looking to deploy CEP & a plugin, ZXP might suit you, even if you're not using Adobe Exchange. It still lets you just double-click install (I think! It's been a while!). We worked with Adobe years ago to try and use ZXP, but we had way too many components that had to go to the right place for it to work. But it should handle a 'standard' plugin without many (or any) dependencies and a supported UI framework.

A. Patterson
Inspiring
June 25, 2023

Oh, and our plugins require a license or trial, which you can receive in-application. We use a third party licensing system that I've heavily wrapped in our own custom code & UI. So not something that is easily replicated. For years we just used an 'enter a code' system which had a built in end date (or not), indicated the feature level and could be verified as valid or not. We left that behind about twenty years ago, but it might be a good solution. Though it it won't work if your code is readily available. If the code isn't obfuscated somehow, any licensing will heavily rely on good ill 🙂

Inspiring
June 21, 2023

I'm also a first-time, - to be - , deployee.  Maybe someone can fill me(us) in but from what I understand you need a licence service that generates licences and then use API to register/check within your plugin. You need atleast two sign certificates, one for windows and one for mac to "sign" your files with your certificate. You need to get around installers for both Win/Mac and as @Rick E Johnson mentioned this could get complicated if you have many variables to consider.

Rick E Johnson
Inspiring
June 22, 2023

Regarding distributing .aip plugins:

 

For macOS, you need to be a member of the Apple Developer program ($99/year) in order to notarize your compiled code. This lets other Mac users know that the code meets certain criteria and is from a known developer. Apple's Xcode compiler is free.

 

For Windows, just compile it with MS Visual Studio (not free) and the plugins are ready to install by dragging to the Plug-ins folder.

 

Regarding licensing:

 

If your plugins aren't free, there are a lot of ways to handle that. For example:

 

1) People can mail you money, then you email them the plugin. It can be totally unlocked or custom-compiled to run only on the customer's computer.

 

2) You can devise an algorithm of some kind, then add code to your plugin to determine whether it has been given permission to run.

 

3) Use commercial licensing software, which requires your plugin to be coded to communicate with it. I recommend having your plugin communicate with your own server script, which in turn communicates with the licensing software. That gives you the option to change your licensing system or even write your own, so you're not at the mercy of another entity that could (surprise!) suddenly go out of business and everything stops working or (surprise!) double or triple their subscription fees.

 

Message me if you have specific questions, and I'll do my best to help.

Inspiring
June 22, 2023

A couple of questions.

Does the Visual Studio output .aip Work on both PC and Mac? or do they need to be separate since they're signed/notarized differently?

 

Do you bundle both 32 and 64 bit versions of your plugin? Are people still using 32-bit?

Rick E Johnson
Inspiring
June 20, 2023

Do you plan to charge for it and use an online activation process? My system wouldn't work well if sold through Adobe Exchange. People download a zip file from the site and (except for the freeare offerings) purchase licenses there, then the plugins activate/authenicate via the internet.

 

I've looked into installers, but found it to be a bit complicated to adapt someone else's scripting rules to support multiple versions of the plugin for multiple versions of Illustrator in various locations and on multiple platforms. Maybe I just gave up too easily, but users need to drag the plugin from their Downloads folder to the appropriate Plug-ins folder. I hope that helps.

Inspiring
June 21, 2023

What type of plugin did you deploy? aip only? extension+jsx+aip?

Rick E Johnson
Inspiring
June 22, 2023

I only do .aip plugins, c++ using CORE. I could be wrong, but I've gone on the premise that plugins are .aip files that go into the Plug-ins folder, and anything else is either a script or an extension. Therefore, I presumed that Doubl3 was developing an .aip plugin as well, but now I'm not so sure.