Important

You are browsing documentation for version 6.1 of OroCommerce, supported until 2029. Read the documentation for the latest LTS version 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 Extensions Store 

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

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

Package Preparation 

Before you add an extension to the Oro Extensions Store, prepare the package and upload it to a repository.

You can publish paid extensions anywhere. Their publishers are fully responsible for packaging, distribution, and payment processing.

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

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

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

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

Adding an Extension 

To add an extension, you must be logged in to the Oro Extensions Store website. You can reach the Add Extension page via the user menu in the top-right corner or via the link on the My Marketplace page.

First, choose an extension type: paid or free. Free extensions also require the repository URL. Then click Next to proceed to the second step.

Free Extensions 

If you create the extension package according to our specification, our Packagist application automatically processes most extension information attributes and takes them from GitHub. You can still edit them if you want. 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 only have to specify the Extension Name, choose a default image, and specify categories.

After you publish the application, it appears on the My Marketplace page in Pending status. The status changes shortly after our administrator reviews the extension and allows it into the Oro Extensions Store. Admin review is necessary only for the initial publication; all subsequent changes are published immediately without admin approval.