Important

You are browsing the documentation for version 3.1 of OroCommerce, OroCRM and OroPlatform, which is no longer maintained. Read version 5.1 (the latest LTS version) of the Oro documentation to get up-to-date information.

See our Release Process documentation for more information on the currently supported and upcoming releases.

Add an Extension to Oro Marketplace

The Oro marketplace is the place where developers can publish their extensions and customers can obtain them.

There are two types of extensions in the Oro Marketplace: free and paid. Free extensions are distributed directly from the Marketplace, whereas paid extensions must be purchased from the publisher’s website.

Package Preparation

Before you add an extension to the Marketplace you have to prepare the package and upload it to some repository.

Paid extensions can be published anywhere. Their publishers are fully responsible for proper packaging, distribution and payment processing.

All free extensions can be published on any publicly available git repository (GitHub, BitBucket, etc.). We strongly recommend to publish all releases with tags – this will allow our packagist application to pick up release notes, version history and contents of the readme.md file.

Every package must contain a composer.json file in the root catalogue. This file in turn must contain information about the application, its author and distribution license, as shown in the example below:

1{
2    "name": "oro/crm-application",
3    "description": "The OroCRM distribution",
4    "homepage": "https://github.com/orocrm/crm-application.git",
5    "license": "OSL-3.0"
6}

We only accept extensions under OSL-3 or MIT licenses.

Adding an Extension

To be able to add an extension you have to be logged in to tho OroCRM Marketplace website. The Add Extension page can be reached via the user menu in the top right corner of the page or via link on the My Marketplace page.

First thing you have to do is to choose an extension type: paid or free. Free extensions also require the repository URL. Then click Next to proceed to the second step of adding an extension.

Free Extensions

If an extension package has been properly created according to our specification, most of extension information attributes will be automatically processed by our Packagist application and taken from GitHub, though you will still be able to edit them if you want to. Here is the list of fields and their sources:

  • Extension Key – taken from name in the composer.json file

  • Short Description – taken from description

  • Description – taken from the contents of readme.md on GitHub

  • Release Notes – taken from GitHub Release Notes (if tags are used)

  • Previous Versions – taken from version history on GitHub (if tags are used)

This means you will only have to specify the Extension Name, choose a default image, and specify marketplaces and categories.

After you have published the application it will appear on the My Marketplace page in Pending status. The status will be changed shortly after our administrator reviews the extension and allows it to the Marketplace. Note that admin review is necessary only for the initial publication; all subsequent changes will not require admin approbation and will be published immediately.