Marketplace requirements

Permalink
Hi,

I'm currently developing some add-ons for the marketplace but I need some advice before I finish and submit them. The add-ons use SDK's from Sendgrid and Mailgun. These SDK's require the Guzzle Http library which is not a part of Concrete. Guzzle on it's turn has a couple of small dependancies too. So I integrated the Guzzle library in the add-ons (actually in one add-on, the other ones depend on this add-on and use that Guzzle library).

I've been browsing the requirements for Marketplace submission but I'm not quite sure how you guys stand on using external libraries. Also, the libraries require PHP 5.4 or higher while Concrete5.7's PHP version is 5.3 or higher. Is this a dealbreaker or can the add-ons be submitted if this requirement is clearly stated on the add-on marketplace page? Also, the code used in the external libraries does not meet Concrete's requirements concerning the usage of file-operation functions and the C5_EXECUTE-statement of course. Is that also an issue? More particular : if external libraries can be used, which requirements for add-ons also apply to these libraries?

I could call the api's with my own curl-code but the vendors advise using the SDK which is a more favorable approach in reducing the number of possible bugs.

Justin1978
 
Mnkras replied on at Permalink Reply
Mnkras
1. I personally include guzzle with my addons (I use composer to manage dependencies in my packages) you can submit them as separate but we would prefer adds to be self contained.

2. As long as the licensing for the 3rd party code is followed, we have no issues with external libraries

3. 5.4 is not a deal breaker, if you clearly specify that 5.4+ is required on the marketplace page and you add a check on addon installation, that is fine.

4. 3rd party libraries do not need to follow c5's standards or API, we will grant exemptions.

Let me know if you need anything else answered!

Mike
JohntheFish replied on at Permalink Reply
JohntheFish
A clarification for anyone wondering about PHP versions.

A PHP version requirement above the usual marketplace requirement is only acceptable where libraries or other functionality absolutely requires it. So its an acceptable constraint in the above situation because the addon(s) would not be possible without using the libraries that require PHP5.4.

However, where functionality can be achieved using the c5 minimum versions (PHP 5.2 for c5.6, PHP 5.3 for c5.7), then any code submitted to the marketplace should be compatible with those minimum PHP versions.

For example:
- 'I use the latest code structures of PHP5.4' is not a valid reason for an exemption.
- 'My addon uses an external library that requires PHP5.4' is a valid reason for an exemption.